当前位置:   article > 正文

vxe-table动态渲染列,刷新列宽_vxetable刷新

vxetable刷新
背景:

使用vxe-table渲染表格,支持列选和拖拽列宽,并可按用户记忆,支持一键恢复默认列选、列宽,因此使用v-for动态渲染列。当点击一键恢复的时候,需要恢复成默认的列选及列宽。

问题:

使用vxe-table,用v-for渲染列,修改列宽调用vxe提供的refreshColumn和recalculate方法都不生效。表格列宽没有重新渲染。

解决方案:

利用vue触发重新渲染的机制,给表格绑定key为随机生成的字符串,当点击一键恢复时,重新生成一段新的随机字符串赋值给表格绑定的key,这样就会触发表格的重新渲染。

代码示例:
  1. <template>
  2. <vxe-table
  3. ref="table"
  4. :key="tableKey"
  5. :data="tableData"
  6. border>
  7. <vxe-column
  8. v-for="item in showColumns"
  9. :key="item.field"
  10. :field="item.field"
  11. :type="item.type"
  12. :title="item.title"
  13. :fixed="item.fixed"
  14. :align="item.align"
  15. :sortable="item.sortable ? item.sortable : false"
  16. :formatter="item.formatter"
  17. :class-name="item.class"
  18. :show-overflow="item.overflow ? item.overflow : 'tooltip'"
  19. :visible="item.visible"
  20. >
  21. </vxe-column>
  22. </vxe-table>
  23. </template>
  24. export defalut {
  25. data(){
  26. tableKey:Math.random()
  27. },
  28. methods:{
  29. refreshTable(){
  30. this.tableKey = Math.random()
  31. },
  32. }
  33. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/140524
推荐阅读
相关标签
  

闽ICP备14008679号