vxe-table動態(tài)渲染列,刷新列寬的方式
更新時間:2025年04月24日 09:32:55 作者:six+seven
這篇文章主要介紹了vxe-table動態(tài)渲染列,刷新列寬的方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
vxe-table動態(tài)渲染列,刷新列寬方式
背景
使用vxe-table渲染表格,支持列選和拖拽列寬,并可按用戶記憶,支持一鍵恢復默認列選、列寬,因此使用v-for動態(tài)渲染列。
當點擊一鍵恢復的時候,需要恢復成默認的列選及列寬。
問題
使用vxe-table,用v-for渲染列,修改列寬調用vxe提供的refreshColumn和recalculate方法都不生效。表格列寬沒有重新渲染。
解決方案
利用vue觸發(fā)重新渲染的機制,給表格綁定key為隨機生成的字符串,當點擊一鍵恢復時,重新生成一段新的隨機字符串賦值給表格綁定的key,這樣就會觸發(fā)表格的重新渲染。
代碼示例
<template>
<vxe-table
ref="table"
:key="tableKey"
:data="tableData"
border>
<vxe-column
v-for="item in showColumns"
:key="item.field"
:field="item.field"
:type="item.type"
:title="item.title"
:fixed="item.fixed"
:align="item.align"
:sortable="item.sortable ? item.sortable : false"
:formatter="item.formatter"
:class-name="item.class"
:show-overflow="item.overflow ? item.overflow : 'tooltip'"
:visible="item.visible"
>
</vxe-column>
</vxe-table>
</template>
export defalut {
data(){
tableKey:Math.random()
},
methods:{
refreshTable(){
this.tableKey = Math.random()
},
}
}總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
詳解vue與后端數據交互(ajax):vue-resource
本篇文章主要介紹了詳解vue與后端數據交互(ajax):vue-resource,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03
淺談在vue中用webpack打包之后運行文件的問題以及相關配置方法
下面小編就為大家分享一篇淺談在vue中用webpack打包之后運行文件的問題以及相關配置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
element-ui重置resetFields()不生效的解決
本文主要介紹了element-ui重置resetFields()不生效的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-12-12

