el-table expand-change 第一次点开不显示,第二次点击才显示

需求是点击后请求接口数据,然后展示在下方

截图20211110165600.png

使用的是expand-change事件处理。

  1. 直接往表格中每一行添加的一个字段,用于在下方展示。表格出现了需要点击两下,表格才会重新刷新。 使用了dolayoutthis.$forceUpdate() 都没有作用。
    解决办法:后来采用的是将表格重新赋值。2. 表格出现可以刷新,但是会闪一下,并且点不开。
    解决办法:后面加上 row-key="id",正常了
  <el-table ref="table" row-key="id" :data="rows" size="mini" header-cell-class-name="header-bg" @expand-change="load">
    <el-table-column type="expand">
      <template slot-scope="scope">
          //表格点击后中展示的地方
      </template>
    </el-table-column>
    <el-table-column label="出发港" width="100">
      <template slot-scope="scope">
        {{ scope.row.pol }}
      </template>
    </el-table-column>
  </el-table>
    async load(row) {
      const res = await matrixDetail.get({ matrixId: row.id })
      const tables = this.rows
      tables.forEach((item, index) => {
        if (item.id === row.id) {
          item['units'] = res.content
        }
      })
      this.rows = JSON.parse(JSON.stringify(tables))
    },
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容