diff --git a/packages/components/select/_example/remote-search.tsx b/packages/components/select/_example/remote-search.tsx index 9d911cba02..dfb8db0313 100644 --- a/packages/components/select/_example/remote-search.tsx +++ b/packages/components/select/_example/remote-search.tsx @@ -1,53 +1,73 @@ -import React, { useState } from 'react'; -import { Select } from 'tdesign-react'; +import React, { useEffect, useState } from 'react'; +import { Select, Space } from 'tdesign-react'; + +const OPTIONS = Array.from({ length: 20 }).map((_, i) => ({ + value: `t${i + 1}`, + label: `Tencent_${i + 1}`, +})); const RemoteSearchSelect = () => { - const [value, setValue] = useState(''); + const [singleLoading, setSingleLoading] = useState(false); + const [singleOptions, setSingleOptions] = useState([]); + const [singleValue, setSingleValue] = useState(''); - const [loading, setLoading] = useState(false); - const [options, setOptions] = useState([]); + const [multipleLoading, setMultipleLoading] = useState(false); + const [multipleOptions, setMultipleOptions] = useState([]); + const [multipleValue, setMultipleValue] = useState([]); - const onChange = (value: string) => { - setValue(value); - }; + useEffect(() => { + setSingleLoading(true); + setMultipleLoading(true); + + setTimeout(() => { + setSingleOptions(OPTIONS); + setSingleLoading(false); + setSingleValue(OPTIONS[0].value); + setMultipleOptions(OPTIONS); + setMultipleLoading(false); + setMultipleValue([OPTIONS[0].value, OPTIONS[1].value]); + }, 500); + }, []); - const handleRemoteSearch = (search: string) => { - setLoading(true); + const handleSingle = (search: string) => { + setSingleLoading(true); + setTimeout(() => { + const filtered = OPTIONS.filter((item) => item.label.includes(search)); + setSingleOptions(filtered); + setSingleLoading(false); + }, 500); + }; + const handleMultiple = (search: string) => { + setMultipleLoading(true); setTimeout(() => { - setLoading(false); - let options = []; - if (search) { - options = [ - { - value: `腾讯_test1`, - label: `腾讯_test1`, - }, - { - value: `腾讯_test2`, - label: `腾讯_test2`, - }, - { - value: `腾讯_test3`, - label: `腾讯_test3`, - }, - ].filter((item) => item.label.includes(search)); - } - - setOptions(options); + const filtered = OPTIONS.filter((item) => item.label.includes(search)); + setMultipleOptions(filtered); + setMultipleLoading(false); }, 500); }; return ( - + +
+ + +
+ + +
+ + +
+ + + + + + +
+
+
+
- - - - - + + + 请选择 + + +
+ + +
+ + +
+ + + @@ -150176,7 +150256,7 @@ exports[`ssr snapshot test > ssr test packages/components/select/_example/popup- exports[`ssr snapshot test > ssr test packages/components/select/_example/prefix.tsx 1`] = `"
"`; -exports[`ssr snapshot test > ssr test packages/components/select/_example/remote-search.tsx 1`] = `"
"`; +exports[`ssr snapshot test > ssr test packages/components/select/_example/remote-search.tsx 1`] = `"
请选择
"`; exports[`ssr snapshot test > ssr test packages/components/select/_example/scroll-bottom.tsx 1`] = `"
"`; diff --git a/test/snap/__snapshots__/ssr.test.jsx.snap b/test/snap/__snapshots__/ssr.test.jsx.snap index fdecc07bb4..948f21a51e 100644 --- a/test/snap/__snapshots__/ssr.test.jsx.snap +++ b/test/snap/__snapshots__/ssr.test.jsx.snap @@ -844,7 +844,7 @@ exports[`ssr snapshot test > ssr test packages/components/select/_example/popup- exports[`ssr snapshot test > ssr test packages/components/select/_example/prefix.tsx 1`] = `"
"`; -exports[`ssr snapshot test > ssr test packages/components/select/_example/remote-search.tsx 1`] = `"
"`; +exports[`ssr snapshot test > ssr test packages/components/select/_example/remote-search.tsx 1`] = `"
请选择
"`; exports[`ssr snapshot test > ssr test packages/components/select/_example/scroll-bottom.tsx 1`] = `"
"`;