Fork me on Bolg '◡'

iview表格expand的使用方法

实现样式

实现方法

table

    <Table
      ref="table"
      :columns="cloumns"
      :data="data"
      @on-selection-change="selectTable"
    >
    </Table>

cloumns

cloumns: [
        {
          type: 'selection',
          width: 60,
          align: 'center'
        },
        {
          type: 'expand',
          width: 50,
          render: (h, params) => {
            return h(TableExpand, {
              ref: `tableItem${params.index}`, // 定义ref用于执行子组件的方法
              props: {
                row: params.row.childrenList,
                taskList: this.taskList,  
                guildNameMap: this.guildNameMap
              },
              on: {
                updateRow: (rowData) => {
                  this.updateData(params.index, rowData) // 子组件可以执行父组件的方法
                }
              }
            })
          }
        },
        ...
       ]

通信

// TableExpand
 updateRow () {
      this.$emit('updateRow', this.data);
 }
// Table
// 需要更新下数据
 assignData.forEach(unit => {
    unit.childrenList = this.$refs.table.$refs.tbody.$refs[`tableItem${unit.index}`].getData
 })
posted @ 2022-11-27 15:57  webhmy  阅读(789)  评论(0编辑  收藏  举报