<template slot-scope="{row,$index}" slot="menu">
<el-button v-if="row.editable" type="text" size="small" @click="changeStatus(row,$index)">编辑</el-button>
<el-button v-else type="text" size="small" @click="changeStatus(row,$index)">保存</el-button>
</template>
import { cloneDeep } from "lodash";
changeStatus(row,index){
let item = cloneDeep(this.dataList[index]);// let item = this.dataList[index];//注意直接 这么写不生效,地址内存空间不变
item.editable = !row.editable
this.$set(this.dataList,index,item)//注意这句不能省略
},
cloneDeep:在很多情况下,我们都需要给变量赋值,给内存地址赋予一个值,但是在赋值引用值类型的时候,只是共享一个内存区域,导致赋值的时候,还跟之前的值保持一致性。文章来源地址https://www.toymoban.com/news/detail-634244.html
文章来源:https://www.toymoban.com/news/detail-634244.html
到了这里,关于elementUI点击当前行更改当前行状态(数据更新DOM不更新问题解决)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!