iView中table组件的筛选filters如何设置为动态
更新:2018年12月10日
常规写法都是把filters写死了的
columns: [
..., {
...,
filters: [{
label: 'Greater than 25',
value: 1
}, {
label: 'Less than 25',
value: 2
}],...
},...
]
但是有时候我们需要的是可以根据后台所给的数据初始化filters,这时候需要做的并不是在data
写下filters: this.variable
,而是在你需要改变他的时候写下(例如:接收到响应的时候):
this.columns[index].filters = variable;
iView table组件会监听columns和data的改变而重新渲染。
但是如果是写成上述filters: this.variable
方式
- 首先vue加载的时候运行到
this.variable
,此时this.variable
的值为undefined - 然后table组件并不会监听到columns的变化而重新渲染,毕竟此时table都还没渲染,而且data中其他值的变化又不会重新给columns赋值