因此,我想根据当前节点的 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 值。这样模型绑定仍然有效:)