mirror of
https://github.com/ant-design/ant-design.git
synced 2025-06-14 22:11:02 +08:00
72 lines
1.6 KiB
TypeScript
72 lines
1.6 KiB
TypeScript
import React from 'react';
|
|
import {
|
|
DownOutlined,
|
|
FrownFilled,
|
|
FrownOutlined,
|
|
MehOutlined,
|
|
SmileOutlined,
|
|
} from '@ant-design/icons';
|
|
import { Tree, TreeDataNode } from 'antd';
|
|
|
|
import SemanticPreview from '../../../.dumi/theme/common/SemanticPreview';
|
|
import useLocale from '../../../.dumi/hooks/useLocale';
|
|
|
|
const locales = {
|
|
cn: {
|
|
root: '根元素',
|
|
item: '条目元素',
|
|
itemTitle: '标题元素',
|
|
itemIcon: '图标元素',
|
|
},
|
|
en: {
|
|
root: 'Root element',
|
|
item: 'Item element',
|
|
itemTitle: 'title element',
|
|
itemIcon: 'Icon element',
|
|
},
|
|
};
|
|
|
|
const treeData: TreeDataNode[] = [
|
|
{
|
|
title: 'parent 1',
|
|
key: '0-0',
|
|
icon: <SmileOutlined />,
|
|
children: [
|
|
{
|
|
title: 'leaf',
|
|
key: '0-0-0',
|
|
icon: <MehOutlined />,
|
|
},
|
|
{
|
|
title: 'leaf',
|
|
key: '0-0-1',
|
|
icon: ({ selected }) => (selected ? <FrownFilled /> : <FrownOutlined />),
|
|
},
|
|
],
|
|
},
|
|
];
|
|
const App: React.FC = () => {
|
|
const [locale] = useLocale(locales);
|
|
return (
|
|
<SemanticPreview
|
|
componentName="Tree"
|
|
semantics={[
|
|
{ name: 'root', desc: locale.root, version: '6.0.0' },
|
|
{ name: 'item', desc: locale.item, version: '6.0.0' },
|
|
{ name: 'itemIcon', desc: locale.itemIcon, version: '6.0.0' },
|
|
{ name: 'itemTitle', desc: locale.itemTitle, version: '6.0.0' },
|
|
]}
|
|
>
|
|
<Tree
|
|
showIcon
|
|
defaultExpandAll
|
|
defaultSelectedKeys={['0-0-0']}
|
|
switcherIcon={<DownOutlined />}
|
|
treeData={treeData}
|
|
/>
|
|
</SemanticPreview>
|
|
);
|
|
};
|
|
|
|
export default App;
|