mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-24 23:50:35 +08:00
14a1e6bd51
* feat: tsconfig enable strict * feat: add no-explicit-any * feat: strict * feat: as THEME * feat: 优化 keys 类型写法 * feat: demo remove any * feat: as number * feat: this any * feat: add eslint * feat: cascader * feat: props any * feat: remove any * feat: remove any * feat: any 提示错误 * feat: remove any * feat: add eslint * feat: 允许 T = any 存在 * feat: color funciton * feat: 恢复 lint * feat: merge master * feat: as ReactElement * feat: type
89 lines
2.3 KiB
TypeScript
89 lines
2.3 KiB
TypeScript
import React, { useState } from 'react';
|
|
import { Tree } from 'antd';
|
|
import type { TreeDataNode, TreeProps } from 'antd';
|
|
|
|
const treeData: TreeDataNode[] = [
|
|
{
|
|
title: '0-0',
|
|
key: '0-0',
|
|
children: [
|
|
{
|
|
title: '0-0-0',
|
|
key: '0-0-0',
|
|
children: [
|
|
{ title: '0-0-0-0', key: '0-0-0-0' },
|
|
{ title: '0-0-0-1', key: '0-0-0-1' },
|
|
{ title: '0-0-0-2', key: '0-0-0-2' },
|
|
],
|
|
},
|
|
{
|
|
title: '0-0-1',
|
|
key: '0-0-1',
|
|
children: [
|
|
{ title: '0-0-1-0', key: '0-0-1-0' },
|
|
{ title: '0-0-1-1', key: '0-0-1-1' },
|
|
{ title: '0-0-1-2', key: '0-0-1-2' },
|
|
],
|
|
},
|
|
{
|
|
title: '0-0-2',
|
|
key: '0-0-2',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
title: '0-1',
|
|
key: '0-1',
|
|
children: [
|
|
{ title: '0-1-0-0', key: '0-1-0-0' },
|
|
{ title: '0-1-0-1', key: '0-1-0-1' },
|
|
{ title: '0-1-0-2', key: '0-1-0-2' },
|
|
],
|
|
},
|
|
{
|
|
title: '0-2',
|
|
key: '0-2',
|
|
},
|
|
];
|
|
|
|
const App: React.FC = () => {
|
|
const [expandedKeys, setExpandedKeys] = useState<React.Key[]>(['0-0-0', '0-0-1']);
|
|
const [checkedKeys, setCheckedKeys] = useState<React.Key[]>(['0-0-0']);
|
|
const [selectedKeys, setSelectedKeys] = useState<React.Key[]>([]);
|
|
const [autoExpandParent, setAutoExpandParent] = useState<boolean>(true);
|
|
|
|
const onExpand: TreeProps['onExpand'] = (expandedKeysValue) => {
|
|
console.log('onExpand', expandedKeysValue);
|
|
// if not set autoExpandParent to false, if children expanded, parent can not collapse.
|
|
// or, you can remove all expanded children keys.
|
|
setExpandedKeys(expandedKeysValue);
|
|
setAutoExpandParent(false);
|
|
};
|
|
|
|
const onCheck: TreeProps['onCheck'] = (checkedKeysValue) => {
|
|
console.log('onCheck', checkedKeysValue);
|
|
setCheckedKeys(checkedKeysValue as React.Key[]);
|
|
};
|
|
|
|
const onSelect: TreeProps['onSelect'] = (selectedKeysValue, info) => {
|
|
console.log('onSelect', info);
|
|
setSelectedKeys(selectedKeysValue);
|
|
};
|
|
|
|
return (
|
|
<Tree
|
|
checkable
|
|
onExpand={onExpand}
|
|
expandedKeys={expandedKeys}
|
|
autoExpandParent={autoExpandParent}
|
|
onCheck={onCheck}
|
|
checkedKeys={checkedKeys}
|
|
onSelect={onSelect}
|
|
selectedKeys={selectedKeys}
|
|
treeData={treeData}
|
|
/>
|
|
);
|
|
};
|
|
|
|
export default App;
|