0

因此,我想根据当前节点的 AttType 字段添加特定组件(复选框或文本框)。我的 zul 文件如下所示:

<tree id="permissionTree" width="100%"
        model="@bind(vm.treeModel)" style="text-align:left;">
        <treecols>
            <treecol label="Item" width="400px" />
            <treecol label="Wert" />
        </treecols>
        <template name="model" var="node">
            <treeitem>
                <treerow>
                    <treecell label="@load(node.data.name)" />

                    <treecell> HERE COMPONENT DEPENDING ON node.data.AttType </treecell>
                </treerow>
            </treeitem>
        </template>
    </tree>

我怎样才能做到这一点?哦,我希望将 Textbox/Checkbox 值作为字符串绑定到我的模型,这将非常好。

感谢您的任何建议。

编辑:我为自己做了一些“解决方法”。因为我只有 3 种可能的输入类型,所以我只是硬编码定义了它们:

<tree id="permissionTree" width="100%"
        model="@bind(vm.treeModel)" style="text-align:left;">
        <treecols>
            <treecol label="Item" />
            <treecol label="Wert" />
        </treecols>
        <template name="model" var="node">
            <treeitem open="@bind(node.open)" onClick="@command('expandNode', item=node)">
                <treerow>
                    <treecell label="@load(node.data.name)" />
                    <treecell>
                        <textbox visible="@load(node.data.isTextbox)" value="@bind(node.data.value)" />
                        <textbox visible="@load(node.data.isTextarea)" rows="6" width="300px" value="@bind(node.data.value)" />
                        <checkbox visible="@load(node.data.isCheckbox)" checked="@bind(node.data.checkboxValue)" />
                    </treecell>
                </treerow>
            </treeitem>
        </template>
    </tree>

在 TreeNode 的构造函数中,我根据类型设置 isTextbox/isTextarea/isCheckbox 值。这样模型绑定仍然有效:)

4

1 回答 1

0

正如您在上一个问题中所问的那样:使用 treeitem 渲染器并在那里添加您需要的项目。我认为绑定不适用于新组件。

于 2012-07-15T19:30:50.243 回答