@uiw/doc 4.19.0 → 4.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/web/CONTRIBUTORS.svg +9 -7
- package/web/asset-manifest.json +162 -162
- package/web/index.html +1 -1
- package/web/static/css/{main.4bf8d5a2.css → main.4b418918.css} +2 -2
- package/web/static/css/main.4b418918.css.map +1 -0
- package/web/static/js/{1059.70cc4522.chunk.js → 1059.60857d17.chunk.js} +2 -2
- package/web/static/js/{1059.70cc4522.chunk.js.map → 1059.60857d17.chunk.js.map} +1 -1
- package/web/static/js/{1061.1d704eb8.chunk.js → 1061.15a6c03a.chunk.js} +2 -2
- package/web/static/js/{1061.1d704eb8.chunk.js.map → 1061.15a6c03a.chunk.js.map} +1 -1
- package/web/static/js/{1169.ed26a5f9.chunk.js → 1169.67184123.chunk.js} +2 -2
- package/web/static/js/{1169.ed26a5f9.chunk.js.map → 1169.67184123.chunk.js.map} +1 -1
- package/web/static/js/{1317.4ee75a40.chunk.js → 1317.1d514e37.chunk.js} +2 -2
- package/web/static/js/{1317.4ee75a40.chunk.js.map → 1317.1d514e37.chunk.js.map} +1 -1
- package/web/static/js/{1584.25c91c0b.chunk.js → 1584.cbffc663.chunk.js} +2 -2
- package/web/static/js/{1584.25c91c0b.chunk.js.map → 1584.cbffc663.chunk.js.map} +1 -1
- package/web/static/js/{1619.757d1d8b.chunk.js → 1619.ffb60fc8.chunk.js} +2 -2
- package/web/static/js/{1619.757d1d8b.chunk.js.map → 1619.ffb60fc8.chunk.js.map} +1 -1
- package/web/static/js/{163.d3530f01.chunk.js → 163.866fca8e.chunk.js} +2 -2
- package/web/static/js/{163.d3530f01.chunk.js.map → 163.866fca8e.chunk.js.map} +1 -1
- package/web/static/js/{1820.498b02b5.chunk.js → 1820.8bd55a94.chunk.js} +2 -2
- package/web/static/js/{1820.498b02b5.chunk.js.map → 1820.8bd55a94.chunk.js.map} +1 -1
- package/web/static/js/1892.1bd435f7.chunk.js +2 -0
- package/web/static/js/1892.1bd435f7.chunk.js.map +1 -0
- package/web/static/js/{2156.8597d496.chunk.js → 2156.838816af.chunk.js} +2 -2
- package/web/static/js/{2156.8597d496.chunk.js.map → 2156.838816af.chunk.js.map} +1 -1
- package/web/static/js/{2190.6b83e839.chunk.js → 2190.94aca477.chunk.js} +2 -2
- package/web/static/js/{2190.6b83e839.chunk.js.map → 2190.94aca477.chunk.js.map} +1 -1
- package/web/static/js/{221.165726fd.chunk.js → 221.921570d7.chunk.js} +2 -2
- package/web/static/js/{221.165726fd.chunk.js.map → 221.921570d7.chunk.js.map} +1 -1
- package/web/static/js/{2230.b89bcc25.chunk.js → 2230.8124ecc2.chunk.js} +2 -2
- package/web/static/js/{2230.b89bcc25.chunk.js.map → 2230.8124ecc2.chunk.js.map} +1 -1
- package/web/static/js/{2316.adffc0e6.chunk.js → 2316.86e9573e.chunk.js} +2 -2
- package/web/static/js/{2316.adffc0e6.chunk.js.map → 2316.86e9573e.chunk.js.map} +1 -1
- package/web/static/js/{2367.3e9ea190.chunk.js → 2367.e65fbbae.chunk.js} +2 -2
- package/web/static/js/{2367.3e9ea190.chunk.js.map → 2367.e65fbbae.chunk.js.map} +1 -1
- package/web/static/js/{2411.972687a4.chunk.js → 2411.7f311f2c.chunk.js} +2 -2
- package/web/static/js/{2411.972687a4.chunk.js.map → 2411.7f311f2c.chunk.js.map} +1 -1
- package/web/static/js/{2582.35b5ecc3.chunk.js → 2582.4a7761db.chunk.js} +2 -2
- package/web/static/js/{2582.35b5ecc3.chunk.js.map → 2582.4a7761db.chunk.js.map} +1 -1
- package/web/static/js/{2595.d93782e1.chunk.js → 2595.c13509aa.chunk.js} +2 -2
- package/web/static/js/{2595.d93782e1.chunk.js.map → 2595.c13509aa.chunk.js.map} +1 -1
- package/web/static/js/{2737.fea38fb6.chunk.js → 2737.a2d9a248.chunk.js} +2 -2
- package/web/static/js/{2737.fea38fb6.chunk.js.map → 2737.a2d9a248.chunk.js.map} +1 -1
- package/web/static/js/{2782.883898ae.chunk.js → 2782.4e51b99b.chunk.js} +2 -2
- package/web/static/js/{2782.883898ae.chunk.js.map → 2782.4e51b99b.chunk.js.map} +1 -1
- package/web/static/js/{3313.a6d067a9.chunk.js → 3313.69770557.chunk.js} +2 -2
- package/web/static/js/{3313.a6d067a9.chunk.js.map → 3313.69770557.chunk.js.map} +1 -1
- package/web/static/js/{3518.bb643124.chunk.js → 3518.886015eb.chunk.js} +2 -2
- package/web/static/js/{3518.bb643124.chunk.js.map → 3518.886015eb.chunk.js.map} +1 -1
- package/web/static/js/3811.350251de.chunk.js +2 -0
- package/web/static/js/3811.350251de.chunk.js.map +1 -0
- package/web/static/js/{3812.e524030b.chunk.js → 3812.7ff588c8.chunk.js} +2 -2
- package/web/static/js/{3812.e524030b.chunk.js.map → 3812.7ff588c8.chunk.js.map} +1 -1
- package/web/static/js/{3917.ad6c621b.chunk.js → 3917.24a53c8d.chunk.js} +2 -2
- package/web/static/js/{3917.ad6c621b.chunk.js.map → 3917.24a53c8d.chunk.js.map} +1 -1
- package/web/static/js/{4010.eea5864e.chunk.js → 4010.1df4e554.chunk.js} +2 -2
- package/web/static/js/{4010.eea5864e.chunk.js.map → 4010.1df4e554.chunk.js.map} +1 -1
- package/web/static/js/{4098.e8ba2177.chunk.js → 4098.e24a6a6a.chunk.js} +2 -2
- package/web/static/js/{4098.e8ba2177.chunk.js.map → 4098.e24a6a6a.chunk.js.map} +1 -1
- package/web/static/js/{4128.7a0774b3.chunk.js → 4128.124a7dba.chunk.js} +2 -2
- package/web/static/js/{4128.7a0774b3.chunk.js.map → 4128.124a7dba.chunk.js.map} +1 -1
- package/web/static/js/{4188.ff72b2df.chunk.js → 4188.8ed0ad94.chunk.js} +2 -2
- package/web/static/js/{4188.ff72b2df.chunk.js.map → 4188.8ed0ad94.chunk.js.map} +1 -1
- package/web/static/js/{433.cbe03701.chunk.js → 433.32f68ce0.chunk.js} +2 -2
- package/web/static/js/{433.cbe03701.chunk.js.map → 433.32f68ce0.chunk.js.map} +1 -1
- package/web/static/js/{4396.532af3c4.chunk.js → 4396.4b813789.chunk.js} +2 -2
- package/web/static/js/{4396.532af3c4.chunk.js.map → 4396.4b813789.chunk.js.map} +1 -1
- package/web/static/js/{4405.cc06d0a4.chunk.js → 4405.a1c35d63.chunk.js} +2 -2
- package/web/static/js/{4405.cc06d0a4.chunk.js.map → 4405.a1c35d63.chunk.js.map} +1 -1
- package/web/static/js/{4503.6a19e301.chunk.js → 4503.2a04e5a0.chunk.js} +2 -2
- package/web/static/js/{4503.6a19e301.chunk.js.map → 4503.2a04e5a0.chunk.js.map} +1 -1
- package/web/static/js/{4648.31d1bc6f.chunk.js → 4648.a142a917.chunk.js} +2 -2
- package/web/static/js/{4648.31d1bc6f.chunk.js.map → 4648.a142a917.chunk.js.map} +1 -1
- package/web/static/js/{4877.d1c7b1b8.chunk.js → 4877.2d0b7638.chunk.js} +2 -2
- package/web/static/js/{4877.d1c7b1b8.chunk.js.map → 4877.2d0b7638.chunk.js.map} +1 -1
- package/web/static/js/{4948.a0fb37a1.chunk.js → 4948.5727da98.chunk.js} +2 -2
- package/web/static/js/{4948.a0fb37a1.chunk.js.map → 4948.5727da98.chunk.js.map} +1 -1
- package/web/static/js/5183.ac2ca737.js.LICENSE.txt +1 -1
- package/web/static/js/5183.ac2ca737.js.map +1 -1
- package/web/static/js/{5244.f1f34471.chunk.js → 5244.09a480b8.chunk.js} +2 -2
- package/web/static/js/{5244.f1f34471.chunk.js.map → 5244.09a480b8.chunk.js.map} +1 -1
- package/web/static/js/{5263.451d053b.chunk.js → 5263.9e01aa1b.chunk.js} +2 -2
- package/web/static/js/{5263.451d053b.chunk.js.map → 5263.9e01aa1b.chunk.js.map} +1 -1
- package/web/static/js/{5308.188c6919.chunk.js → 5308.5fa19a94.chunk.js} +2 -2
- package/web/static/js/{5308.188c6919.chunk.js.map → 5308.5fa19a94.chunk.js.map} +1 -1
- package/web/static/js/{5393.d46583a0.chunk.js → 5393.9677b895.chunk.js} +2 -2
- package/web/static/js/{5393.d46583a0.chunk.js.map → 5393.9677b895.chunk.js.map} +1 -1
- package/web/static/js/{5408.03fd799d.chunk.js → 5408.16aaa143.chunk.js} +2 -2
- package/web/static/js/{5408.03fd799d.chunk.js.map → 5408.16aaa143.chunk.js.map} +1 -1
- package/web/static/js/5468.50941a38.chunk.js +2 -0
- package/web/static/js/5468.50941a38.chunk.js.map +1 -0
- package/web/static/js/{5595.5adc1449.chunk.js → 5595.2f6f4e93.chunk.js} +2 -2
- package/web/static/js/{5595.5adc1449.chunk.js.map → 5595.2f6f4e93.chunk.js.map} +1 -1
- package/web/static/js/{5865.da780987.chunk.js → 5865.3490e015.chunk.js} +2 -2
- package/web/static/js/{5865.da780987.chunk.js.map → 5865.3490e015.chunk.js.map} +1 -1
- package/web/static/js/{5933.3327eab6.chunk.js → 5933.0b61a30f.chunk.js} +2 -2
- package/web/static/js/{5933.3327eab6.chunk.js.map → 5933.0b61a30f.chunk.js.map} +1 -1
- package/web/static/js/{643.c21950e3.chunk.js → 643.d18b8cec.chunk.js} +2 -2
- package/web/static/js/{643.c21950e3.chunk.js.map → 643.d18b8cec.chunk.js.map} +1 -1
- package/web/static/js/{6510.a485c911.chunk.js → 6510.e93c05f4.chunk.js} +2 -2
- package/web/static/js/{6510.a485c911.chunk.js.map → 6510.e93c05f4.chunk.js.map} +1 -1
- package/web/static/js/{6536.e713d674.chunk.js → 6536.d87822b3.chunk.js} +2 -2
- package/web/static/js/{6536.e713d674.chunk.js.map → 6536.d87822b3.chunk.js.map} +1 -1
- package/web/static/js/{6715.ac7aee49.chunk.js → 6715.d4813bdc.chunk.js} +2 -2
- package/web/static/js/{6715.ac7aee49.chunk.js.map → 6715.d4813bdc.chunk.js.map} +1 -1
- package/web/static/js/{6730.64253505.chunk.js → 6730.812d0242.chunk.js} +2 -2
- package/web/static/js/{6730.64253505.chunk.js.map → 6730.812d0242.chunk.js.map} +1 -1
- package/web/static/js/{694.5c881a2e.chunk.js → 694.3dc0352c.chunk.js} +2 -2
- package/web/static/js/{694.5c881a2e.chunk.js.map → 694.3dc0352c.chunk.js.map} +1 -1
- package/web/static/js/{7087.63297a6f.chunk.js → 7087.eead932f.chunk.js} +2 -2
- package/web/static/js/{7087.63297a6f.chunk.js.map → 7087.eead932f.chunk.js.map} +1 -1
- package/web/static/js/{7104.1d2ab7a9.chunk.js → 7104.c26afdc0.chunk.js} +2 -2
- package/web/static/js/{7104.1d2ab7a9.chunk.js.map → 7104.c26afdc0.chunk.js.map} +1 -1
- package/web/static/js/{7157.92f1e8f8.chunk.js → 7157.0603b246.chunk.js} +2 -2
- package/web/static/js/{7157.92f1e8f8.chunk.js.map → 7157.0603b246.chunk.js.map} +1 -1
- package/web/static/js/{7313.b857c0a6.chunk.js → 7313.9c56b387.chunk.js} +2 -2
- package/web/static/js/{7313.b857c0a6.chunk.js.map → 7313.9c56b387.chunk.js.map} +1 -1
- package/web/static/js/{7390.857152af.chunk.js → 7390.9557ba61.chunk.js} +2 -2
- package/web/static/js/{7390.857152af.chunk.js.map → 7390.9557ba61.chunk.js.map} +1 -1
- package/web/static/js/{748.98647192.chunk.js → 748.82afc4ed.chunk.js} +2 -2
- package/web/static/js/{748.98647192.chunk.js.map → 748.82afc4ed.chunk.js.map} +1 -1
- package/web/static/js/{7541.11ca70cc.chunk.js → 7541.dafa7879.chunk.js} +2 -2
- package/web/static/js/{7541.11ca70cc.chunk.js.map → 7541.dafa7879.chunk.js.map} +1 -1
- package/web/static/js/{7761.4f86f4fc.chunk.js → 7761.ba44ee99.chunk.js} +2 -2
- package/web/static/js/{7761.4f86f4fc.chunk.js.map → 7761.ba44ee99.chunk.js.map} +1 -1
- package/web/static/js/{782.19be4f5b.chunk.js → 782.7a65d8b8.chunk.js} +3 -3
- package/web/static/js/{782.19be4f5b.chunk.js.LICENSE.txt → 782.7a65d8b8.chunk.js.LICENSE.txt} +0 -0
- package/web/static/js/{782.19be4f5b.chunk.js.map → 782.7a65d8b8.chunk.js.map} +1 -1
- package/web/static/js/{7834.3d9aad80.chunk.js → 7834.82c0a4c4.chunk.js} +2 -2
- package/web/static/js/{7834.3d9aad80.chunk.js.map → 7834.82c0a4c4.chunk.js.map} +1 -1
- package/web/static/js/{7875.0f5194a8.chunk.js → 7875.687fd51a.chunk.js} +2 -2
- package/web/static/js/{7875.0f5194a8.chunk.js.map → 7875.687fd51a.chunk.js.map} +1 -1
- package/web/static/js/{7884.05f33e8e.chunk.js → 7884.a9f6528a.chunk.js} +2 -2
- package/web/static/js/{7884.05f33e8e.chunk.js.map → 7884.a9f6528a.chunk.js.map} +1 -1
- package/web/static/js/{8023.ab803b61.chunk.js → 8023.b16af62c.chunk.js} +2 -2
- package/web/static/js/{8023.ab803b61.chunk.js.map → 8023.b16af62c.chunk.js.map} +1 -1
- package/web/static/js/{8073.dfc6474a.chunk.js → 8073.87ad75d9.chunk.js} +2 -2
- package/web/static/js/{8073.dfc6474a.chunk.js.map → 8073.87ad75d9.chunk.js.map} +1 -1
- package/web/static/js/{8566.7e6aa0e3.chunk.js → 8566.abfec2fd.chunk.js} +2 -2
- package/web/static/js/{8566.7e6aa0e3.chunk.js.map → 8566.abfec2fd.chunk.js.map} +1 -1
- package/web/static/js/{875.a67c4d77.chunk.js → 875.6cb49152.chunk.js} +2 -2
- package/web/static/js/{875.a67c4d77.chunk.js.map → 875.6cb49152.chunk.js.map} +1 -1
- package/web/static/js/{8898.9bf4a82c.chunk.js → 8898.63c6dde1.chunk.js} +2 -2
- package/web/static/js/{8898.9bf4a82c.chunk.js.map → 8898.63c6dde1.chunk.js.map} +1 -1
- package/web/static/js/{9121.b5862ff2.chunk.js → 9121.8ee8150d.chunk.js} +2 -2
- package/web/static/js/{9121.b5862ff2.chunk.js.map → 9121.8ee8150d.chunk.js.map} +1 -1
- package/web/static/js/{9253.1934e571.chunk.js → 9253.443e075b.chunk.js} +2 -2
- package/web/static/js/{9253.1934e571.chunk.js.map → 9253.443e075b.chunk.js.map} +1 -1
- package/web/static/js/{9260.82dd66dc.chunk.js → 9260.2af977b5.chunk.js} +2 -2
- package/web/static/js/{9260.82dd66dc.chunk.js.map → 9260.2af977b5.chunk.js.map} +1 -1
- package/web/static/js/{9384.cc0e0188.chunk.js → 9384.29d10f98.chunk.js} +2 -2
- package/web/static/js/{9384.cc0e0188.chunk.js.map → 9384.29d10f98.chunk.js.map} +1 -1
- package/web/static/js/{9503.017b251d.chunk.js → 9503.ed1c3185.chunk.js} +2 -2
- package/web/static/js/{9503.017b251d.chunk.js.map → 9503.ed1c3185.chunk.js.map} +1 -1
- package/web/static/js/{9673.13304703.chunk.js → 9673.5f90153c.chunk.js} +2 -2
- package/web/static/js/{9673.13304703.chunk.js.map → 9673.5f90153c.chunk.js.map} +1 -1
- package/web/static/js/{9763.09e7e474.chunk.js → 9763.346983a7.chunk.js} +2 -2
- package/web/static/js/{9763.09e7e474.chunk.js.map → 9763.346983a7.chunk.js.map} +1 -1
- package/web/static/js/{9776.761aa941.chunk.js → 9776.4e4eff56.chunk.js} +2 -2
- package/web/static/js/{9776.761aa941.chunk.js.map → 9776.4e4eff56.chunk.js.map} +1 -1
- package/web/static/js/{9777.565166c4.chunk.js → 9777.c66a3f01.chunk.js} +2 -2
- package/web/static/js/{9777.565166c4.chunk.js.map → 9777.c66a3f01.chunk.js.map} +1 -1
- package/web/static/js/{9853.aca4f6a2.chunk.js → 9853.43c6381c.chunk.js} +2 -2
- package/web/static/js/{9853.aca4f6a2.chunk.js.map → 9853.43c6381c.chunk.js.map} +1 -1
- package/web/static/js/main.5cc92d9f.js +2 -0
- package/web/static/js/main.5cc92d9f.js.map +1 -0
- package/web/static/css/main.4bf8d5a2.css.map +0 -1
- package/web/static/js/1892.0f341f07.chunk.js +0 -2
- package/web/static/js/1892.0f341f07.chunk.js.map +0 -1
- package/web/static/js/3811.ac38cada.chunk.js +0 -2
- package/web/static/js/3811.ac38cada.chunk.js.map +0 -1
- package/web/static/js/5468.aef3688e.chunk.js +0 -2
- package/web/static/js/5468.aef3688e.chunk.js.map +0 -1
- package/web/static/js/main.ffdad5a8.js +0 -2
- package/web/static/js/main.ffdad5a8.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5468],{25468:function(n,e,l){l.r(e),e.default="Tree \u6811\u5f62\u63a7\u4ef6\n===\n\n[](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-tree/file/README.md)\n[](https://www.npmjs.com/package/@uiw/react-tree)\n[](https://npmjs.com/@uiw/react-tree)\n\n\u4f7f\u7528\u6811\u63a7\u4ef6\u53ef\u4ee5\u5b8c\u6574\u5c55\u73b0\u5176\u4e2d\u7684\u5c42\u7ea7\u5173\u7cfb\uff0c\u5e76\u5177\u6709\u5c55\u5f00\u6536\u8d77\u9009\u62e9\u7b49\u4ea4\u4e92\u529f\u80fd\u3002\n\n```jsx\nimport { Tree } from 'uiw';\n// or\nimport Tree from '@uiw/react-tree';\n```\n\n### \u57fa\u7840\u7528\u6cd5\n\n\x3c!--rehype:bgWhite=true&codeSandbox=true&codePen=true--\x3e\n```jsx\nimport ReactDOM from 'react-dom';\nimport { Tree, Card, Row, Col, } from 'uiw';\n\nconst data = [\n {\n label: '\u6e56\u5317\u7701',\n key: '0-0-0',\n children:[\n {\n label: '\u6b66\u6c49\u5e02',\n key: '0-1-0',\n children:[\n { label: '\u65b0\u6d32\u533a', key: '0-1-1' },\n { label: '\u6b66\u660c\u533a', key: '0-1-2' },\n {\n label: '\u6c49\u5357\u533a',\n key: '0-1-3',\n children:[\n { label: '\u6c49\u5357\u533a1', key: '0-1-3-1' },\n { label: '\u6c49\u5357\u533a2', key: '0-1-3-2' },\n { label: '\u6c49\u5357\u533a3', key: '0-1-3-3' },\n ]\n },\n ]\n },\n { label: '\u9ec4\u5188\u5e02', key: '0-2-0' },\n {\n label: '\u9ec4\u77f3\u5e02',\n key: '0-3-0',\n children:[\n { label: '\u9752\u5c71\u533a', key: '0-3-1' },\n { label: '\u9ec4\u9642\u533a', key: '0-3-2' },\n { label: '\u9752\u5c71\u533a', key: '0-3-3' },\n ]\n },\n ]\n },\n {\n label: '\u4e0a\u6d77\u5e02',\n key: '1-0-0',\n children:[\n { label: '\u9ec4\u6d66\u533a', key: '1-0-1' },\n { label: '\u5362\u6e7e\u533a', key: '1-0-2' },\n {\n label: '\u5f90\u6c47\u533a',\n key: '1-0-3',\n children:[\n { label: '\u534a\u6dde\u56ed\u8def\u8857\u9053', key: '1-1-0' },\n { label: '\u5357\u4eac\u4e1c\u8def\u8857\u9053', key: '1-2-0' },\n { label: '\u5916\u6ee9\u8857\u9053', key: '1-3-0' },\n ]\n },\n ]\n },\n {\n label: '\u5317\u4eac\u5e02',\n key: '2-0-0',\n children:[\n { label: '\u4e1c\u57ce\u533a', key: '2-1-0' },\n { label: '\u897f\u57ce\u533a', key: '2-2-0' },\n {\n label: '\u5d07\u6587\u533a',\n key: '2-3-0',\n children:[\n { label: '\u4e1c\u82b1\u5e02\u8857\u9053', key: '2-3-1' },\n { label: '\u4f53\u80b2\u9986\u8def\u8857\u9053', key: '2-3-2' },\n { label: '\u524d\u95e8\u8857\u9053', key: '2-3-3' },\n ]\n },\n ]\n }\n];\n\nconst Demo = () => (\n <div>\n <Row gutter={10}>\n <Col fixed>\n <Card title=\"\u5355\u9009\">\n <Tree\n defaultExpandAll={true}\n data={data}\n onExpand={(key, expanded, data, node) => {\n console.log('onExpand',key, expanded, data, node);\n }}\n onSelected={(key, selected, item, evn) => {\n console.log('onSelected',key, selected, item, evn);\n }}\n />\n </Card>\n </Col>\n <Col fixed>\n <Card title=\"\u591a\u9009\uff0c\u5b50\u8282\u70b9\u4e0d\u53d7\u63a7\">\n <Tree\n autoExpandParent={true}\n data={data}\n multiple\n onExpand={(key, expanded, data, node) => {\n console.log(key, expanded, data, node);\n }}\n onSelected={(key, selected, item, evn) => {\n console.log(key, selected, item, evn);\n }}\n />\n </Card>\n </Col>\n <Col fixed>\n <Card title=\"\u591a\u9009\uff0c\u5b50\u8282\u70b9\u53d7\u63a7\">\n <Tree\n data={data}\n multiple\n checkStrictly\n onExpand={(key, expanded, data, node) => {\n console.log(key, expanded, data, node);\n }}\n onSelected={(key, selected, item, evn) => {\n console.log(key, selected, item, evn);\n }}\n />\n </Card>\n </Col>\n </Row>\n </div>\n)\nReactDOM.render(<Demo />, _mount_);\n```\n\n### \u81ea\u5b9a\u4e49\u56fe\u6807\n\n\x3c!--rehype:bgWhite=true&codeSandbox=true&codePen=true--\x3e\n```jsx\nimport ReactDOM from 'react-dom';\nimport { Tree, Card, Row, Col, Icon } from 'uiw';\n\nconst data = [\n {\n label: '\u6e56\u5317\u7701',\n key: '0-0-0',\n children:[\n {\n label: '\u6b66\u6c49\u5e02',\n key: '0-1-0',\n children:[\n { label: '\u65b0\u6d32\u533a', key: '0-1-1' },\n { label: '\u6b66\u660c\u533a', key: '0-1-2' },\n {\n label: '\u6c49\u5357\u533a',\n key: '0-1-3',\n children:[\n { label: '\u6c49\u5357\u533a1', key: '0-1-3-1' },\n { label: '\u6c49\u5357\u533a2', key: '0-1-3-2' },\n { label: '\u6c49\u5357\u533a3', key: '0-1-3-3' },\n ]\n },\n ]\n },\n { label: '\u9ec4\u5188\u5e02', key: '0-2-0' },\n {\n label: '\u9ec4\u77f3\u5e02',\n key: '0-3-0',\n children:[\n { label: '\u9752\u5c71\u533a', key: '0-3-1' },\n { label: '\u9ec4\u9642\u533a', key: '0-3-2' },\n { label: '\u9752\u5c71\u533a', key: '0-3-3' },\n ]\n },\n ]\n },\n {\n label: '\u4e0a\u6d77\u5e02',\n key: '1-0-0',\n children:[\n { label: '\u9ec4\u6d66\u533a', key: '1-0-1' },\n { label: '\u5362\u6e7e\u533a', key: '1-0-2' },\n {\n label: '\u5f90\u6c47\u533a',\n key: '1-0-3',\n children:[\n { label: '\u534a\u6dde\u56ed\u8def\u8857\u9053', key: '1-1-0' },\n { label: '\u5357\u4eac\u4e1c\u8def\u8857\u9053', key: '1-2-0' },\n { label: '\u5916\u6ee9\u8857\u9053', key: '1-3-0' },\n ]\n },\n ]\n },\n {\n label: '\u5317\u4eac\u5e02',\n key: '2-0-0',\n children:[\n { label: '\u4e1c\u57ce\u533a', key: '2-1-0' },\n { label: '\u897f\u57ce\u533a', key: '2-2-0' },\n {\n label: '\u5d07\u6587\u533a',\n key: '2-3-0',\n children:[\n { label: '\u4e1c\u82b1\u5e02\u8857\u9053', key: '2-3-1' },\n { label: '\u4f53\u80b2\u9986\u8def\u8857\u9053', key: '2-3-2' },\n { label: '\u524d\u95e8\u8857\u9053', key: '2-3-3' },\n ]\n },\n ]\n }\n];\n\nconst Demo = () => (\n <div>\n <Row gutter={10}>\n <Col fixed>\n <Card title=\"\u6807\u9898\u4e2d\u6dfb\u52a0\u56fe\u6807\">\n <Tree\n data={data}\n renderTitle={(item, { selected, noChild }) => (\n <>\n <Icon style={{ display: '-webkit-inline-box' }} type={noChild ? 'smile-o' : 'apple'} />\n <span>{item.label}</span>\n </>\n )}\n onExpand={(key, expanded, data, node) => {\n console.log(key, expanded, data, node);\n }}\n onSelected={(key, selected, item, evn) => {\n console.log(key, selected, item, evn);\n }}\n />\n </Card>\n </Col>\n <Col fixed>\n <Card title=\"\u66ff\u6362\u9ed8\u8ba4\u6298\u53e0\u56fe\u6807\">\n <Tree\n data={data}\n icon=\"right-circle-o\"\n onExpand={(key, expanded, data, node) => {\n console.log(key, expanded, data, node);\n }}\n onSelected={(key, selected, item, evn) => {\n console.log(key, selected, item, evn);\n }}\n />\n </Card>\n </Col>\n <Col fixed>\n <Card title=\"\u81ea\u5b9a\u4e49\u5c55\u5f00\u56fe\u6807\">\n <Tree\n data={data}\n iconAnimation={false}\n icon={(data, { isOpen, noChild }) => {\n if(isOpen && !noChild) {\n return 'folder-open';\n } else if (!noChild) {\n return 'folder';\n }\n return 'file-text';\n }}\n onExpand={(key, expanded, data) => {\n console.log(key, expanded, data);\n }}\n onSelected={(key, selected, item, evn) => {\n console.log(key, selected, item, evn);\n }}\n />\n </Card>\n </Col>\n </Row>\n </div>\n)\nReactDOM.render(<Demo />, _mount_);\n```\n\n### \u81ea\u5b9a\u4e49\u9009\u4e2d\u6548\u679c\n\n\u901a\u8fc7\u8bbe\u7f6e `checkStrictly` \u7236\u8282\u70b9\u53d7\u5b50\u8282\u70b9\u63a7\u5236\uff0c\u8bbe\u7f6e `multiple` \u4e3a\u591a\u9009\uff0c\u8bbe\u7f6e `isSelected` \u53d6\u6d88\u9009\u4e2d\u6548\u679c\uff0c\u4e5f\u53ef\u4ee5\u4f7f\u7528 [`TreeChecked`](#/components/tree-checked) \u7ec4\u4ef6\u3002\n\n\x3c!--rehype:bgWhite=true&codeSandbox=true&codePen=true--\x3e\n```jsx\nimport ReactDOM from 'react-dom';\nimport { Tree, Card, Row, Col } from 'uiw';\n\nconst data = [\n {\n label: '\u6e56\u5317\u7701',\n key: '0-0-0',\n children:[\n {\n label: '\u6b66\u6c49\u5e02',\n key: '0-1-0',\n children:[\n { label: '\u65b0\u6d32\u533a', key: '0-1-1', disabled: true },\n { label: '\u6b66\u660c\u533a', key: '0-1-2' },\n {\n label: '\u6c49\u5357\u533a',\n key: '0-1-3',\n children:[\n { label: '\u6c49\u5357\u533a1', key: '0-1-3-1' },\n { label: '\u6c49\u5357\u533a2', key: '0-1-3-2' },\n { label: '\u6c49\u5357\u533a3', key: '0-1-3-3' },\n ]\n },\n ]\n },\n { label: '\u9ec4\u5188\u5e02', key: '0-2-0' },\n {\n label: '\u9ec4\u77f3\u5e02',\n key: '0-3-0',\n children:[\n { label: '\u9752\u5c71\u533a', key: '0-3-1' },\n { label: '\u9ec4\u9642\u533a', key: '0-3-2' },\n { label: '\u9752\u5c71\u533a', key: '0-3-3' },\n ]\n },\n ]\n },\n {\n label: '\u4e0a\u6d77\u5e02',\n key: '1-0-0',\n children:[\n { label: '\u9ec4\u6d66\u533a', key: '1-0-1' },\n { label: '\u5362\u6e7e\u533a', key: '1-0-2' },\n {\n label: '\u5f90\u6c47\u533a',\n key: '1-0-3',\n children:[\n { label: '\u534a\u6dde\u56ed\u8def\u8857\u9053', key: '1-1-0' },\n { label: '\u5357\u4eac\u4e1c\u8def\u8857\u9053', key: '1-2-0' },\n { label: '\u5916\u6ee9\u8857\u9053', key: '1-3-0' },\n ]\n },\n ]\n },\n {\n label: '\u5317\u4eac\u5e02',\n key: '2-0-0',\n children:[\n { label: '\u4e1c\u57ce\u533a', key: '2-1-0' },\n { label: '\u897f\u57ce\u533a', key: '2-2-0' },\n {\n label: '\u5d07\u6587\u533a',\n key: '2-3-0',\n children:[\n { label: '\u4e1c\u82b1\u5e02\u8857\u9053', key: '2-3-1' },\n { label: '\u4f53\u80b2\u9986\u8def\u8857\u9053', key: '2-3-2' },\n { label: '\u524d\u95e8\u8857\u9053', key: '2-3-3' },\n ]\n },\n ]\n },\n { label: '\u6fb3\u95e8', key: '3' },\n];\n\nconst Demo = () => (\n <div>\n <Tree\n data={data}\n selectedKeys={['0-1-1']}\n multiple\n isSelected={false}\n checkStrictly\n renderTitle={(item, { selected, isHalfChecked }) => {\n if(isHalfChecked) {\n return (\n <><Icon type=\"minus-square-o\" style={{ color: 'green' }} /> <span>{item.label}</span></>\n );\n }\n if (selected) {\n return (\n <><Icon type=\"check-square-o\" style={{ color: 'green' }} /> <span>{item.label}</span></>\n );\n }\n return (\n <><Icon type=\"square-o\" style={{ color: '#b6b6b6' }} /> <span>{item.label}</span></>\n );\n }}\n onExpand={(key, expanded, data, node) => {\n console.log(key, expanded, data, node);\n }}\n onSelected={(key, selected, item, evn) => {\n console.log(key, selected, item, evn);\n }}\n />\n </div>\n)\nReactDOM.render(<Demo />, _mount_);\n```\n\n\n### \u8fde\u63a5\u7ebf\n\n\u5e26\u8fde\u63a5\u7ebf\u7684\u6811\uff0c\u901a\u8fc7\u8bbe\u7f6e `showLine`\u3002\n\n\x3c!--rehype:bgWhite=true&codeSandbox=true&codePen=true--\x3e\n```jsx\nimport ReactDOM from 'react-dom';\nimport { Tree, Card, Row, Col } from 'uiw';\n\nconst data = [\n {\n label: '\u6e56\u5317\u7701',\n key: '0-0-0',\n children:[\n {\n label: '\u6b66\u6c49\u5e02',\n key: '0-1-0',\n children:[\n { label: '\u65b0\u6d32\u533a', key: '0-1-1' },\n { label: '\u6b66\u660c\u533a', key: '0-1-2' },\n {\n label: '\u6c49\u5357\u533a',\n key: '0-1-3',\n children:[\n { label: '\u6c49\u5357\u533a1', key: '0-1-3-1' },\n { label: '\u6c49\u5357\u533a2', key: '0-1-3-2' },\n { label: '\u6c49\u5357\u533a3', key: '0-1-3-3' },\n ]\n },\n ]\n },\n { label: '\u9ec4\u5188\u5e02', key: '0-2-0' },\n {\n label: '\u9ec4\u77f3\u5e02',\n key: '0-3-0',\n children:[\n { label: '\u9752\u5c71\u533a', key: '0-3-1' },\n { label: '\u9ec4\u9642\u533a', key: '0-3-2' },\n { label: '\u9752\u5c71\u533a', key: '0-3-3' },\n ]\n },\n ]\n },\n {\n label: '\u4e0a\u6d77\u5e02',\n key: '1-0-0',\n children:[\n { label: '\u9ec4\u6d66\u533a', key: '1-0-1' },\n { label: '\u5362\u6e7e\u533a', key: '1-0-2' },\n {\n label: '\u5f90\u6c47\u533a',\n key: '1-0-3',\n children:[\n { label: '\u534a\u6dde\u56ed\u8def\u8857\u9053', key: '1-1-0' },\n { label: '\u5357\u4eac\u4e1c\u8def\u8857\u9053', key: '1-2-0' },\n { label: '\u5916\u6ee9\u8857\u9053', key: '1-3-0' },\n ]\n },\n ]\n },\n {\n label: '\u5317\u4eac\u5e02',\n key: '2-0-0',\n children:[\n { label: '\u4e1c\u57ce\u533a', key: '2-1-0' },\n { label: '\u897f\u57ce\u533a', key: '2-2-0' },\n {\n label: '\u5d07\u6587\u533a',\n key: '2-3-0',\n children:[\n { label: '\u4e1c\u82b1\u5e02\u8857\u9053', key: '2-3-1' },\n { label: '\u4f53\u80b2\u9986\u8def\u8857\u9053', key: '2-3-2' },\n { label: '\u524d\u95e8\u8857\u9053', key: '2-3-3' },\n ]\n },\n ]\n }\n];\n\nconst Demo = () => (\n <div>\n <Row gutter={10}>\n <Col fixed>\n <Card title=\"\u81ea\u5b9a\u4e49\u5c55\u5f00\u56fe\u6807\">\n <Tree\n data={data}\n showLine\n iconAnimation={false}\n icon={(data, {isOpen, noChild}) => {\n if(isOpen && !noChild) {\n return 'folder-open';\n } else if (!noChild) {\n return 'folder';\n }\n return 'file-text';\n }}\n onExpand={(key, expanded, data) => {\n console.log(key, expanded, data);\n }}\n onSelected={(key, selected, item, evn) => {\n console.log(key, selected, item, evn);\n }}\n />\n </Card>\n </Col>\n <Col fixed>\n <Card title=\"\u81ea\u5b9a\u4e49\u5c55\u5f00\u56fe\u6807\">\n <Tree\n data={data}\n showLine\n icon={(data, {isOpen, noChild}) => {\n if(noChild) {\n return 'file-text';\n }\n }}\n onExpand={(key, expanded, data) => {\n console.log(key, expanded, data);\n }}\n onSelected={(key, selected, item, evn) => {\n console.log(key, selected, item, evn);\n }}\n />\n </Card>\n </Col>\n </Row>\n </div>\n)\nReactDOM.render(<Demo />, _mount_);\n```\n\n### \u9ed8\u8ba4\u5c55\u5f00\u6811\n\n\x3c!--rehype:bgWhite=true&codeSandbox=true&codePen=true--\x3e\n```jsx\nimport ReactDOM from 'react-dom';\nimport { Tree, Card, Row, Col } from 'uiw';\n\nconst data = [\n {\n label: '\u6e56\u5317\u7701',\n key: '0-0-0',\n children:[\n {\n label: '\u6b66\u6c49\u5e02',\n key: '0-1-0',\n children:[\n { label: '\u65b0\u6d32\u533a', key: '0-1-1' },\n { label: '\u6b66\u660c\u533a', key: '0-1-2' },\n {\n label: '\u6c49\u5357\u533a',\n key: '0-1-3',\n children:[\n { label: '\u6c49\u5357\u533a1', key: '0-1-3-1' },\n { label: '\u6c49\u5357\u533a2', key: '0-1-3-2' },\n { label: '\u6c49\u5357\u533a3', key: '0-1-3-3' },\n ]\n },\n ]\n },\n { label: '\u9ec4\u5188\u5e02', key: '0-2-0' },\n {\n label: '\u9ec4\u77f3\u5e02',\n key: '0-3-0',\n children:[\n { label: '\u9752\u5c71\u533a', key: '0-3-1' },\n { label: '\u9ec4\u9642\u533a', key: '0-3-2' },\n { label: '\u9752\u5c71\u533a', key: '0-3-3' },\n ]\n },\n ]\n },\n {\n label: '\u4e0a\u6d77\u5e02',\n key: '1-0-0',\n children:[\n { label: '\u9ec4\u6d66\u533a', key: '1-0-1' },\n { label: '\u5362\u6e7e\u533a', key: '1-0-2' },\n {\n label: '\u5f90\u6c47\u533a',\n key: '1-0-3',\n children:[\n { label: '\u534a\u6dde\u56ed\u8def\u8857\u9053', key: '1-1-0' },\n { label: '\u5357\u4eac\u4e1c\u8def\u8857\u9053', key: '1-2-0' },\n { label: '\u5916\u6ee9\u8857\u9053', key: '1-3-0' },\n ]\n },\n ]\n },\n {\n label: '\u5317\u4eac\u5e02',\n key: '2-0-0',\n children:[\n { label: '\u4e1c\u57ce\u533a', key: '2-1-0' },\n { label: '\u897f\u57ce\u533a', key: '2-2-0' },\n ]\n }\n];\n\nconst Demo = () => (\n <div>\n <Row gutter={10}>\n <Col fixed>\n <Card title=\"\u9ed8\u8ba4\u5c55\u5f00\u90e8\u5206\">\n <Tree\n data={data}\n showLine\n openKeys={['0-0-0', '0-1-0']}\n iconAnimation={false}\n icon={(data, {isOpen, noChild}) => {\n if(isOpen && !noChild) {\n return 'folder-open';\n } else if (!noChild) {\n return 'folder';\n }\n return 'file-text';\n }}\n onExpand={(key, expanded, data) => {\n console.log(key, expanded, data);\n }}\n onSelected={(key, selected, item, evn) => {\n console.log(key, selected, item, evn);\n }}\n />\n </Card>\n </Col>\n <Col fixed>\n <Card title=\"\u5c55\u5f00\u6240\u6709\">\n <Tree\n data={data}\n showLine\n defaultExpandAll\n icon={(data, {isOpen, noChild}) => {\n if(noChild) {\n return 'file-text';\n }\n }}\n onExpand={(key, expanded, data) => {\n console.log(key, expanded, data);\n }}\n onSelected={(key, selected, item, evn) => {\n console.log(key, selected, item, evn);\n }}\n />\n </Card>\n </Col>\n </Row>\n </div>\n)\nReactDOM.render(<Demo />, _mount_);\n```\n\n\n### Form\u4e2d\u4f7f\u7528\n\n\x3c!--rehype:bgWhite=true&codeSandbox=true&codePen=true--\x3e\n```jsx\nimport ReactDOM from 'react-dom';\nimport { Tree, Row, Col, Form, Button } from 'uiw';\n\nconst data = [\n {\n label: '\u6e56\u5317\u7701',\n key: '0-0-0',\n children:[\n {\n label: '\u6b66\u6c49\u5e02',\n key: '0-1-0',\n children:[\n { label: '\u65b0\u6d32\u533a', key: '0-1-1' },\n { label: '\u6b66\u660c\u533a', key: '0-1-2' },\n {\n label: '\u6c49\u5357\u533a',\n key: '0-1-3',\n children:[\n { label: '\u6c49\u5357\u533a1', key: '0-1-3-1' },\n { label: '\u6c49\u5357\u533a2', key: '0-1-3-2' },\n { label: '\u6c49\u5357\u533a3', key: '0-1-3-3' },\n ]\n },\n ]\n },\n { label: '\u9ec4\u5188\u5e02', key: '0-2-0' },\n {\n label: '\u9ec4\u77f3\u5e02',\n key: '0-3-0',\n children:[\n { label: '\u9752\u5c71\u533a', key: '0-3-1' },\n { label: '\u9ec4\u9642\u533a', key: '0-3-2' },\n { label: '\u9752\u5c71\u533a', key: '0-3-3' },\n ]\n },\n ]\n },\n {\n label: '\u4e0a\u6d77\u5e02',\n key: '1-0-0',\n children:[\n { label: '\u9ec4\u6d66\u533a', key: '1-0-1' },\n { label: '\u5362\u6e7e\u533a', key: '1-0-2' },\n {\n label: '\u5f90\u6c47\u533a',\n key: '1-0-3',\n children:[\n { label: '\u534a\u6dde\u56ed\u8def\u8857\u9053', key: '1-1-0' },\n { label: '\u5357\u4eac\u4e1c\u8def\u8857\u9053', key: '1-2-0' },\n { label: '\u5916\u6ee9\u8857\u9053', key: '1-3-0' },\n ]\n },\n ]\n },\n {\n label: '\u5317\u4eac\u5e02',\n key: '2-0-0',\n children:[\n { label: '\u4e1c\u57ce\u533a', key: '2-1-0' },\n { label: '\u897f\u57ce\u533a', key: '2-2-0' },\n ]\n }\n];\n\nconst Demo = () => {\n return (\n <Form\n onChange={({ initial, current }) => {}}\n resetOnSubmit={false}\n onSubmitError={(error) => error && error.filed ? { ...error.filed } : null}\n onSubmit={({initial, current}) => {\n console.log('current: ', current);\n const ErrObj = {};\n if (current.tree === 'unknown') {\n ErrObj.radioGroup = '\u8bf7\u9009\u62e9\u6027\u522b\uff01';\n }\n if(Object.keys(ErrObj).length > 0) {\n const err = new Error();\n err.filed = ErrObj;\n throw err;\n }\n Notify.success({\n title: '\u63d0\u4ea4\u6210\u529f\uff01', description: `\u586b\u5199\uff1a\u3010\u586b\u5199\u6210\u529f\u3011\uff01`\n });\n }}\n fields={{\n tree: {\n value: 'region',\n label: '\u8bf7\u8f93\u5165\u5185\u5bb9',\n help: '\u5fc5\u987b\u9009\u62e9\u5730\u533a\uff01',\n initialValue: ['0-1-1'],\n children: <Tree\n // multiple \n checkStrictly\n data={data}\n />,\n },\n }}\n >\n {({ fields, state, canSubmit }) => {\n return (\n <div>\n <Row>\n <Col>{fields.tree}</Col>\n </Row>\n <Row>\n <Col>\n <Button disabled={!canSubmit()} type=\"primary\" htmlType=\"submit\">\u63d0\u4ea4</Button>\n </Col>\n </Row>\n <Row>\n <Col>\n <pre style={{ padding: 10, marginTop: 10 }}>\n {JSON.stringify(state.current, null, 2)}\n </pre>\n </Col>\n </Row>\n </div>\n );\n }}\n </Form>\n )\n}\nReactDOM.render(<Demo />, _mount_);\n```\n\n\n## Props\n\n| \u53c2\u6570 | \u8bf4\u660e | \u7c7b\u578b | \u9ed8\u8ba4\u503c |\n|--------- |-------- |--------- |-------- |\n| data | \u5c55\u793a\u6570\u636e | Array | `TreeData[]` |\n| openKeys | \u8282\u70b9\u5c55\u5f00 `key` | Array | `[]` |\n| selectedKeys | \u8bbe\u7f6e\u9009\u4e2d\u7684\u6811\u8282\u70b9 | Array | `[]` |\n| autoExpandParent | \u662f\u5426\u81ea\u52a8\u5c55\u5f00\u7236\u8282\u70b9 | Boolean | `true` |\n| defaultExpandAll | \u9ed8\u8ba4\u5c55\u5f00\u6240\u6709\u6811\u8282\u70b9 | Boolean | `false` |\n| iconAnimation | \u5c55\u5f00\u6536\u7f29\u56fe\u6807\uff0c\u53c2\u6570\u8bbe\u4e3a `false` \u7981\u7528\u52a8\u753b | Boolean | `true` |\n| isSelected | \u662f\u5426\u9009\u4e2d\u5f53\u524d\u8282\u70b9\u6837\u5f0f\u3002 | Boolean | `true` |\n| showLine | \u662f\u5426\u5c55\u793a\u8fde\u63a5\u7ebf | Boolean | `false` |\n| checkStrictly | \u5b50\u8282\u70b9\u53d7\u7236\u8282\u70b9\u63a7\u5236\u8bbe\u7f6e `true`\uff0c\u9700\u8981\u914d\u5408 `multiple` \u53c2\u6570\u4f7f\u7528\u3002 | Boolean | `false` |\n| multiple | \u652f\u6301\u70b9\u9009\u591a\u4e2a\u8282\u70b9 | Boolean | `false` |\n| icon | \u91cd\u65b0\u5b9a\u4e49\uff0c\u5c55\u5f00\u6536\u7f29\u56fe\u6807\uff0c\u5f53\u4e3a\u51fd\u6570\u65f6\u89c6\u4e3a\u81ea\u5b9a\u4e49\u56fe\u6807\uff0c\u5e76\u5c55\u793a\u975e\u6298\u53e0\u9879\u7684\u56fe\u6807\u3002 | ~~Function(data: object, noChild: bool)/String/Node~~ `@3.4.0+` Function(data: object, { selected: bool, noChild: bool })/String/Node| - |\n| renderTitle | \u91cd\u65b0\u5b9a\u4e49\u6bcf\u4e2a\u6807\u9898\u8282\u70b9\u7684\u663e\u793a | ~~Function(item, selected: bool, noChild: bool)~~ `@3.4.0+` Function(item: TreeData, node?: { selected?: boolean, noChild?: boolean, isHalfChecked?: boolean, openKeys?: TreeProps['openKeys'], selectedKeys?: TreeProps['selectedKeys'] }) => React.ReactElement; | - |\n| onSelected | \u70b9\u51fb\u9009\u62e9\u6811\u8282\u70b9\u89e6\u53d1 | Function(selectedKeys: array, key, selected: bool, data, e) | - |\n| onExpand | \u5c55\u5f00/\u6536\u8d77\u8282\u70b9\u65f6\u89e6\u53d1 | Function(key, expanded: bool, data, evn) | - |\n\n### data\n\n```json\n[\n {\n \"label\": \"\u6e56\u5317\u7701\",\n \"key\": \"0-0-0\",\n \"disabled\": false,\n \"children\":[]\n }\n ...\n]\n```\n"}}]);
|
|
2
|
-
//# sourceMappingURL=5468.aef3688e.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/5468.aef3688e.chunk.js","mappings":"gHAAA","sources":["../../packages/react-tree/README.md"],"sourcesContent":["export default \"Tree 树形控件\\n===\\n\\n[](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-tree/file/README.md)\\n[](https://www.npmjs.com/package/@uiw/react-tree)\\n[](https://npmjs.com/@uiw/react-tree)\\n\\n使用树控件可以完整展现其中的层级关系,并具有展开收起选择等交互功能。\\n\\n```jsx\\nimport { Tree } from 'uiw';\\n// or\\nimport Tree from '@uiw/react-tree';\\n```\\n\\n### 基础用法\\n\\n<!--rehype:bgWhite=true&codeSandbox=true&codePen=true-->\\n```jsx\\nimport ReactDOM from 'react-dom';\\nimport { Tree, Card, Row, Col, } from 'uiw';\\n\\nconst data = [\\n {\\n label: '湖北省',\\n key: '0-0-0',\\n children:[\\n {\\n label: '武汉市',\\n key: '0-1-0',\\n children:[\\n { label: '新洲区', key: '0-1-1' },\\n { label: '武昌区', key: '0-1-2' },\\n {\\n label: '汉南区',\\n key: '0-1-3',\\n children:[\\n { label: '汉南区1', key: '0-1-3-1' },\\n { label: '汉南区2', key: '0-1-3-2' },\\n { label: '汉南区3', key: '0-1-3-3' },\\n ]\\n },\\n ]\\n },\\n { label: '黄冈市', key: '0-2-0' },\\n {\\n label: '黄石市',\\n key: '0-3-0',\\n children:[\\n { label: '青山区', key: '0-3-1' },\\n { label: '黄陂区', key: '0-3-2' },\\n { label: '青山区', key: '0-3-3' },\\n ]\\n },\\n ]\\n },\\n {\\n label: '上海市',\\n key: '1-0-0',\\n children:[\\n { label: '黄浦区', key: '1-0-1' },\\n { label: '卢湾区', key: '1-0-2' },\\n {\\n label: '徐汇区',\\n key: '1-0-3',\\n children:[\\n { label: '半淞园路街道', key: '1-1-0' },\\n { label: '南京东路街道', key: '1-2-0' },\\n { label: '外滩街道', key: '1-3-0' },\\n ]\\n },\\n ]\\n },\\n {\\n label: '北京市',\\n key: '2-0-0',\\n children:[\\n { label: '东城区', key: '2-1-0' },\\n { label: '西城区', key: '2-2-0' },\\n {\\n label: '崇文区',\\n key: '2-3-0',\\n children:[\\n { label: '东花市街道', key: '2-3-1' },\\n { label: '体育馆路街道', key: '2-3-2' },\\n { label: '前门街道', key: '2-3-3' },\\n ]\\n },\\n ]\\n }\\n];\\n\\nconst Demo = () => (\\n <div>\\n <Row gutter={10}>\\n <Col fixed>\\n <Card title=\\\"单选\\\">\\n <Tree\\n defaultExpandAll={true}\\n data={data}\\n onExpand={(key, expanded, data, node) => {\\n console.log('onExpand',key, expanded, data, node);\\n }}\\n onSelected={(key, selected, item, evn) => {\\n console.log('onSelected',key, selected, item, evn);\\n }}\\n />\\n </Card>\\n </Col>\\n <Col fixed>\\n <Card title=\\\"多选,子节点不受控\\\">\\n <Tree\\n autoExpandParent={true}\\n data={data}\\n multiple\\n onExpand={(key, expanded, data, node) => {\\n console.log(key, expanded, data, node);\\n }}\\n onSelected={(key, selected, item, evn) => {\\n console.log(key, selected, item, evn);\\n }}\\n />\\n </Card>\\n </Col>\\n <Col fixed>\\n <Card title=\\\"多选,子节点受控\\\">\\n <Tree\\n data={data}\\n multiple\\n checkStrictly\\n onExpand={(key, expanded, data, node) => {\\n console.log(key, expanded, data, node);\\n }}\\n onSelected={(key, selected, item, evn) => {\\n console.log(key, selected, item, evn);\\n }}\\n />\\n </Card>\\n </Col>\\n </Row>\\n </div>\\n)\\nReactDOM.render(<Demo />, _mount_);\\n```\\n\\n### 自定义图标\\n\\n<!--rehype:bgWhite=true&codeSandbox=true&codePen=true-->\\n```jsx\\nimport ReactDOM from 'react-dom';\\nimport { Tree, Card, Row, Col, Icon } from 'uiw';\\n\\nconst data = [\\n {\\n label: '湖北省',\\n key: '0-0-0',\\n children:[\\n {\\n label: '武汉市',\\n key: '0-1-0',\\n children:[\\n { label: '新洲区', key: '0-1-1' },\\n { label: '武昌区', key: '0-1-2' },\\n {\\n label: '汉南区',\\n key: '0-1-3',\\n children:[\\n { label: '汉南区1', key: '0-1-3-1' },\\n { label: '汉南区2', key: '0-1-3-2' },\\n { label: '汉南区3', key: '0-1-3-3' },\\n ]\\n },\\n ]\\n },\\n { label: '黄冈市', key: '0-2-0' },\\n {\\n label: '黄石市',\\n key: '0-3-0',\\n children:[\\n { label: '青山区', key: '0-3-1' },\\n { label: '黄陂区', key: '0-3-2' },\\n { label: '青山区', key: '0-3-3' },\\n ]\\n },\\n ]\\n },\\n {\\n label: '上海市',\\n key: '1-0-0',\\n children:[\\n { label: '黄浦区', key: '1-0-1' },\\n { label: '卢湾区', key: '1-0-2' },\\n {\\n label: '徐汇区',\\n key: '1-0-3',\\n children:[\\n { label: '半淞园路街道', key: '1-1-0' },\\n { label: '南京东路街道', key: '1-2-0' },\\n { label: '外滩街道', key: '1-3-0' },\\n ]\\n },\\n ]\\n },\\n {\\n label: '北京市',\\n key: '2-0-0',\\n children:[\\n { label: '东城区', key: '2-1-0' },\\n { label: '西城区', key: '2-2-0' },\\n {\\n label: '崇文区',\\n key: '2-3-0',\\n children:[\\n { label: '东花市街道', key: '2-3-1' },\\n { label: '体育馆路街道', key: '2-3-2' },\\n { label: '前门街道', key: '2-3-3' },\\n ]\\n },\\n ]\\n }\\n];\\n\\nconst Demo = () => (\\n <div>\\n <Row gutter={10}>\\n <Col fixed>\\n <Card title=\\\"标题中添加图标\\\">\\n <Tree\\n data={data}\\n renderTitle={(item, { selected, noChild }) => (\\n <>\\n <Icon style={{ display: '-webkit-inline-box' }} type={noChild ? 'smile-o' : 'apple'} />\\n <span>{item.label}</span>\\n </>\\n )}\\n onExpand={(key, expanded, data, node) => {\\n console.log(key, expanded, data, node);\\n }}\\n onSelected={(key, selected, item, evn) => {\\n console.log(key, selected, item, evn);\\n }}\\n />\\n </Card>\\n </Col>\\n <Col fixed>\\n <Card title=\\\"替换默认折叠图标\\\">\\n <Tree\\n data={data}\\n icon=\\\"right-circle-o\\\"\\n onExpand={(key, expanded, data, node) => {\\n console.log(key, expanded, data, node);\\n }}\\n onSelected={(key, selected, item, evn) => {\\n console.log(key, selected, item, evn);\\n }}\\n />\\n </Card>\\n </Col>\\n <Col fixed>\\n <Card title=\\\"自定义展开图标\\\">\\n <Tree\\n data={data}\\n iconAnimation={false}\\n icon={(data, { isOpen, noChild }) => {\\n if(isOpen && !noChild) {\\n return 'folder-open';\\n } else if (!noChild) {\\n return 'folder';\\n }\\n return 'file-text';\\n }}\\n onExpand={(key, expanded, data) => {\\n console.log(key, expanded, data);\\n }}\\n onSelected={(key, selected, item, evn) => {\\n console.log(key, selected, item, evn);\\n }}\\n />\\n </Card>\\n </Col>\\n </Row>\\n </div>\\n)\\nReactDOM.render(<Demo />, _mount_);\\n```\\n\\n### 自定义选中效果\\n\\n通过设置 `checkStrictly` 父节点受子节点控制,设置 `multiple` 为多选,设置 `isSelected` 取消选中效果,也可以使用 [`TreeChecked`](#/components/tree-checked) 组件。\\n\\n<!--rehype:bgWhite=true&codeSandbox=true&codePen=true-->\\n```jsx\\nimport ReactDOM from 'react-dom';\\nimport { Tree, Card, Row, Col } from 'uiw';\\n\\nconst data = [\\n {\\n label: '湖北省',\\n key: '0-0-0',\\n children:[\\n {\\n label: '武汉市',\\n key: '0-1-0',\\n children:[\\n { label: '新洲区', key: '0-1-1', disabled: true },\\n { label: '武昌区', key: '0-1-2' },\\n {\\n label: '汉南区',\\n key: '0-1-3',\\n children:[\\n { label: '汉南区1', key: '0-1-3-1' },\\n { label: '汉南区2', key: '0-1-3-2' },\\n { label: '汉南区3', key: '0-1-3-3' },\\n ]\\n },\\n ]\\n },\\n { label: '黄冈市', key: '0-2-0' },\\n {\\n label: '黄石市',\\n key: '0-3-0',\\n children:[\\n { label: '青山区', key: '0-3-1' },\\n { label: '黄陂区', key: '0-3-2' },\\n { label: '青山区', key: '0-3-3' },\\n ]\\n },\\n ]\\n },\\n {\\n label: '上海市',\\n key: '1-0-0',\\n children:[\\n { label: '黄浦区', key: '1-0-1' },\\n { label: '卢湾区', key: '1-0-2' },\\n {\\n label: '徐汇区',\\n key: '1-0-3',\\n children:[\\n { label: '半淞园路街道', key: '1-1-0' },\\n { label: '南京东路街道', key: '1-2-0' },\\n { label: '外滩街道', key: '1-3-0' },\\n ]\\n },\\n ]\\n },\\n {\\n label: '北京市',\\n key: '2-0-0',\\n children:[\\n { label: '东城区', key: '2-1-0' },\\n { label: '西城区', key: '2-2-0' },\\n {\\n label: '崇文区',\\n key: '2-3-0',\\n children:[\\n { label: '东花市街道', key: '2-3-1' },\\n { label: '体育馆路街道', key: '2-3-2' },\\n { label: '前门街道', key: '2-3-3' },\\n ]\\n },\\n ]\\n },\\n { label: '澳门', key: '3' },\\n];\\n\\nconst Demo = () => (\\n <div>\\n <Tree\\n data={data}\\n selectedKeys={['0-1-1']}\\n multiple\\n isSelected={false}\\n checkStrictly\\n renderTitle={(item, { selected, isHalfChecked }) => {\\n if(isHalfChecked) {\\n return (\\n <><Icon type=\\\"minus-square-o\\\" style={{ color: 'green' }} /> <span>{item.label}</span></>\\n );\\n }\\n if (selected) {\\n return (\\n <><Icon type=\\\"check-square-o\\\" style={{ color: 'green' }} /> <span>{item.label}</span></>\\n );\\n }\\n return (\\n <><Icon type=\\\"square-o\\\" style={{ color: '#b6b6b6' }} /> <span>{item.label}</span></>\\n );\\n }}\\n onExpand={(key, expanded, data, node) => {\\n console.log(key, expanded, data, node);\\n }}\\n onSelected={(key, selected, item, evn) => {\\n console.log(key, selected, item, evn);\\n }}\\n />\\n </div>\\n)\\nReactDOM.render(<Demo />, _mount_);\\n```\\n\\n\\n### 连接线\\n\\n带连接线的树,通过设置 `showLine`。\\n\\n<!--rehype:bgWhite=true&codeSandbox=true&codePen=true-->\\n```jsx\\nimport ReactDOM from 'react-dom';\\nimport { Tree, Card, Row, Col } from 'uiw';\\n\\nconst data = [\\n {\\n label: '湖北省',\\n key: '0-0-0',\\n children:[\\n {\\n label: '武汉市',\\n key: '0-1-0',\\n children:[\\n { label: '新洲区', key: '0-1-1' },\\n { label: '武昌区', key: '0-1-2' },\\n {\\n label: '汉南区',\\n key: '0-1-3',\\n children:[\\n { label: '汉南区1', key: '0-1-3-1' },\\n { label: '汉南区2', key: '0-1-3-2' },\\n { label: '汉南区3', key: '0-1-3-3' },\\n ]\\n },\\n ]\\n },\\n { label: '黄冈市', key: '0-2-0' },\\n {\\n label: '黄石市',\\n key: '0-3-0',\\n children:[\\n { label: '青山区', key: '0-3-1' },\\n { label: '黄陂区', key: '0-3-2' },\\n { label: '青山区', key: '0-3-3' },\\n ]\\n },\\n ]\\n },\\n {\\n label: '上海市',\\n key: '1-0-0',\\n children:[\\n { label: '黄浦区', key: '1-0-1' },\\n { label: '卢湾区', key: '1-0-2' },\\n {\\n label: '徐汇区',\\n key: '1-0-3',\\n children:[\\n { label: '半淞园路街道', key: '1-1-0' },\\n { label: '南京东路街道', key: '1-2-0' },\\n { label: '外滩街道', key: '1-3-0' },\\n ]\\n },\\n ]\\n },\\n {\\n label: '北京市',\\n key: '2-0-0',\\n children:[\\n { label: '东城区', key: '2-1-0' },\\n { label: '西城区', key: '2-2-0' },\\n {\\n label: '崇文区',\\n key: '2-3-0',\\n children:[\\n { label: '东花市街道', key: '2-3-1' },\\n { label: '体育馆路街道', key: '2-3-2' },\\n { label: '前门街道', key: '2-3-3' },\\n ]\\n },\\n ]\\n }\\n];\\n\\nconst Demo = () => (\\n <div>\\n <Row gutter={10}>\\n <Col fixed>\\n <Card title=\\\"自定义展开图标\\\">\\n <Tree\\n data={data}\\n showLine\\n iconAnimation={false}\\n icon={(data, {isOpen, noChild}) => {\\n if(isOpen && !noChild) {\\n return 'folder-open';\\n } else if (!noChild) {\\n return 'folder';\\n }\\n return 'file-text';\\n }}\\n onExpand={(key, expanded, data) => {\\n console.log(key, expanded, data);\\n }}\\n onSelected={(key, selected, item, evn) => {\\n console.log(key, selected, item, evn);\\n }}\\n />\\n </Card>\\n </Col>\\n <Col fixed>\\n <Card title=\\\"自定义展开图标\\\">\\n <Tree\\n data={data}\\n showLine\\n icon={(data, {isOpen, noChild}) => {\\n if(noChild) {\\n return 'file-text';\\n }\\n }}\\n onExpand={(key, expanded, data) => {\\n console.log(key, expanded, data);\\n }}\\n onSelected={(key, selected, item, evn) => {\\n console.log(key, selected, item, evn);\\n }}\\n />\\n </Card>\\n </Col>\\n </Row>\\n </div>\\n)\\nReactDOM.render(<Demo />, _mount_);\\n```\\n\\n### 默认展开树\\n\\n<!--rehype:bgWhite=true&codeSandbox=true&codePen=true-->\\n```jsx\\nimport ReactDOM from 'react-dom';\\nimport { Tree, Card, Row, Col } from 'uiw';\\n\\nconst data = [\\n {\\n label: '湖北省',\\n key: '0-0-0',\\n children:[\\n {\\n label: '武汉市',\\n key: '0-1-0',\\n children:[\\n { label: '新洲区', key: '0-1-1' },\\n { label: '武昌区', key: '0-1-2' },\\n {\\n label: '汉南区',\\n key: '0-1-3',\\n children:[\\n { label: '汉南区1', key: '0-1-3-1' },\\n { label: '汉南区2', key: '0-1-3-2' },\\n { label: '汉南区3', key: '0-1-3-3' },\\n ]\\n },\\n ]\\n },\\n { label: '黄冈市', key: '0-2-0' },\\n {\\n label: '黄石市',\\n key: '0-3-0',\\n children:[\\n { label: '青山区', key: '0-3-1' },\\n { label: '黄陂区', key: '0-3-2' },\\n { label: '青山区', key: '0-3-3' },\\n ]\\n },\\n ]\\n },\\n {\\n label: '上海市',\\n key: '1-0-0',\\n children:[\\n { label: '黄浦区', key: '1-0-1' },\\n { label: '卢湾区', key: '1-0-2' },\\n {\\n label: '徐汇区',\\n key: '1-0-3',\\n children:[\\n { label: '半淞园路街道', key: '1-1-0' },\\n { label: '南京东路街道', key: '1-2-0' },\\n { label: '外滩街道', key: '1-3-0' },\\n ]\\n },\\n ]\\n },\\n {\\n label: '北京市',\\n key: '2-0-0',\\n children:[\\n { label: '东城区', key: '2-1-0' },\\n { label: '西城区', key: '2-2-0' },\\n ]\\n }\\n];\\n\\nconst Demo = () => (\\n <div>\\n <Row gutter={10}>\\n <Col fixed>\\n <Card title=\\\"默认展开部分\\\">\\n <Tree\\n data={data}\\n showLine\\n openKeys={['0-0-0', '0-1-0']}\\n iconAnimation={false}\\n icon={(data, {isOpen, noChild}) => {\\n if(isOpen && !noChild) {\\n return 'folder-open';\\n } else if (!noChild) {\\n return 'folder';\\n }\\n return 'file-text';\\n }}\\n onExpand={(key, expanded, data) => {\\n console.log(key, expanded, data);\\n }}\\n onSelected={(key, selected, item, evn) => {\\n console.log(key, selected, item, evn);\\n }}\\n />\\n </Card>\\n </Col>\\n <Col fixed>\\n <Card title=\\\"展开所有\\\">\\n <Tree\\n data={data}\\n showLine\\n defaultExpandAll\\n icon={(data, {isOpen, noChild}) => {\\n if(noChild) {\\n return 'file-text';\\n }\\n }}\\n onExpand={(key, expanded, data) => {\\n console.log(key, expanded, data);\\n }}\\n onSelected={(key, selected, item, evn) => {\\n console.log(key, selected, item, evn);\\n }}\\n />\\n </Card>\\n </Col>\\n </Row>\\n </div>\\n)\\nReactDOM.render(<Demo />, _mount_);\\n```\\n\\n\\n### Form中使用\\n\\n<!--rehype:bgWhite=true&codeSandbox=true&codePen=true-->\\n```jsx\\nimport ReactDOM from 'react-dom';\\nimport { Tree, Row, Col, Form, Button } from 'uiw';\\n\\nconst data = [\\n {\\n label: '湖北省',\\n key: '0-0-0',\\n children:[\\n {\\n label: '武汉市',\\n key: '0-1-0',\\n children:[\\n { label: '新洲区', key: '0-1-1' },\\n { label: '武昌区', key: '0-1-2' },\\n {\\n label: '汉南区',\\n key: '0-1-3',\\n children:[\\n { label: '汉南区1', key: '0-1-3-1' },\\n { label: '汉南区2', key: '0-1-3-2' },\\n { label: '汉南区3', key: '0-1-3-3' },\\n ]\\n },\\n ]\\n },\\n { label: '黄冈市', key: '0-2-0' },\\n {\\n label: '黄石市',\\n key: '0-3-0',\\n children:[\\n { label: '青山区', key: '0-3-1' },\\n { label: '黄陂区', key: '0-3-2' },\\n { label: '青山区', key: '0-3-3' },\\n ]\\n },\\n ]\\n },\\n {\\n label: '上海市',\\n key: '1-0-0',\\n children:[\\n { label: '黄浦区', key: '1-0-1' },\\n { label: '卢湾区', key: '1-0-2' },\\n {\\n label: '徐汇区',\\n key: '1-0-3',\\n children:[\\n { label: '半淞园路街道', key: '1-1-0' },\\n { label: '南京东路街道', key: '1-2-0' },\\n { label: '外滩街道', key: '1-3-0' },\\n ]\\n },\\n ]\\n },\\n {\\n label: '北京市',\\n key: '2-0-0',\\n children:[\\n { label: '东城区', key: '2-1-0' },\\n { label: '西城区', key: '2-2-0' },\\n ]\\n }\\n];\\n\\nconst Demo = () => {\\n return (\\n <Form\\n onChange={({ initial, current }) => {}}\\n resetOnSubmit={false}\\n onSubmitError={(error) => error && error.filed ? { ...error.filed } : null}\\n onSubmit={({initial, current}) => {\\n console.log('current: ', current);\\n const ErrObj = {};\\n if (current.tree === 'unknown') {\\n ErrObj.radioGroup = '请选择性别!';\\n }\\n if(Object.keys(ErrObj).length > 0) {\\n const err = new Error();\\n err.filed = ErrObj;\\n throw err;\\n }\\n Notify.success({\\n title: '提交成功!', description: `填写:【填写成功】!`\\n });\\n }}\\n fields={{\\n tree: {\\n value: 'region',\\n label: '请输入内容',\\n help: '必须选择地区!',\\n initialValue: ['0-1-1'],\\n children: <Tree\\n // multiple \\n checkStrictly\\n data={data}\\n />,\\n },\\n }}\\n >\\n {({ fields, state, canSubmit }) => {\\n return (\\n <div>\\n <Row>\\n <Col>{fields.tree}</Col>\\n </Row>\\n <Row>\\n <Col>\\n <Button disabled={!canSubmit()} type=\\\"primary\\\" htmlType=\\\"submit\\\">提交</Button>\\n </Col>\\n </Row>\\n <Row>\\n <Col>\\n <pre style={{ padding: 10, marginTop: 10 }}>\\n {JSON.stringify(state.current, null, 2)}\\n </pre>\\n </Col>\\n </Row>\\n </div>\\n );\\n }}\\n </Form>\\n )\\n}\\nReactDOM.render(<Demo />, _mount_);\\n```\\n\\n\\n## Props\\n\\n| 参数 | 说明 | 类型 | 默认值 |\\n|--------- |-------- |--------- |-------- |\\n| data | 展示数据 | Array | `TreeData[]` |\\n| openKeys | 节点展开 `key` | Array | `[]` |\\n| selectedKeys | 设置选中的树节点 | Array | `[]` |\\n| autoExpandParent | 是否自动展开父节点 | Boolean | `true` |\\n| defaultExpandAll | 默认展开所有树节点 | Boolean | `false` |\\n| iconAnimation | 展开收缩图标,参数设为 `false` 禁用动画 | Boolean | `true` |\\n| isSelected | 是否选中当前节点样式。 | Boolean | `true` |\\n| showLine | 是否展示连接线 | Boolean | `false` |\\n| checkStrictly | 子节点受父节点控制设置 `true`,需要配合 `multiple` 参数使用。 | Boolean | `false` |\\n| multiple | 支持点选多个节点 | Boolean | `false` |\\n| icon | 重新定义,展开收缩图标,当为函数时视为自定义图标,并展示非折叠项的图标。 | ~~Function(data: object, noChild: bool)/String/Node~~ `@3.4.0+` Function(data: object, { selected: bool, noChild: bool })/String/Node| - |\\n| renderTitle | 重新定义每个标题节点的显示 | ~~Function(item, selected: bool, noChild: bool)~~ `@3.4.0+` Function(item: TreeData, node?: { selected?: boolean, noChild?: boolean, isHalfChecked?: boolean, openKeys?: TreeProps['openKeys'], selectedKeys?: TreeProps['selectedKeys'] }) => React.ReactElement; | - |\\n| onSelected | 点击选择树节点触发 | Function(selectedKeys: array, key, selected: bool, data, e) | - |\\n| onExpand | 展开/收起节点时触发 | Function(key, expanded: bool, data, evn) | - |\\n\\n### data\\n\\n```json\\n[\\n {\\n \\\"label\\\": \\\"湖北省\\\",\\n \\\"key\\\": \\\"0-0-0\\\",\\n \\\"disabled\\\": false,\\n \\\"children\\\":[]\\n }\\n ...\\n]\\n```\\n\";"],"names":[],"sourceRoot":""}
|