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

时间:2016-05-19 11:29:28

标签: javascript arrays polymer polymer-1.0

以下是我在办公室绑定树的元素 - >团队 - >"用户"层次结构。我需要执行Seach Over Users。

对于绑定此树,我使用了用户数组,执行了一些操作以获得所需的层次结构。对于搜索,我排除不在用户数组中的用户并再次构建树。在初始输入中输入搜索操作正常。当我按下一个字符时,用户列表不会从树中排除。但 generateTree 在输入下一个字符时具有有效数据。

我想聚合物在数组为空之前没有进行脏检查。由于绑定需要在Teams Array中的Users Array中执行,那就是在Offices Array中。帮我解决这个问题

<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 我来自父元素。

1 个答案:

答案 0 :(得分:0)

JSON.parse(JSON.stringify(generateTree)) ..因为阵列推送和拼接不是按照聚合物标准进行的,所以