1.0.14 • Published 2 years ago

@pluve/yf-react-orgtree v1.0.14

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

org-Tree

组织机构树组件

Tree

弹框

import * as React from 'react';
import Tree from 'yf-react-orgtree'
import { Button, message } from 'antd';
import 'antd/dist/antd.css';

export default () => {
  // 控制弹窗
  const [visiable, setVisiable] = React.useState<boolean>(false) 
  // 返回数据
  const [selectedData, setSelectedData] = React.useState<React.Key[]>([]);
  React.useEffect(() => {
    console.log(selectedData);
  }, [selectedData])
  return (
    <>
      <button onClick={() => {setVisiable(!visiable)}}>
        {visiable ? "隐藏" : "展示"}
      </button>
      <Tree
        type='test'
        value={selectedData}
        onChange={setSelectedData}
        modal={true}
        visiable={visiable}
        title={"门店选择"}
        multiple={true}
        width={442}
        orgId={'5ffeaee575348f0001cd11cc'}
        defaultExpandedKeys={['1']}
        onOk={(keys: React.Key[]) => { 
          setSelectedData(keys);
          message.info(`选中了${keys.length}个组织`);
        }}
        onCancel={() => {
          setVisiable(false);
        }}
      />
    </>
  )
}

多选门店

import * as React from 'react';
import Tree from 'yf-react-orgtree'
import { Button, message } from 'antd';
import 'antd/dist/antd.css';

export default () => {
  // 返回数据
  const [selectedData, setSelectedData] = React.useState<React.Key[]>([]);
  return (
    <>
      <Tree
        type='test'
        width={442}
        value={selectedData}
        onChange={setSelectedData}
        multiple={true} // 设置为true为多选
        orgId={'62b91e09fa09500001b7a6f4'}
        defaultExpandedKeys={['10027581']}
        isSearch={false}
      />
    </>
  )
}

单选门店

import * as React from 'react';
import Tree from 'yf-react-orgtree'
import { Button, message } from 'antd';
import 'antd/dist/antd.css';

export default () => {
  // 返回数据
  const [selectedData, setSelectedData] = React.useState<React.Key[]>([]);
  return (
    <>
      <Tree
        type='test'
        value={selectedData}
        onChange={setSelectedData}
        isSearch={false}
        multiple={false} // 设置为false为单选
        width={442}
        orgId={'62b91e09fa09500001b7a6f4'}
        defaultExpandedKeys={['10027581']}
      />
    </>
  )
}

搜索

import * as React from 'react';
import Tree from 'yf-react-orgtree'
import { Button, message } from 'antd';
import 'antd/dist/antd.css';

export default () => {
  // 返回数据
  const [selectedData, setSelectedData] = React.useState<React.Key[]>([]);
  return (
    <>
      <Tree
        type='test'
        value={selectedData}
        onChange={setSelectedData}
        isSearch={true}
        multiple={false} // 设置为false为单选
        width={442}
        orgId={'62b91e09fa09500001b7a6f4'}
        defaultExpandedKeys={['10027581']}
      />
    </>
  )
}

禁用

import * as React from 'react';
import Tree from 'yf-react-orgtree'
import { Button, message } from 'antd';
import 'antd/dist/antd.css';

export default () => {
  return (
    <>
      <Tree
        type='test'
        isSearch={false}
        multiple={false}
        disabled={true} // 设置为true 禁止选择
        width={442}
        orgId={'62b91e09fa09500001b7a6f4'}
        defaultExpandedKeys={['10027581']}
      />
    </>
  )
}

API

参数说明类型默认值是否必传
orgId机构ID(暂时只支持单个机构ID),stringtrue
type环境值配置('test' 、'prod')stringtrue
value设置选中的值,设置后变成受控组件React.Key[]
defaultSelected默认选中的节点React.Key[]
defaultExpandedKeys默认展开的节点React.Key[]
isSearch是否开启搜索框booleantrue
checkStrictlycheckable 状态下节点选择完全受控(父子节点选中状态不再关联)booleanfalse
height组件高度number、string
width组件宽度number、string
modal是否弹窗模式booleanfalse
visiable控制弹窗展示booleantrue
title弹窗标题string选择门店
mask控制遮罩展示booleanfasle
multiple控制多选或者单选booleantrue
disabled禁用树booleanfasle
okTextok字幕string确定
cancelText取消字幕string取消
onOkOk的回调(keys: React.Key[], selectNodata: ITreeNode[]) => void
onChange值修改的回调(orgIds: React.Key[], selectNodata: ITreeNode[]) => void
onCancel取消的回调() => void
1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

0.0.3

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago