@@ -399,6 +399,132 @@ const Demo = () => (
399
399
ReactDOM .render (< Demo / > , _mount_);
400
400
```
401
401
402
+ ### 禁用选项
403
+
404
+ <!-- rehype:bgWhite=true&codeSandbox=true&codePen=true-->
405
+ ``` jsx
406
+ import ReactDOM from ' react-dom' ;
407
+ import { Tree , Card , Row , Col , Icon } from ' uiw' ;
408
+
409
+ const data = [
410
+ {
411
+ label: ' 湖北省' ,
412
+ key: ' 0-0-0' ,
413
+ children: [
414
+ {
415
+ label: ' 武汉市' ,
416
+ disabled: true ,
417
+ key: ' 0-1-0' ,
418
+ children: [
419
+ { label: ' 新洲区' , key: ' 0-1-1' },
420
+ { label: ' 武昌区' , key: ' 0-1-2' },
421
+ {
422
+ label: ' 汉南区' ,
423
+ key: ' 0-1-3' ,
424
+ children: [
425
+ { label: ' 汉南区1' , key: ' 0-1-3-1' },
426
+ { label: ' 汉南区2' , key: ' 0-1-3-2' },
427
+ { label: ' 汉南区3' , key: ' 0-1-3-3' },
428
+ ]
429
+ },
430
+ ]
431
+ },
432
+ { label: ' 黄冈市' , key: ' 0-2-0' },
433
+ {
434
+ label: ' 黄石市' ,
435
+ key: ' 0-3-0' ,
436
+ children: [
437
+ { label: ' 青山区' , key: ' 0-3-1' },
438
+ { label: ' 黄陂区' , key: ' 0-3-2' },
439
+ { label: ' 青山区' , key: ' 0-3-3' },
440
+ ]
441
+ },
442
+ ]
443
+ },
444
+ {
445
+ label: ' 上海市' ,
446
+ key: ' 1-0-0' ,
447
+ children: [
448
+ { label: ' 黄浦区' , key: ' 1-0-1' },
449
+ { label: ' 卢湾区' , key: ' 1-0-2' },
450
+ {
451
+ label: ' 徐汇区' ,
452
+ key: ' 1-0-3' ,
453
+ children: [
454
+ { label: ' 半淞园路街道' , key: ' 1-1-0' },
455
+ { label: ' 南京东路街道' , key: ' 1-2-0' },
456
+ { label: ' 外滩街道' , key: ' 1-3-0' },
457
+ ]
458
+ },
459
+ ]
460
+ },
461
+ {
462
+ label: ' 北京市' ,
463
+ key: ' 2-0-0' ,
464
+ children: [
465
+ { label: ' 东城区' , key: ' 2-1-0' },
466
+ { label: ' 西城区' , key: ' 2-2-0' },
467
+ {
468
+ label: ' 崇文区' ,
469
+ key: ' 2-3-0' ,
470
+ children: [
471
+ { label: ' 东花市街道' , key: ' 2-3-1' },
472
+ { label: ' 体育馆路街道' , key: ' 2-3-2' },
473
+ { label: ' 前门街道' , key: ' 2-3-3' },
474
+ ]
475
+ },
476
+ ]
477
+ }
478
+ ];
479
+
480
+ const Demo = () => (
481
+ < div>
482
+ < Row gutter= {10 }>
483
+ < Col fixed>
484
+ < Card title= " 基础使用" >
485
+ < Tree data= {data} / >
486
+ < / Card>
487
+ < / Col>
488
+ < Col fixed>
489
+ < Card title= " 自定义图标" >
490
+ < Tree
491
+ data= {data}
492
+ renderTitle= {(item , { selected, noChild, disabledStyle }) => (
493
+ <>
494
+ < Icon style= {{ display: ' -webkit-inline-box' , ... disabledStyle }} type= {noChild ? ' smile-o' : ' apple' } / >
495
+ < span style= {disabledStyle}> {item .label }< / span>
496
+ < / >
497
+ )}
498
+ / >
499
+ < / Card>
500
+ < / Col>
501
+ < Col fixed>
502
+ < Card title= " 自定义选中效果" >
503
+ < Tree
504
+ data= {data}
505
+ renderTitle= {(item , { selected, isHalfChecked, disabledStyle, disabledClass }) => {
506
+ if (isHalfChecked) {
507
+ return (
508
+ <>< Icon type= " minus-square-o" style= {{ color: ' green' , ... disabledStyle }} / > < span className= {disabledClass} > {item .label }< / span>< / >
509
+ );
510
+ }
511
+ if (selected) {
512
+ return (
513
+ <>< Icon type= " check-square-o" style= {{ color: ' green' , ... disabledStyle }} / > < span className= {disabledClass} > {item .label }< / span>< / >
514
+ );
515
+ }
516
+ return (
517
+ <>< Icon type= " square-o" style= {{ color: ' #b6b6b6' ,... disabledStyle }} / > < span className= {disabledClass} > {item .label }< / span>< / >
518
+ );
519
+ }}
520
+ / >
521
+ < / Card>
522
+ < / Col>
523
+ < / Row>
524
+ < / div>
525
+ )
526
+ ReactDOM .render (< Demo / > , _mount_);
527
+ ```
402
528
403
529
### 连接线
404
530
@@ -798,10 +924,21 @@ ReactDOM.render(<Demo />, _mount_);
798
924
| checkStrictly | 子节点受父节点控制设置 ` true ` ,需要配合 ` multiple ` 参数使用。 | Boolean | ` false ` |
799
925
| multiple | 支持点选多个节点 | Boolean | ` false ` |
800
926
| icon | 重新定义,展开收缩图标,当为函数时视为自定义图标,并展示非折叠项的图标。 | ~~ Function(data: object, noChild: bool)/String/Node~~ ` @3.4.0+ ` Function(data: object, { selected: bool, noChild: bool })/String/Node| - |
801
- | 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; | - |
927
+ | renderTitle | 重新定义每个标题节点的显示 | ~~ Function(item, selected: bool, noChild: bool)~~ ` @3.4.0+ ` Function(item: TreeData, node?: Node ) => React.ReactElement; | - |
802
928
| onSelected | 点击选择树节点触发 | Function(selectedKeys: array, key, selected: bool, data, e) | - |
803
929
| onExpand | 展开/收起节点时触发 | Function(key, expanded: bool, data, evn) | - |
804
930
931
+ ## Node Type
932
+ | 参数 | 类型 | 版本 |
933
+ | --------- | -------- | -------- |
934
+ | selected | boolean | - |
935
+ | noChild | boolean | - |
936
+ | isHalfChecked | boolean | ` @3.4.0+ ` |
937
+ | openKeys | Props[ 'openKeys'] | ` @3.4.0+ ` |
938
+ | selectedKeys | Props[ 'selectedKeys'] | ` @3.4.0+ ` |
939
+ | disabled | boolean | ` @4.20.0+ ` |
940
+ | disabledClass | string | ` @4.20.0+ ` |
941
+ | disabledStyle | React.CSSProperties | ` @4.20.0+ ` |
805
942
### data
806
943
807
944
``` json
0 commit comments