当前位置:   article > 正文

解决 elementUI 的 table 表格改变数据不更新问题 解决 vue数据不更新问题 element-ui 表格数据不更新_elementui 表格更新

elementui 表格更新

<template>
  <el-table
  	ref="table"
    :data="tableData"
    border
    style="width: 100%">
    <el-table-column
      prop="date"
      label="日期"
      width="180">
    </el-table-column>
    <el-table-column
      prop="name"
      label="姓名"
      width="180">
    </el-table-column>
    <el-table-column
      prop="address"
      label="地址">
    </el-table-column>
  </el-table>
  <el-button @click="changeRowData"></el-button>
</template>

<script>
  export default {
    data() {
      return {
        tableData: [{
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }, {
          date: '2016-05-04',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1517 弄'
        }, {
          date: '2016-05-01',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1519 弄'
        }, {
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        }]
      },
      methods: {
      		// 改变第一行数据
			changeRowData(){
				this.tableData[0].name = 'zz'
				// 数据并不会更新
			},
		}
    }
  }
</script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56

1、随便调用 页面其他事件 达到页面改变刷新数据 (推荐)

利用 v-if这些都是一个逻辑,都是改变事件,达到数据刷新,没必要用 v-if 消耗性能

      		// 改变第一行数据
			changeRowData(){
				this.tableData[0].name = 'zz'
				// 数据并不会更新, 随便调用一下页面事件,什么事件都可以,聚焦等都可以,这里使用 element 表格自带的高亮行事件
         		 this.$refs.table.setCurrentRow(this.tableData[0])
			},

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2、使用 this.$set(this.data,index,row)

比较耗性能

      		// 改变第一行数据
			changeRowData(){
				this.tableData[0].name = 'zz'
				this.$set(this.tableData,0,this.tableData[0])
			},

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号