<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.editablethis.$set(this.dataList,index,item)//注意这句不能省略
},
cloneDeep:在很多情况下,我们都需要给变量赋值,给内存地址赋予一个值,但是在赋值引用值类型的时候,只是共享一个内存区域,导致赋值的时候,还跟之前的值保持一致性。