使用输入过滤器和类别过滤kendo-ui TreeView

时间:2018-07-10 07:47:24

标签: jquery reactjs kendo-ui kendo-treeview

我正在尝试通过文本用按钮过滤kendo-ui treeView,以显示或不显示树中的某些根。

我已经使用this来过滤带有输入的树形视图,并且它运行良好,最重要的是,我想过滤根节点。

我使用treeview react component of kendo-ui.

当我单击某些按钮时,我将隐藏属性设置为根节点,然后对其进行重新过滤。

public handleClick() {
  const dataSource: kendo.data.DataSource = $("[data-role='treeview']").data("kendoTreeView").dataSource;
  const data = dataSource instanceof kendo.data.HierarchicalDataSource && dataSource.data();
  _.forEach(data as kendo.data.ObservableArray, (item) => {
    if (item.type === this.props.controlNode) {
      item.hidden = this.props.filter;
    }
  });
  dataSource.filter({ field: "hidden", operator: "neq", value: true });
  dataSource.filter().logic = "and";
}

我的按钮具有controlNode属性,可以与我的dataSource内部的type属性进行比较。我遍历dataSource的第一个子对象,如果类型匹配,则根据过滤器状态将hidden属性设置为true或false。

所以我的问题是dataSource.filter({ field: "hidden", operator: "neq", value: true });不过滤数据源。但是,如果我使用运算符eq而不是neq,则会出现相反的行为,但是它可以正常工作...

我不知道我做错了什么。

0 个答案:

没有答案