例如:点击小铅笔时
当前模块变成:“等级下拉框”
这当时考虑了很久,,一开始是在data中写的isShow,结果一点击,所有列都成了“等级下拉框”,也是进行百度后才完成了这个小小的功能,我的技术还是不够好,怕忘了在这里记录一下,顺便给需要的伙伴做参考。
下来是解决方案(Vue2环境)
这是循环体中的一个td
//上面已经进行了tr的v-for循环了,item是循环出来的
<td>
<!-- 当isShow是false时展现的 -->
<span class="level" v-if="!item.isShow">
<!-- 铅笔图标 -->
<i class="el-icon-edit" @click="switchLevel(item)"></i>
<!-- v-for循环出来的内容(这里是0) -->
{{ item.level }}
</span>
<!-- 当点击小铅笔时,使得isShow是true时展现的等级下拉框 -->
<span v-else>
<el-dropdown trigger="click">
<span class="el-dropdown-link">
等级<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>致命</el-dropdown-item>
<el-dropdown-item>高危</el-dropdown-item>
<el-dropdown-item>中危</el-dropdown-item>
<el-dropdown-item>低危</el-dropdown-item>
<el-dropdown-item>信息</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span>
</td>
给小铅笔进行绑定一个点击事件
switchLevel(item) {
//判断有没有isShow
if (!item.isShow) {
//如果没有,就用$set属性给v-for出来的item添加一个isShow为false
this.$set(item, "isShow", false);
item.isShow = !item.isShow;
} else {
item.isShow = !item.isShow;
}
},
这样就可以实现了