1.1.0 • Published 3 years ago

rc-virtualized-tree v1.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

Virtualized Tree

Getting Started

Install rc-virtualized-tree using npm

npm install rc-virtualized-tree --save

import style

import 'rc-virtualized-tree/styles.css'

Prop Types

PropertyTypeRequired?DescriptionDefault
treeDataArray
expandedKeysArray展开节点的 key
rowHeightNumber行高22px
defaultExpandAllBoolean是否展开所有节点,只在初始化时有效false
showLevelLineBoolean节点前方是否展示虚线true
selectedKeysArray选中节点,会加背景颜色
defaultFolderIconReactNode | ((item: T) => ReactNode)非叶子节点图标,设为 null 时不展示图标文件夹
defaultLeafIconReactNode | ((item: T) => ReactNode)叶子节点图标,设为 null 时不展示图标文件
searchKeywordsString过滤关键字
searchOnlyShowMatchBoolean过滤时是否只展示匹配的节点true
forSearchKeyString过滤时使用哪个字段匹配,默认'name''name'
rowRender(item: T) => ReactNode | null自定义每项展示内容,默认展示'name'的值'name'
classNameString给组件添加 class
rowClassName(item: T) => string给每项添加 class
loadingKeysArray展开/收起按钮显示 loading 状态
invalidationPropsObject值发生变化时触发 render
onItemClick(item: T) => void鼠标单击事件
onItemDoubleClick(item: T) => void鼠标双击事件
onContextMenu(item: T) => void鼠标右键事件
onExpand(key: string, open: boolean) => void点击展开/收起,设置该属性后需要自行设置 expandedKeys
draggable((item: T) => boolean) | boolean是否可拖拽false
onDragAndDrop(dragItem: T, dropItem: T) => void拖放
onDragToRoot(dragItem: T) => void

示例

import VirtualizedTree from "rc-virtualized-tree";
import "rc-virtualized-tree/styles.css";

export default class Demo extends Component {
  constructor(props) {
    super(props);
    this.state = {
      treeData: [
        {
          key: "1",
          name: "1",
          isLeaf: false,
          children: [
            {
              key: "1-1",
              name: "1-1",
              isLeaf: false,
              children: [
                {
                  key: "1-1-1",
                  name: "1-1-1",
                  isLeaf: true,
                },
                {
                  key: "1-1-2",
                  name: "1-1-2",
                  isLeaf: false,
                },
              ],
            },
          ],
        },
        {
          key: "2",
          name: "2",
          isLeaf: false,
          children: [
            {
              key: "2-1",
              name: "2-1",
              isLeaf: true,
            },
            {
              key: "2-2",
              name: "2-2",
              isLeaf: true,
            },
            {
              key: "2-3",
              name: "2-3",
              isLeaf: true,
            },
          ],
        },
        {
          key: "3",
          name: "3",
          isLeaf: false,
          children: [
            {
              key: "3-1",
              name: "3-1",
              isLeaf: true,
            },
          ],
        },
      ],
    };
  }

  itemClick = (item) => {
    console.log("click", item);
  };

  render() {
    return (
      <VirtualizedTree
        treeData={this.statetreeData}
        onItemClick={this.itemClick}
      />
    );
  }
}
1.1.0

3 years ago

1.0.7-beta

3 years ago

1.0.6-beta

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago