iview Table组件使用过滤器时无法加载表头解决办法

Posted lmmmmmx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iview Table组件使用过滤器时无法加载表头解决办法相关的知识,希望对你有一定的参考价值。


title: iview Table组件使用过滤器时无法加载表头解决办法
date: 2018-10-01 15:08:50
tags:

  • javascript
  • 前端
  • vue
  • iview

    所遇到的问题

    使用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 undefined

此对象会在Vue created时调取后台组别数据后被赋值

解决方法:

将data中columns的过滤器置空:

filters: []

并在调取后台数据后赋值给过滤器:

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;
});

以上是关于iview Table组件使用过滤器时无法加载表头解决办法的主要内容,如果未能解决你的问题,请参考以下文章

iview库修改table组件首次加载样式错乱

iView中表格(Table)自定义表头添加模糊搜索框

Iview组件库 如何解决Tooltip内容被遮挡

Iview组件库 如何解决Tooltip内容被遮挡

iview Table表格组件无法拆分单元格的解决思路

有使用 Vue + iView 的朋友吗?请问 Table 组件要怎么使用 filter