vue数据更新table内容不更新解决方法

场景:

table组件绑定的数据变化时,页面没有重新渲染,常见于子组件中使用table组件

原理:

创建实例时 数组在vue中没有被监听到,属于非响应式数据,数组的下标变化无法监听到

解决方式:

js 复制代码
    <el-table
          :key="tamptime"
          stripe
          border
          fit
          height="450"
          :data="tabledata"
          style="width: 100%"
        >
          <el-table-column
            v-for="i in pretabledatacolumn"
            :key="i.index"
            show-overflow-tooltip
            :prop="i"
            :label="i"
            width="230"
          />
        </el-table>

data(){
    return {
        tabledata:[],
        pretabledatacolumn:[],
        tamptime:new Date().valueOf()
    }
}
methods:{
	changeTableData(){
		this.tabledata = []
	}
}

1、利用vue中重写的数组方法

splice,split,concat...

js 复制代码
changeTableData(){
	this.tabledata.splice(1,0)
}

2、为table绑定一个key,数据变化时更改key值,或者使用v-if绑定一个不重复的值触发组件渲染

js 复制代码
changeTableData(){
		this.tamptime = new Date().valueOf()
		this.tabledata = newtabledata
	}

3、使用$set()

js 复制代码
changeTableData(){
	this.$set(tabledata,1,'newvalue')
	}
相关推荐
TU不秃头18 小时前
JS逆向实战五:某海关公示平台分析(瑞数加密)
javascript·爬虫
anOnion21 小时前
构建无障碍组件之Carousel Pattern
前端·html·交互设计
ssshooter21 小时前
Tauri 2 iOS 开发避坑指南:文件保存、Dialog 和 Documents 目录的那些坑
前端·后端·ios
Можно1 天前
深入理解 ES6 Proxy:与 Object.defineProperty 的全面对比
前端·javascript·vue.js
Birdy_x1 天前
接口自动化项目实战(1):requests请求封装
开发语言·前端·python
天天向上10241 天前
vue el-table实现拖拽排序
前端·javascript·vue.js
西西学代码1 天前
Flutter---回调函数
开发语言·javascript·flutter
卷帘依旧1 天前
JavaScript 闭包经典问题:为什么输出 10 次 i=10
javascript
柳杉1 天前
Three.js × Blender:从建模到 Web 3D 的完整工作流深度解析
前端·javascript·数据可视化
reembarkation1 天前
vue3中使用howler播放音频列表
前端·vue.js·音视频