File tree Expand file tree Collapse file tree 2 files changed +26
-14
lines changed Expand file tree Collapse file tree 2 files changed +26
-14
lines changed Original file line number Diff line number Diff line change @@ -48,6 +48,7 @@ Both options support component customization. - [examples](https://github.com/ke
48
48
| ` itemsRenderer ` | ` Component ` | ` items.js ` | ` Component to replace the default Items component. ` |
49
49
| ` forwardIconRenderer ` | ` Component ` | | ` Component to replace the default ForwardIcon component. ` |
50
50
| ` treeContainerRenderer ` | ` Component ` | ` tree_container.js ` | ` Component to replace the default TreeContainer component. ` |
51
+ | ` customItemsRenderer ` | ` Component ` | | ` Component to replace the default Items && inner Item component. ` |
51
52
| ` markSelectedItem ` | ` boolean ` | ` false ` | ` Toggle to mark selected item. ` |
52
53
53
54
<br />
Original file line number Diff line number Diff line change @@ -39,6 +39,7 @@ const Tree = props => {
39
39
itemsRenderer : Items = ItemsRenderer ,
40
40
forwardIconRenderer,
41
41
treeContainerRenderer : TreeContainer = TreeContainerRenderer ,
42
+ customItemsRenderer,
42
43
selectedItem
43
44
} = props ;
44
45
@@ -94,20 +95,30 @@ const Tree = props => {
94
95
inputIconRenderer = { inputIconRenderer }
95
96
clearIconRenderer = { clearIconRenderer }
96
97
/>
97
- < Items styles = { styles } getStyles = { getStyles } height = { itemsHeight } >
98
- { leaves &&
99
- leaves . length > 0 &&
100
- leaves . map ( item => (
101
- < Item
102
- getStyles = { getStyles }
103
- searchTerm = { searchTerm }
104
- item = { item }
105
- onClick = { onClick }
106
- forwardIconRenderer = { forwardIconRenderer }
107
- selectedItem = { selectedItem }
108
- />
109
- ) ) }
110
- </ Items >
98
+ { customItemsRenderer ? (
99
+ React . cloneElement ( customItemsRenderer , {
100
+ leaves,
101
+ searchTerm,
102
+ onClick,
103
+ selectedItem,
104
+ forwardIconRenderer
105
+ } )
106
+ ) : (
107
+ < Items styles = { styles } getStyles = { getStyles } height = { itemsHeight } >
108
+ { leaves &&
109
+ leaves . length > 0 &&
110
+ leaves . map ( item => (
111
+ < Item
112
+ getStyles = { getStyles }
113
+ searchTerm = { searchTerm }
114
+ item = { item }
115
+ onClick = { onClick }
116
+ forwardIconRenderer = { forwardIconRenderer }
117
+ selectedItem = { selectedItem }
118
+ />
119
+ ) ) }
120
+ </ Items >
121
+ ) }
111
122
{ leaves && leaves . length === 0 && (
112
123
< NoResults
113
124
height = { itemsHeight }
You can’t perform that action at this time.
0 commit comments