weike-multi-cascader
Version:
A multiple cascader component for antd
46 lines (45 loc) • 1.73 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importStar(require("react"));
const react_2 = require("@storybook/react");
const index_1 = tslib_1.__importDefault(require("../index"));
react_2.storiesOf('MultiCascader', index_1.default).add('Async Data', () => {
const [state, setState] = react_1.useState(['Node1-1-1']);
const [options, setOptions] = react_1.useState([
{
value: 'Node1',
title: 'Node1-title',
isLeaf: false,
},
{
value: 'Node2',
title: 'Node2-title',
},
]);
const handleCascaderChange = react_1.default.useCallback((node, { add }) => {
if (!node.children) {
setTimeout(() => {
setOptions(add([
{
value: 'Node1-1',
title: 'Node1-1-title',
isLeaf: false,
},
{
value: 'Node1-2',
title: 'Node1-2-title',
isLeaf: false,
},
]));
}, 500);
}
}, []);
function renderTitle(value) {
if (value === 'Node1-1-1') {
return 'Node1-1-1-title';
}
return undefined;
}
return (react_1.default.createElement(index_1.default, { selectAll: true, selectLeafOnly: true, data: options, value: state, onChange: setState, placeholder: "Async Data", style: { width: '200px' }, onCascaderChange: handleCascaderChange, renderTitle: renderTitle }));
});