vxe-table或element-table动态列无法渲染问题

废话不多说,直接上代码

this.tableFrom.tableData.forEach((val) => {
          if (val[addDataColumn] == undefined) {
            this.$set(val, addDataColumn, '34')
          }
        })
Vue Element-Plus (vxe-table) 是一个基于 Vue.js 的强大表格组件,它提供了丰富的功能和高度可定制性。如果你想要动态设置 vxe-table 表体 (body-wrapper) 的高度,通常在 Vue 组件中,你可以通过以下步骤实现: 1. **监听数据变化**:确保你的表格数据源(例如 `tableData`)或者是影响行数的因素(如分页、排序)发生变化时,你需要重新计算并更新高度。 ```javascript <template> <vxe-table :data="tableData" ref="tableRef"> <!-- ...其他配置 --> </vxe-table> </template> <script> export default { data() { return { tableData: [], // 假设这是你的表格数据 tableHeight: 0, // 初始或默认高度 }; }, computed: { dynamicTableHeight() { // 计算并返回动态高度,可以根据实际数据长度和每行的高度计算 const numRows = this.tableData.length; const rowHeight = 30; // 假设每行高度为30px,你可以根据实际元素尺寸修改 return numRows * rowHeight; }, }, watch: { tableData(newData, oldData) { this.$nextTick(() => { if (newData !== oldData) { this.$refs.tableRef.updateBodyHeight(this.dynamicTableHeight); } }); }, }, }; </script> ``` 2. **使用 `updateBodyHeight` 方法**:当你获取到新的高度后,调用 `updateBodyHeight` 方法来更新组件的实际高度。这个方法通常在 Vue 组件的 `$nextTick` 中调用,以确保数据变化后的DOM更新已经完成。 ```javascript // ... methods: { updateTableHeight() { this.$refs.tableRef.updateBodyHeight(this.dynamicTableHeight); }, }, // ... ``` 3. **处理初始化或重新渲染**:如果需要在表格初始化时设置高度,可以在 `mounted` 或者 `created` 生命周期钩子里调用 `updateTableHeight`。如果是响应式调整,只需在数据变化监听器里更新即可。 相关问题: 1. 如何在Vue中使用watcher监听数据变化? 2. `$nextTick` 在Vue中的作用是什么? 3. 更新表格高度时,为什么要使用 `updateBodyHeight` 方法?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员阿明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值