mirror of
https://github.com/ant-design/ant-design.git
synced 2025-06-20 10:01:17 +08:00

* chore: upgrade RC component dependencies
* chore: trigger CI build
* chore: update deps and import path
* chore: update deps
* test: update snapshot
* test: update snapshot
* fix: lint fix
* chore: migrate Drawer to @rc-component/drawer
* chore: migrate Image to @rc-component/image
* test: update snapshot
* chore: replace api
* fix cascader dropdown api and snap, popupAlign
* fix ci test
* fix key
* test: update snapshot
* Revert "test: update snapshot"
This reverts commit 66a993332b
.
* chore: fix logic
* test: update snapshot
* chore: revert part logic
---------
Signed-off-by: Jony J <1844749591@qq.com>
Co-authored-by: thinkasany <480968828@qq.com>
Co-authored-by: 二货机器人 <smith3816@gmail.com>
56 lines
1.5 KiB
TypeScript
56 lines
1.5 KiB
TypeScript
import React, { useState } from 'react';
|
|
import type { GetProp, TreeSelectProps } from 'antd';
|
|
import { TreeSelect } from 'antd';
|
|
|
|
type DefaultOptionType = GetProp<TreeSelectProps, 'treeData'>[number];
|
|
|
|
const App: React.FC = () => {
|
|
const [value, setValue] = useState<string>();
|
|
const [treeData, setTreeData] = useState<Omit<DefaultOptionType, 'label'>[]>([
|
|
{ id: 1, pId: 0, value: '1', title: 'Expand to load' },
|
|
{ id: 2, pId: 0, value: '2', title: 'Expand to load' },
|
|
{ id: 3, pId: 0, value: '3', title: 'Tree Node', isLeaf: true },
|
|
]);
|
|
|
|
const genTreeNode = (parentId: number, isLeaf = false) => {
|
|
const random = Math.random().toString(36).substring(2, 6);
|
|
return {
|
|
id: random,
|
|
pId: parentId,
|
|
value: random,
|
|
title: isLeaf ? 'Tree Node' : 'Expand to load',
|
|
isLeaf,
|
|
};
|
|
};
|
|
|
|
const onLoadData: TreeSelectProps['loadData'] = ({ id }) =>
|
|
new Promise((resolve) => {
|
|
setTimeout(() => {
|
|
setTreeData(
|
|
treeData.concat([genTreeNode(id, false), genTreeNode(id, true), genTreeNode(id, true)]),
|
|
);
|
|
resolve(undefined);
|
|
}, 300);
|
|
});
|
|
|
|
const onChange = (newValue: string) => {
|
|
console.log(newValue);
|
|
setValue(newValue);
|
|
};
|
|
|
|
return (
|
|
<TreeSelect
|
|
treeDataSimpleMode
|
|
style={{ width: '100%' }}
|
|
value={value}
|
|
popupStyle={{ maxHeight: 400, overflow: 'auto' }}
|
|
placeholder="Please select"
|
|
onChange={onChange}
|
|
loadData={onLoadData}
|
|
treeData={treeData}
|
|
/>
|
|
);
|
|
};
|
|
|
|
export default App;
|