PrimeVue数据表

时间:2020-02-06 15:01:02

标签: vuejs2 primevue

如果将:lazy =“ true”添加到,如下所示:

<DataTable :value="cars" :lazy="true" :filters="filters" :paginator="true" :rows="10"
    :totalRecords="totalRecords" sortMode="multiple" :loading="loading" @page="onPage($event)">

列过滤器和排序不起作用

示例代码:https://www.primefaces.org/primevue/#/datatable/filter

如何使用:lazy进行过滤和排序工作?

欢乐

1 个答案:

答案 0 :(得分:0)

需要为每一列有数据配置一个规则,例如一个studens表( id , name ),并在:globalFilterFields中添加关联列的json字段属性名。

<Datatable :filters="filters" :globalFilterFields="[ 'id', 'name' ]">
  <Column field="id" header="ID"/>
  <Column field="name" header="Name"/>
</Datatable>

...

const filters = ref({
  global: { value: null, matchMode: FilterMatchMode.CONTAINS},
  id: { value: null, matchMode: FilterMatchMode.EQUALS},
  name: { value: null, matchMode: FilterMatchMode.CONTAINS},
});

通过这种方式,您告诉 DataTable 使用定义的规则过滤列 Id 和 Name,只需记住使用正确的 macchMode 过滤数字、日期或字符串,FilterMatchMode.CONTAINS 与字符串一起使用。