From 7280e791a0743036f0bf855097ce7d7569caa8f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B4=94=E5=85=B0=E9=91=AB?= <1192065030@qq.com>
Date: Wed, 9 Mar 2022 16:10:05 +0800
Subject: [PATCH] =?UTF-8?q?refactor(Tree):=20=E5=A2=9E=E5=8A=A0Tree?=
=?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=9C=A8Form=E4=B8=AD=E4=BD=BF=E7=94=A8?=
=?UTF-8?q?=E7=9A=84=E4=BE=8B=E5=AD=90,=E4=BF=AE=E6=94=B9Tree=20onChange?=
=?UTF-8?q?=E5=8F=82=E6=95=B0=20(#644)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/react-tree/README.md | 134 ++++++++++++++++++-
packages/react-tree/src/index.tsx | 4 +-
website/src/routes/components/tree/index.tsx | 4 +-
3 files changed, 137 insertions(+), 5 deletions(-)
diff --git a/packages/react-tree/README.md b/packages/react-tree/README.md
index d5bd08d878..f2e06abab3 100644
--- a/packages/react-tree/README.md
+++ b/packages/react-tree/README.md
@@ -18,7 +18,7 @@ import Tree from '@uiw/react-tree';
```jsx
import ReactDOM from 'react-dom';
-import { Tree, Card, Row, Col } from 'uiw';
+import { Tree, Card, Row, Col, } from 'uiw';
const data = [
{
@@ -651,6 +651,138 @@ const Demo = () => (
ReactDOM.render(, _mount_);
```
+
+### Form中使用
+
+
+```jsx
+import ReactDOM from 'react-dom';
+import { Tree, Row, Col, Form, Button } from 'uiw';
+
+const data = [
+ {
+ label: '湖北省',
+ key: '0-0-0',
+ children:[
+ {
+ label: '武汉市',
+ key: '0-1-0',
+ children:[
+ { label: '新洲区', key: '0-1-1' },
+ { label: '武昌区', key: '0-1-2' },
+ {
+ label: '汉南区',
+ key: '0-1-3',
+ children:[
+ { label: '汉南区1', key: '0-1-3-1' },
+ { label: '汉南区2', key: '0-1-3-2' },
+ { label: '汉南区3', key: '0-1-3-3' },
+ ]
+ },
+ ]
+ },
+ { label: '黄冈市', key: '0-2-0' },
+ {
+ label: '黄石市',
+ key: '0-3-0',
+ children:[
+ { label: '青山区', key: '0-3-1' },
+ { label: '黄陂区', key: '0-3-2' },
+ { label: '青山区', key: '0-3-3' },
+ ]
+ },
+ ]
+ },
+ {
+ label: '上海市',
+ key: '1-0-0',
+ children:[
+ { label: '黄浦区', key: '1-0-1' },
+ { label: '卢湾区', key: '1-0-2' },
+ {
+ label: '徐汇区',
+ key: '1-0-3',
+ children:[
+ { label: '半淞园路街道', key: '1-1-0' },
+ { label: '南京东路街道', key: '1-2-0' },
+ { label: '外滩街道', key: '1-3-0' },
+ ]
+ },
+ ]
+ },
+ {
+ label: '北京市',
+ key: '2-0-0',
+ children:[
+ { label: '东城区', key: '2-1-0' },
+ { label: '西城区', key: '2-2-0' },
+ ]
+ }
+];
+
+const Demo = () => {
+ return (
+
+ )
+}
+ReactDOM.render(, _mount_);
+```
+
+
## Props
| 参数 | 说明 | 类型 | 默认值 |
diff --git a/packages/react-tree/src/index.tsx b/packages/react-tree/src/index.tsx
index c0a45a41fe..ef8c9bfe9a 100644
--- a/packages/react-tree/src/index.tsx
+++ b/packages/react-tree/src/index.tsx
@@ -45,7 +45,7 @@ export interface TreeProps extends IProps, Omit {
item: TreeData,
evn: React.MouseEvent,
) => void;
- onChange?: (keys: (string | number | undefined)[]) => void;
+ onChange?: (key: string | number, eys: (string | number | undefined)[]) => void;
value?: TreeData['key'][];
}
@@ -210,7 +210,7 @@ export default function Tree(props: TreeProps) {
}
setCurSelectedKeys(selKeys);
onSelected && onSelected(selKeys, item.key, selected, item, evn);
- onChange?.(selKeys);
+ onChange?.(item.key, selKeys);
}
return (
diff --git a/website/src/routes/components/tree/index.tsx b/website/src/routes/components/tree/index.tsx
index 1bd542dc23..754892eefc 100755
--- a/website/src/routes/components/tree/index.tsx
+++ b/website/src/routes/components/tree/index.tsx
@@ -1,11 +1,11 @@
import React from 'react';
-import { Tree, Row, Col, Card, Icon } from 'uiw';
+import { Tree, Row, Col, Card, Icon, Form, Button } from 'uiw';
import Markdown from '../../../components/Markdown';
export default () => (
{
const md = await import('uiw/node_modules/@uiw/react-tree/README.md');
return md.default || md;