el-table展开行,@expand-change=“expandChange“第一次没办法出现,第二次数据就出现了

主要原因其实就是tableData数据里面没有对应的数组,你通过后面push进去的不是实时的,只要从后端接口请求到之后,修改一下里面的参数就行,使用map往里面添加一个空数组。

res.data.list.map(item => {
  item.expandList = []
})
this.tableData = res.data.list

然后再将展开行里面请求到的数据,赋值进去

this.tableData.forEach(item => {
  if(item.id == row.id){
   item.expandList = res.data.detail
  }
})
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用`el-table`的`expand-row-keys`属性来实现展开,并在展开中再嵌套一个`el-table`来实现嵌套表格的效果。具体实现步骤如下: 1. 在父组件中引入`el-table`和需要展示的子组件。 ``` <template> <el-table :data="tableData" :expand-row-keys="expandRowKeys"> <!-- 父表格的列 --> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="age" label="年龄"></el-table-column> <el-table-column type="expand"> <!-- 展开中嵌套的子表格 --> <child-table></child-table> </el-table-column> </el-table> </template> <script> import ChildTable from './ChildTable.vue' export default { components: { ChildTable }, data() { return { tableData: [{ name: '张三', age: 18 }, { name: '李四', age: 20 }], expandRowKeys: [] } } } </script> ``` 2. 在子组件`ChildTable`中也使用`el-table`来展示数据。 ``` <template> <el-table :data="tableData"> <el-table-column prop="subject" label="科目"></el-table-column> <el-table-column prop="score" label="分数"></el-table-column> </el-table> </template> <script> export default { data() { return { tableData: [{ subject: '语文', score: 90 }, { subject: '数学', score: 85 }] } } } </script> ``` 3. 在父组件中监听展开的事件,并记录展开的`key`值,用于判断哪些需要展开子表格。 ``` <template> <el-table :data="tableData" :expand-row-keys="expandRowKeys" @expand-change="handleExpandChange"> <!-- 父表格的列 --> </el-table> </template> <script> import ChildTable from './ChildTable.vue' export default { components: { ChildTable }, data() { return { tableData: [{ name: '张三', age: 18 }, { name: '李四', age: 20 }], expandRowKeys: [] } }, methods: { handleExpandChange(row, expandedRows) { // 获取展开的key值 const keys = expandedRows.map(row => row.key) // 更新展开的key值 this.expandRowKeys = keys } } } </script> ``` 这样就可以实现在`el-table`中展开,并在展开中嵌套另一个`el-table`来展示子数据的效果了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值