title: iview Table组件使用过滤器时没法加载表头解决办法
date: 2018-10-01 15:08:50
tags:javascript
使用iview搭建社团用人员管理时,Table组件的columns中filters属性设置为Vue data 中的另外一个对象前端
data() { groupFilter: [], memberCol: [ { title: "组别", render: (h, params) => { return h("div", [h("span", params.row.group.groupName)]); }, filters: [this.groupFilter], filterMultiple: true, filterMethod(value, row) { return row.group.groupName == value; } } ] }
后没法显示表头,并报错
TypeError: Cannot read property 'value' of undefinedvue
此对象会在Vue created时调取后台组别数据后被赋值java
将data中columns的过滤器置空:ajax
filters: []
并在调取后台数据后赋值给过滤器:iview
Util.ajax({ method: "GET", url: "/group/list" }).then(res => { self.groupList = res.data; self.groupList.forEach(group => { self.groupFilter.push({ label: group.groupName, value: group.groupName }); }); self.memberCol[4].filters = self.groupFilter; });