当前位置: 首页 > 知识库问答 >
问题:

ExtJS——多选树选择器——将每个树节点值添加到textfield

陈宏胜
2023-03-14

扩展Ext.form.field.Picker我正在创建一个自定义组件。它非常类似于日期选择器,但我用复选框展开了一棵树,而不是日历。当选中一个节点时,我必须用节点的文本手动设置textfield的值。我的问题是,如何向textfield添加/删除节点?为了补充,我正在做类似的事情

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

文本字段:值1、值2、值3

共有1个答案

宇文卓
2023-03-14

更好的方法是始终使用tree.getChecked()方法获取选中节点的数组,循环通过结果数组从记录中提取文本,并最终设置完整值,而不管文本字段已经包含什么。

这样就不需要“删除”值2。

 类似资料:
  • 我希望在选择树中的某个节点时,动态地向该节点添加一些自定义渲染(可能是一个边框,也可能是一些颜色更改)。 我试过这个: 但它似乎不起作用。 我还希望渲染器是可添加的(或链接的)。我已经在节点上进行了类似图标的渲染,因此新的渲染器应该与其他渲染器互补。不确定extjs是否可以做到这一点?

  • 我正在做一个项目,以创建一个超过2个子节点的树。我明白在创建二叉树时,我们可以只创建一个左节点和一个右节点来充当子节点,但当我在网上寻找创建树的帮助时,我找到的每一个解决方案都谈到了创建二叉树。我明白创建树的部分意味着您需要创建子节点数组或arraylist,但我不明白如何将数据放入数组,或者如何将子节点数组“连接”到父节点? 这是我目前掌握的代码。我知道这不是很多,但我正在努力刚刚开始这个项目。

  • element ui 树状表格选择父节点子节点全选,子节点不全选父节点半选? el-table没有相关示例,需要手动实现好像?![上传中...]()

  • element ui 树状表格选择父节点子节点全选,子节点不全选父节点半选? el-table没有相关示例,需要手动实现好像?

  • Tree在选择节点时抛出异常,在backinbean中发送正确节点的值。但例外并不是它从何而来。 日志: 最后是我的背豆

  • 如果我没弄错的话,树通常是一个列表,其中的元素按特定顺序排列。孩子们不在他们自己的子列表中,他们都在同一个列表中。 所以,我试图创建一个Tree类,其中包含TreeNodes(类)使用Tree类中的List。 我如何跟踪父母/孩子/叶子?如果父母“父母1”,有两个孩子“孩子A”和“孩子B”,我如何将他们联系在一起?