Skip to content

树结构

angcyo edited this page Nov 21, 2019 · 2 revisions

如图:

简单使用

直接通过ItemitemSubList属性, 设置所有子项, 然后通过 itemGroupExtend 控制展开or折叠即可.

itemSubList = mutableListOf(SubItem1(), SubItem2(), SubItem3(), SubItem4())

高级使用

itemSubList 可以动态加载, 在读取itemSubList之前, 会回调onItemLoadSubList方法.

拦截onItemLoadSubList方法, 动态更新itemSubList即可.

最后通过updateItemDepend方法, 更新界面.

DslTreeItem()() {
    onItemLoadSubList = {
        if (itemSubList.isEmpty()) {
            //加载中
            itemSubList.add(DslTreeLoadItem())
            //模拟延迟
            dslViewHolder.postDelay(1000) {
                itemSubList.clear()
                for (j in 0..nextInt(0, 10)) {
                    itemSubList.add(DslTreeItem())
                }
                updateItemDepend() //注意: 一定要调用此方法, 才能更新界面.
            }
        }
    }
}