我的剑道网格为
<kendo-grid
[data]="gridData"
[pageSize]="state.take"
[skip]="state.skip"
[sort]="state.sort"
[filter]="state.filter"
filterable="menu"
(dataStateChange)="dataStateChange($event)"
>
和component.ts文件中
public dataStateChange(state: DataStateChangeEvent): void {
this.state = state;
// get filter values here
}
我想在上面的函数中获取过滤器值和字段名称,并将它们传递给api进行服务器端过滤,但无法从状态中提取值。
有什么方法可以从状态对象中提取字段和值?
答案 0 :(得分:1)
原始变体
import { isCompositeFilterDescriptor } from '@progress/kendo-data-query';
....
const filterValues = state.filter.filters.map(f => isCompositeFilterDescriptor(f) ? f.filters :[f] ).reduce((p,n) => p.concat(n), []);
但是您应该选中“逻辑”字段,请参见https://www.telerik.com/kendo-angular-ui/components/dataquery/api/CompositeFilterDescriptor/