ExtJS - 多选树选取器 - 将每个树节点值添加到文本字段

时间:2014-12-13 23:55:35

标签: extjs tree

扩展Ext.form.field.Picker我正在创建一个自定义组件。它非常类似于DatePicker而不是日历,我用一个复选框展开一棵树。检查节点时,我必须使用节点的文本手动设置文本字段的值。我的问题是,如何在文本字段中添加/删除节点?添加我正在做类似

的事情
var picker = Ext.create("Ext.tree.Panel", {
      store: this.store,
      floating: true,
      hidden: true,
      autoScroll:true,
      useArrows:true,
      animate:false,
      animCollapse:false,
      shadow: false,
      manageHeight: false,
      listeners: {
          scope:this,
          itemclick: function(view, record, node, rowIndex, e){
            record.set("checked", true);
            this.setValue(this.getValue()+","+record.data.text); //add tree selection to textfield
          }
      },

但有没有更好的方法将树选择添加到文本字段?

更重要的是,我将如何删除一个值,比如value2

textfield:value1,value2,value3

1 个答案:

答案 0 :(得分:0)

最好总是使用tree.getChecked()方法获取已检查节点的数组,循环生成的数组以从记录中提取文本,并最终设置完整值,而不管文本字段已包含什么。

这消除了删除"删除" VALUE2。