@@ -267,6 +267,81 @@ const defaultSelectOptions = [
267267
268268:::
269269
270+ ## 搜索 (search)
271+
272+ ::: raw
273+
274+ <CodeRunner title =" 搜索 (search) " >
275+ <div class =" space-y-4 " >
276+ <div>
277+ <p :class="['text-sm mb-2', darkMode ? 'text-gray-200' : 'text-gray-700']">普通搜索</p>
278+ <ShadcnSelect v-model="searchSelectValue" :options="citiesOptions" search placeholder="请搜索城市" :dark="darkMode" />
279+ </div>
280+ <div>
281+ <p :class="['text-sm mb-2', darkMode ? 'text-gray-200' : 'text-gray-700']">多选搜索</p>
282+ <ShadcnSelect v-model="searchMultiValue" :options="citiesOptions" search multiple placeholder="请搜索并选择多个城市" :dark="darkMode" />
283+ </div>
284+ <div>
285+ <p :class="['text-sm mb-2', darkMode ? 'text-gray-200' : 'text-gray-700']">液态玻璃搜索</p>
286+ <div :class="['p-6 rounded-lg', darkMode ? 'bg-gradient-to-r from-blue-900 to-indigo-900' : 'bg-gradient-to-r from-blue-400 to-indigo-400']">
287+ <ShadcnSelect v-model="searchGlassValue" :options="citiesOptions" search glass placeholder="请搜索城市" :dark="darkMode" />
288+ </div>
289+ </div>
290+ </div >
291+ </CodeRunner >
292+
293+ :::
294+
295+ ::: details 查看代码
296+
297+ ``` vue
298+ <template>
299+ <div class="space-y-4">
300+ <div>
301+ <p :class="['text-sm mb-2', darkMode ? 'text-gray-200' : 'text-gray-700']">普通搜索</p>
302+ <ShadcnSelect v-model="searchSelectValue" :options="citiesOptions" search placeholder="请搜索城市" :dark="darkMode" />
303+ </div>
304+ <div>
305+ <p :class="['text-sm mb-2', darkMode ? 'text-gray-200' : 'text-gray-700']">多选搜索</p>
306+ <ShadcnSelect v-model="searchMultiValue" :options="citiesOptions" search multiple placeholder="请搜索并选择多个城市" :dark="darkMode" />
307+ </div>
308+ <div>
309+ <p :class="['text-sm mb-2', darkMode ? 'text-gray-200' : 'text-gray-700']">液态玻璃搜索</p>
310+ <div :class="['p-6 rounded-lg', darkMode ? 'bg-gradient-to-r from-blue-900 to-indigo-900' : 'bg-gradient-to-r from-blue-400 to-indigo-400']">
311+ <ShadcnSelect v-model="searchGlassValue" :options="citiesOptions" search glass placeholder="请搜索城市" :dark="darkMode" />
312+ </div>
313+ </div>
314+ </div>
315+ </template>
316+
317+ <script setup lang="ts">
318+ import { useData } from 'vitepress'
319+ import { computed, ref } from 'vue'
320+
321+ const { isDark } = useData()
322+ const darkMode = computed(() => isDark.value)
323+
324+ const searchSelectValue = ref('')
325+ const searchMultiValue = ref([])
326+ const searchGlassValue = ref('')
327+
328+ const citiesOptions = [
329+ { value: 'beijing', label: '北京' },
330+ { value: 'shanghai', label: '上海' },
331+ { value: 'guangzhou', label: '广州' },
332+ { value: 'shenzhen', label: '深圳' },
333+ { value: 'hangzhou', label: '杭州' },
334+ { value: 'nanjing', label: '南京' },
335+ { value: 'chengdu', label: '成都' },
336+ { value: 'chongqing', label: '重庆' },
337+ { value: 'wuhan', label: '武汉' },
338+ { value: 'xian', label: '西安' }
339+ ]
340+ </script>
341+ ```
342+
343+ :::
344+
270345## 液态玻璃效果 (glass)
271346
272347::: raw
@@ -468,6 +543,8 @@ loadMoreData((children) => {
468543 [ 'loadData', '懒加载数据函数', 'function', '-', '-'] ,
469544 [ 'dark', '暗黑模式', 'boolean', 'false', '-'] ,
470545 [ 'glass', '液态玻璃效果', 'boolean', 'false', '-'] ,
546+ [ 'search', '是否启用搜索功能', 'boolean', 'false', 'true | false'] ,
547+ [ 'searchPlaceholder', '搜索框占位符', 'string', '搜索...', '-'] ,
471548 ] ">
472549</ApiTable >
473550
@@ -562,4 +639,21 @@ const onClick = () => {
562639
563640const glassSelectValue = ref (null )
564641const glassMultiValue = ref ([])
642+
643+ const searchSelectValue = ref (' ' )
644+ const searchMultiValue = ref ([])
645+ const searchGlassValue = ref (' ' )
646+
647+ const citiesOptions = [
648+ { value: ' beijing' , label: ' 北京' },
649+ { value: ' shanghai' , label: ' 上海' },
650+ { value: ' guangzhou' , label: ' 广州' },
651+ { value: ' shenzhen' , label: ' 深圳' },
652+ { value: ' hangzhou' , label: ' 杭州' },
653+ { value: ' nanjing' , label: ' 南京' },
654+ { value: ' chengdu' , label: ' 成都' },
655+ { value: ' chongqing' , label: ' 重庆' },
656+ { value: ' wuhan' , label: ' 武汉' },
657+ { value: ' xian' , label: ' 西安' }
658+ ]
565659</script >
0 commit comments