用于搜索的聚合物嵌套绑定

Polymer Nested Binding for Search

本文关键字:嵌套 绑定 聚合物 搜索 用于      更新时间:2023-09-26

下面是我在Office->Team->user层次结构中绑定树的元素。我需要执行Seach Over Users。

对于绑定这个树,我采用了users数组,执行了一些操作以进入所需的层次结构。对于搜索,我将排除不在用户数组中的用户,并重新构建树。在初始输入输入中,搜索操作运行良好。当我按下下一个字符时,用户列表不会从树中排除。但generateTree在输入下一个字符时具有有效数据。

我猜聚合物在数组为空之前不会进行脏检查。由于绑定需要在团队阵列中的用户阵列中执行,因此在办公室阵列中。帮助我解决这个问题

<template id="template" is="dom-repeat" items="{{generateTree}}" as="offices" id="user-level1-items">
            <paper-submenu id="user-level1"  SearchEnabled="{{search}}" class$="{{search}}">
                <paper-item class="menu-trigger menu-level-1">
                    <iron-icon class$="{{offices.icon}}" icon="{{offices.icon}}"></iron-icon>
                    <span>{{offices.name}}</span></paper-item>
                <paper-menu class="menu-content">
                    <template is="dom-repeat" items="{{offices.Teams}}" as="Teams" id="user-level2-items">
                        <paper-submenu id="user-level2"  opened="{{Teams.open}}">
                            <paper-item class="menu-trigger menu-level-2">
                                <iron-icon class$="{{Teams.icon}}" icon="{{Teams.icon}}"></iron-icon>
                                <span>{{Teams.name}}</span>
                            </paper-item>
                            <paper-menu class="menu-content" id="user-level3">
                                <template is="dom-repeat" items="{{Teams.Users}}" as="Users">
                                    <paper-item " value$="{{Users._id}}"
                                    class="menu-level-3">
                                        <abc>{{Users.fullname}}</abc>
                                    </paper-item>
                                </template>
                            </paper-menu>
                        </paper-submenu>
                    </template>
                </paper-menu>
            </paper-submenu>
        </template>

Polymer({
    is: 'sa-org-tree-dynamic',

    properties: {
      level: {
        type: Number,
        value: 0
      }
    },
    inputData:function(){

        this.notifyPath('this.generateTree.teams.0.Users.*');

    }

    ready: function() {

    }
  });

this.generatetree我从父元素得到。

JSON.parse(JSON.stringify(generateTree))。。有效,因为阵列推送和拼接没有按照聚合物标准

进行