我可以在ZK中为Listitem创建可扩展列表框吗?

问题描述 投票:0回答:1

选择列表项后,我可以将Listbox作为子项添加到Listitem吗?我目前正在使用hybris,而我尝试过的代码是这样的:

    Listitem listitem = new Listitem();
    listitem.setValue(123);
    listitem.setParent(this.secondListBox);
    this.secondListBox.addItemToSelection(listitem);

 private EventListener<Event> getListBoxListener() {
    return (event -> {

        this.listBox.getSelectedItems().forEach(listItem -> {
            listItem.appendChild(this.secondListBox);
        }); 
     });
}

(显示的代码仅用于测试目的!)

我想使用这种方法为每个Listitem实现一些可扩展列表,但出现此错误:

列表项的子项不受支持:

我知道该错误已经回答了我的问题,但是还有另一种方法吗?谢谢。

hybris zk
1个回答
0
投票

<listitem> supports <listcell> children,然后允许<listitem>。因此,您只需要在嵌套列表框周围创建一个列表单元即可。

<listcell>

arbitrary child components

或您的情况:

<listbox>
  <listhead>
    <listheader label="outer"/>
  </listhead>
  <listitem>
    <listcell>
      <listbox>
        <listhead>
          <listheader label="nested"/>
        </listhead>
        <listitem label="nested"/>
      </listbox>
    </listcell>
  </listitem>
</listbox>

但是您不能将相同的“ secondListbox”实例添加到多个列表单元中。您只需四处移动它,它就会粘贴到您将其附加到的最后一个列表单元父级。

© www.soinside.com 2019 - 2024. All rights reserved.