Element 懒加载表格el-table数据实现全选功能

<el-table 
          v-loading="loading.list"
          ref="table"
          :data="tableData"
          style="width: 100%"
          max-height="400"
          border
          lazy
          row-key="key"
          :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
          :load="load"
          :header-cell-class-name="cellClass"
          @select="selectRow"
          @selection-change="selectionChange"
                    @select-all="selectAll">
          <el-table-column
            type="selection"
            width="55">
          </el-table-column>
          <el-table-column prop="key" label="编号"></el-table-column>
          <el-table-column prop="identityName" label="姓名"></el-table-column>
        </el-table>
data() {
    return {
      form: {
        dimId: 1,
        name: '',
        key: '',
        tenantId: ''
      },
      treeData: [],
      tableData: [],
      loading: {
        tree: false
      },
      multipleSelection: [],
      tableAllData: [], // 存储所有的表格数据
      checkAll: false, // 判断当前是否全选
    } 
  },
// 全选
selectAll(selection) {
      this.checkAll = !this.checkAll;
      this.tableAllData.map(row => {
        this.$refs.table.toggleRowSelection(row, this.checkAll);
      })
}, async load(row, treeNode, resolve) {
try { let self = this; let params = { parentId: row.groupId, groupId: row.groupId } const data = await getOrganizeList({ ...self.form }, params) let arr = data.map(item => { return { ...item, hasChildren: item.childs && item.childs > 0, children: [] } }) this.tableAllData = this.tableAllData.concat(arr) // 保存表格数据 resolve(arr) return } catch (error) { console.log(error) } },

 

posted @ 2020-11-30 17:29  爱放屁的菜鸟  阅读(3829)  评论(0编辑  收藏  举报