vue使用vue.set方法成功,但是页面没有渲染成功

本文介绍如何在Vue中使Element UI的表格高度随浏览器窗口大小自适应,并使用$forceUpdate解决页面渲染不及时的问题。适用于动态调整布局或数据变更后的视图更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我这里的是设置table的max-height高度随着浏览器的变化而变化:

<el-table ref="multipleTable" :data="PageData.data" tooltip-effect="dark" class="table_top" :max-height="$Config.tableHeight" v-loading="loading" border>
      <el-table-column v-for="(item,index) in datas" :key="index" :show-overflow-tooltip="item=='goods_name'" :width="item==='goods_price'?'120px':''" :formatter="listtitle_inner" :label="item|capitalize" align="center" header-align="center">
        <template slot-scope="scope">
     	。。。
        </template>
      </el-table-column>
    </el-table>

最开始的时候:

 	var APP = this;
    APP.$Config.tableHeight = APP.getTableHeight("table_top", 150);
    window.onresize = () => {
      APP.$Config.tableHeight = APP.getTableHeight("table_top", 150);
    }

这时候值都是改变了,但是页面上的table的高度并没有随之而改变,这时候加上**APP.$forceUpdate();**就可以实现

APP.$forceUpdate();

有些时候通过v-for来循环出列表,但是想要改变某些值的时候,使用$set值是改变了,但是页面没有渲染,使用这个也是可以的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值