王多静

这里是我的记事本

导航

el-table数据多页面卡, 改用展开行(自用)

原因:页面是20条数据, 而且是合并单元格(里面两次循环). 接口返回的很快, 但是items数据比较庞大300-2000条,.

合并单元格之前需要循环处理数据, 导致页面除了table外的其他地方也比较卡. 

尝试:试过网上其他的但是都不凑效, <pl-table>是很流畅, 但是只适合没有合并的表格.

 

不得已的解决办法:

①最后只能改为展开行显示(数量大且合并单元格的, 需要跟产品商量样式, 以后遇到也要有印象!!!!!)

②每个页面渲染10条数据

 

 

代码结构:

column1和column2 在数据那里定义
 <el-row>
      <el-table
        v-loading="loading"
        size="small"
        :data="tableData"
        ref="tableData"
        tooltip-effect="dark"
        style="width: 100%"
        max-height="600"
      >
        <el-table-column type="expand">
          <template slot-scope="props">
            <!-- 子table -->
            <el-table
              size="small"
              :data="props.row.items"
              tooltip-effect="dark"
              style="width: 100%"
              border
              stripe
              max-height="600"
            >
              <el-table-column
                v-for="(item, index) in column2"
                :key="index"
                :label="item.title"
                :prop="item.key"
                align="center"
                :fixed="item.fixed"
                :min-width="item.width ? item.width : 120"
              >
              </el-table-column>
            </el-table>
          </template>
        </el-table-column>
        <el-table-column
          v-for="(item, index) in column1"
          :key="index"
          :label="item.title"
          :prop="item.key"
          align="center"
          :fixed="item.fixed"
          :min-width="item.width ? item.width : 120"
        >
        </el-table-column>
      </el-table>
    </el-row>

 

 

 其他参考

①pl-table地址,他们推广的比较多: https://developer.aliyun.com/mirror/npm/package/pl-table

 

②其他参考https://forum.vuejs.org/t/element-ui-table/32859/32

posted on 2020-11-26 11:44  王多静  阅读(1213)  评论(0编辑  收藏  举报