- 表格列单独放在JS文件里引入data
- 按钮的渲染以及eventbus通信
- 表头上渲染按钮
- 渲染绑定attrs
- 列的筛选
- 列的排序
表格列单独放在JS文件里引入data
表格列的定义占据太多代码行数,可单独放在JS文件里引入data,并通过eventbus通信。
columnsData.js:
1 | export const columnsData = [ |
index.vue:
1 | import { columnsData } from './columnsData.js'; |
当列需要拼接时,可采用:
1 | data() { |
按钮的渲染以及eventbus通信
columnsData.js:
1 | import bus from '@/plugins/eventbus'; |
index.vue:
1 | this.$bus.$off('edit-school-detail-handler').$on('edit-school-detail-handler', row => { |
效果:
表头上渲染按钮
columnsData.js:
1 | export const columnsData = [ |
效果:
渲染绑定attrs
若要在表格里动态渲染一个a标签,带href属性,并实现下载文件,如
1 | <a href="sssss" download="">下载</a> |
可如下:
1 | { |
同理可绑定img 中src属性 。
列的筛选
当表格含有非常多列时,可进行筛选展示选择的列。
列的排序
给 columns
数据的项,设置 sortable: true
,即可对该列数据进行排序。
1 | { |
注:
eventbus
封装参阅 eventbus封装
表格行样式改变
例如需求:删除的行置灰
1 | <Table ref="selection" |
1 | methods: { |
1 | <style> |