elementUI点击当前行更改当前行状态(数据更新DOM不更新问题解决)

复制代码
<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:在很多情况下,我们都需要给变量赋值,给内存地址赋予一个值,但是在赋值引用值类型 的时候,只是共享一个内存区域,导致赋值的时候,还跟之前的值保持一致性。

相关推荐
10岁的博客8 分钟前
Chrome 扩展安全攻防实录:从权限模型到真实漏洞复盘
前端·chrome·安全
QianhangQianping22 分钟前
WebSocket实时推送+ HTTP 定时轮询:一块大屏两套取数怎么不打架
前端·websocket·网络协议·http·低代码·架构·数据可视化
Eider199830 分钟前
Python基础知识之并发相关-2
开发语言·前端·python
用户693717500138432 分钟前
AI 能写代码,但工程架构还是应该由人来定
前端·后端
Hilaku40 分钟前
前端的技术判断力是怎么练出来的?
前端·javascript·程序员
悠仁さん42 分钟前
【C++】set map 使用
java·前端·c++
用户093671755411 小时前
用 4500 行 TypeScript 复刻了童年方格纸上的海战棋
前端·vue.js
CCIE-Yasuo1 小时前
网络安全-学习web开发-基础概念、常用标签
前端·学习
凉介川1 小时前
给 DeepSeek Harness 写插件:按扩展名接管 Windows 右键打开
前端
涛涛ing1 小时前
Pretext之后,2026年的前端正在被“平台”和“AI”同时重写
前端