したがって、現在のノードの 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 の値を String としてモデルにバインドしたいのですが、それはとてもいいことです。
提案をありがとう。
編集:私は自分自身のために少し「回避策」を作りました。考えられる入力タイプは 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 の値を設定します。このようにして、モデルバインディングは引き続き機能します:)