实现一个功能:打开dialog,dialog内包含一个el-table,该el-table的数据是动态变化的,且该el-table默认全选。

实现前提:

1、表格组件指定别名ref,并且绑定数组gridData,如下:

<el-table ref="itemTable" :data="gridData">

2、设置表格支持多选,需要添加多选列,如下:

<el-table-column type="selection"></el-table-column>

3、在获取后台数据后,设置表格全选:

 this.$nextTick(function () {
          // 设置表格所有行全部选中
          this.$refs.itemTable.toggleAllSelection()
        })

4、也可以另外一种形式设置全部选中,可也使用此种方式设置部分选中,如下:

this.$nextTick(function () {
          for (let i = 0; i < this.gridData.length; i++) {
            this.$refs.itemTable.toggleRowSelection(this.gridData[i], true)
          }
        })

注意:在设置默认选中时,所有操作需要在表格数据更新后,写在vue的nextTick方法体内,因为更新了表格绑定的gridData数组并不等于表格数组DOM更新完成,可以参考VUE官方的解释:

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐