1 | import React, { useState } from "react";
|
2 | import { Tree } from "antd";
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | export default function TreeRadio({ onCheck, ...rest }) {
|
8 | const [keys, setkeys] = useState([]);
|
9 |
|
10 | const _onCheck = (checkedKeys, e) => {
|
11 | if (checkedKeys.checked.length === 0) {
|
12 | setkeys([]);
|
13 | onCheck({ keys: [], node: {} });
|
14 | return;
|
15 | }
|
16 | const last = checkedKeys.checked.pop();
|
17 | setkeys([last]);
|
18 | onCheck({ keys: [last], node: e.node });
|
19 | };
|
20 |
|
21 | return (
|
22 | <Tree
|
23 | style={{ width: "100%" }}
|
24 | checkedKeys={keys}
|
25 | checkable
|
26 | checkStrictly
|
27 | defaultExpandAll={true}
|
28 | onCheck={_onCheck}
|
29 | {...rest}
|
30 | />
|
31 | );
|
32 | }
|