vxe-table動態(tài)渲染列,刷新列寬的方式
vxe-table動態(tài)渲染列,刷新列寬方式
背景
使用vxe-table渲染表格,支持列選和拖拽列寬,并可按用戶記憶,支持一鍵恢復(fù)默認(rèn)列選、列寬,因此使用v-for動態(tài)渲染列。
當(dāng)點擊一鍵恢復(fù)的時候,需要恢復(fù)成默認(rèn)的列選及列寬。
問題
使用vxe-table,用v-for渲染列,修改列寬調(diào)用vxe提供的refreshColumn和recalculate方法都不生效。表格列寬沒有重新渲染。
解決方案
利用vue觸發(fā)重新渲染的機(jī)制,給表格綁定key為隨機(jī)生成的字符串,當(dāng)點擊一鍵恢復(fù)時,重新生成一段新的隨機(jī)字符串賦值給表格綁定的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() }, } }
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解vue與后端數(shù)據(jù)交互(ajax):vue-resource
本篇文章主要介紹了詳解vue與后端數(shù)據(jù)交互(ajax):vue-resource,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03淺談在vue中用webpack打包之后運行文件的問題以及相關(guān)配置方法
下面小編就為大家分享一篇淺談在vue中用webpack打包之后運行文件的問題以及相關(guān)配置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02element-ui重置resetFields()不生效的解決
本文主要介紹了element-ui重置resetFields()不生效的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12