ran*_*ini 5 javascript kendo-ui kendo-grid angular angular5
我将多重过滤器应用于剑道网格,我的应用程序是在 angular 5 中开发的,这里的问题是,当从输入框中删除最后一个字符时,时间事件没有触发。如何解决这个问题。
例如,如果我在输入框 'alen' 中输入一些东西,dataStateChange 函数每次都会,同样的事情在删除 'alen' 最后三个之后删除那个时间函数将但第一个字符删除或删除它不会调用(dataStateChangefunction)。请帮助我任何一个。
<kendo-grid
[data]="gridData"
[sortable]="{ mode: 'multiple' }"
[sort]="sort"
[filterable]="true"
(dataStateChange)="dataStateChange($event)"
[height]="500"
>
<kendo-grid-column field="ProductID" title="Product ID" width="120">
</kendo-grid-column>
<kendo-grid-column field="ProductName" title="Product Name">
</kendo-grid-column>
<kendo-grid-column field="UnitPrice" title="Unit Price" width="230">
</kendo-grid-column>
</kendo-grid>
</kendo-grid>
`
})
export class AppComponent {
private filter: string;
private sort: SortDescriptor[] = [];
private gridView: GridDataResult;
private products: any[] = [
{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18.0000,
"Discontinued": false
},
{
"ProductID": 3,
"ProductName": "Chai",
"UnitPrice": 122.0000,
"Discontinued": true
}
,{
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 19.0000,
"Discontinued": false
}];
constructor() {
this.loadProducts();
}
protected sortChange(sort: SortDescriptor[]): void {
this.sort = sort;
this.loadProducts();
}
public state:State={
logic: "and",
filters: [
{ field: "ProductID", operator: "contains", value:''},
{ field: "ProductName", operator: "contains", value:''},
{ field: "UnitPrice", operator: "contains", value:''}
]
}
public dataStateChange(State:DataStateChangeEvent):void{
this.state=State;
data: process(products, this.state),
}
private loadProducts(prods): void {
const products = prods || this.products;
this.gridData = {
data: process(products, this.state),
total: products.length
};
}
Run Code Online (Sandbox Code Playgroud)