element中el-table,type=‘expand‘展开行,@expand-change=“ “事件动态数据刷新问题

最近在写项目的时候,有个使用el-table内嵌动态ul的功能需求,同时里面的ul数据是动态获取的,动态获取动态展开

展示后如图

按照element的table里面的方法,行属性设置了type='expand',也在table里面添加了@expand-change="expandChange"时间监听展开行事件,在监听时间里面动态获取数据赋值给里面展开的table,
问题出现了,第一次点开没数据,第二次点开才有数据

我也百度了很多,最后参考了https://segmentfault.com/a/1190000022758516博主的内容,在我的代码上稍加改动,如下

// An highlighted block

<el-table v-show="DataShow"

ref="we"

:data="Data"

border

stripe

style="width: 100%"

:header-cel
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Element UI,要展开`el-table`表格,你可以使用`expand-row-keys`属性来控制展开。首先,你需要在表格的数据添加一个属性用于标识是否展开,比如命名为`expanded`。然后,在`el-table`组件上添加`expand-row-keys`属性,并将其绑定到一个数组,用于存储展开的唯一标识。最后,在表格的列配置,使用`scoped-slot`来自定义展开的内容。 下面是一个示例代码: ```html <template> <el-table :data="tableData" :expand-row-keys="expandedRows" @expand-change="handleExpandChange" > <!-- 自定义展开内容 --> <template v-slot="{ row }"> <el-form :inline="true"> <el-form-item label="姓名"> {{ row.name }} </el-form-item> <el-form-item label="年龄"> {{ row.age }} </el-form-item> <!-- 其他表单项 --> </el-form> </template> <!-- 表格列配置 --> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="age" label="年龄"></el-table-column> <!-- 其他列配置 --> </el-table> </template> <script> export default { data() { return { tableData: [ { name: '张三', age: 18, expanded: false }, { name: '李四', age: 20, expanded: false }, // 其他数据 ], expandedRows: [] // 存储展开的唯一标识 }; }, methods: { handleExpandChange(row, expanded) { // 当展开变化时更新expandedRows数组 if (expanded) { this.expandedRows.push(row); // 将展开添加到数组 } else { const index = this.expandedRows.findIndex(item => item === row); if (index > -1) { this.expandedRows.splice(index, 1); // 从数组移除收起的 } } } } }; </script> ``` 这是一个基本的示例,你可以根据你的实际需求自定义展开内容和其他列配置。请注意,你需要根据实际情况修改表格数据和列配置的属性名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值