2012-07-15 19 views
0

因此,我想根據當前節點的AttType字段添加特定組件(複選框或文本框)。我的zul文件如下所示:ZK - 根據模型內容向Treeitem添加組件

<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> 

我該如何做到這一點?哦,我希望文本框/複選框值作爲字符串綁定到我的模型,這將是非常好的。

感謝您的任何建議。

編輯:我爲自己做了一點「解決方法」。因爲我只有3個可能的輸入類型,I剛剛定義他們的硬編碼:

<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> 

而在一個樹節點的構造我根據類型設置的isTextbox/isTextarea/isCheckbox值。這種模式綁定仍然有效:)

回答

0

正如您在上一個問題中所述:使用treeitem渲染器並添加您需要的項目。我不認爲綁定會對新組件起作用。