列数据筛选

基础用法

属性说明
:headerData{slot: "xxx"}预留插槽位置,用于指定在哪一列渲染筛选列,例:{slot: "date"}

使用插槽,插槽中使用如下两个属性

属性说明
:filters{text: 'xxx1', value: 'xxx2'}text:筛选项显示内容,value:筛选项实际筛选的值
:filter-method函数名传入一个函数,用于筛选需要显示的数据

html示例:

<yui-table
    :rowData="rowData数据对象"
    :headerData="headerData数据对象"
    :controlAtrr="controlAtrr数据对象"
>
</yui-table>

<template #date>

  <el-table-column
    prop="date"
    label="日期"
    sortable
    width="180"
    column-key="date"
    :filters="filters"
    :filter-method="filterHandler"
  >
  </el-table-column>

</template>

vue.js示例

<script lang="ts">  
   data() {
      return {
        // 表头筛选项数据
        filters: [
          {text: '2016-05-02', value: '2016-05-02'},
          {text: '2016-05-03', value: '2016-05-03'},
          {text: '2016-05-04', value: '2016-05-04'},
          {text: '2016-05-05', value: '2016-05-05'},
          {text: '2016-05-06', value: '2016-05-06'},
        ],
    },
  
  methods: {
      // 筛选处理函数
      filterHandler(value, row, column) {
        const property = column['property'];
        return row[property] === value;
      },

    },

</script>

效果

图片filters

注意事项

建议此处使用状态、等级、性别等分类较少的简单筛选,或者筛选项较少时使用,更复杂的筛选功能在搜索区域实现

Last Updated:
Contributors: wangyifan