UNPKG

@cainiaofe/cn-ui-m

Version:
134 lines (133 loc) 3.24 kB
import React, { useState } from 'react'; import { CnDemoBlock, CnDemoPage, CnSelect } from "../../.."; var data = [ { value: 207606027537, label: '阎秀英', }, { value: 207606027538, label: '唐洋', }, { value: 207606027539, label: '徐静', }, { value: 207606027540, label: '侯丽', }, { value: 207606027541, label: '史磊', }, { value: 207606027542, label: '谢平', }, { value: 207606027543, label: '尹刚', }, { value: 207606027544, label: '汪娜', }, { value: 207606027545, label: '梁刚', }, { value: 207606027546, label: '杜丽', }, { value: 207606027547, label: '段伟', }, { value: 207606027548, label: '史桂英', }, { value: 207606027549, label: '孙丽', }, { value: 207606027550, label: '谢娟', }, { value: 207606027551, label: '常秀兰', }, { value: 207606027552, label: '汪秀英', }, { value: 207606027553, label: '赵涛', }, { value: 207606027554, label: '刘超', }, { value: 207606027555, label: '韩勇', }, { value: 207606027556, label: '赵超', }, ]; var timer; export var 实时搜索 = function () { var _a = useState([]), ds = _a[0], setDataSource = _a[1]; var _b = useState([ // 初始数据 { value: 207606027540, label: '侯丽', }, { value: 207606027541, label: '史磊', }, ]), val = _b[0], setValue = _b[1]; // mock remote load delay var loadData = function (filterVal) { setTimeout(function () { if (filterVal) { var newDataSource = data.filter(function (item) { return new RegExp(filterVal).test(item.label); }); setDataSource(newDataSource); } else { setDataSource(data); } }, 500); }; var handleSearch = function (v) { console.log('handleSearch'); clearTimeout(timer); timer = setTimeout(function () { loadData(v); }, 500); }; var handleChange = function (v) { setValue(v); }; var handleVisibleChange = function (open) { if (open) { loadData(); } }; return (React.createElement(CnDemoPage, { title: "\u5B9E\u65F6\u641C\u7D22" }, React.createElement(CnDemoBlock, { padding: "0", title: "\u5B9E\u65F6\u641C\u7D22" }, React.createElement(CnSelect, { placeholder: "\u8BF7\u9009\u62E9", dataSource: ds, mode: "multiple", hasSearch: true, hasClear: true, filterLocal: false, useDetailValue: true, value: val, onSearch: handleSearch, onChange: handleChange, onVisibleChange: handleVisibleChange })))); }; 实时搜索.desc = 'filterLocal为false时,根据输入内容实时搜索'; export default { title: 'demo/CnSelect' };