Vuejs2 元素UI如何在列筛选器中设置默认筛选器值

Vuejs2 元素UI如何在列筛选器中设置默认筛选器值,vuejs2,element-ui,Vuejs2,Element Ui,元素ui版本2.1.0 <el-table-column prop="tag" label="Tag" width="100" :filters="[{ text: 'Home', value: 'Home' }, { text: 'Office', value: 'Office' }]"></el-table-column> 我想首先将Office设置为默认值。我在文档中找不到任何帮助。我制作了一个小的hack函数来强制表应用过滤器 setDefa

元素ui版本2.1.0

<el-table-column
  prop="tag"
  label="Tag"
  width="100"
  :filters="[{ text: 'Home', value: 'Home' }, { text: 'Office', value: 'Office' }]"></el-table-column>


我想首先将
Office
设置为默认值。我在文档中找不到任何帮助。

我制作了一个小的hack函数来强制表应用过滤器

setDefaultFilter(colProp, filteredValue) {
  if (!this.$refs.tableRef) {
    throw new Error('Table should have a ref named tableRef.');
  }

  const typeColumn = this.$refs.tableRef.columns.find(col => col.property === colProp);

  typeColumn.filteredValue = filteredValue;

  this.$refs.tableRef.store.commit('filterChange', {
    column: typeColumn,
    values: filteredValue,
  });
  this.$refs.tableRef.store.updateAllSelected();
}
我在
mounted()
函数中使用了它,如下所示:

const filteredValue = ['Private', 'Public'];

this.setDefaultFilter('type', filteredValue);


请不要只发布代码答案,而是尝试添加一些信息,解释为什么您的代码有助于解决OP的问题。我应用了这个方法,它是有效的,但并不完全有效。问题是没有选中复选框。你知道怎么解决吗?@ThibaultV对不起,我已经快一年没碰vuejs了,我记不得了。我希望你能找到答案
<el-table-column
  prop="tag"
  label="Tag"
  width="100"
  :filters="[{ text: 'Home', value: 'Home' }, { text: 'Office', value: 'Office' }]"
  :filtered-value="['Office']"
></el-table-column>