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 の値を 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 の値を設定します。このようにして、モデルバインディングは引き続き機能します:)

4

1 に答える 1

0

前の質問で尋ねたように、treeitem レンダラーを使用して、そこに必要なアイテムを追加します。新しいコンポーネントではバインディングが機能しないと思います。

于 2012-07-15T19:30:50.243 に答える