useFilter
支持区域设置感知的字符串过滤
useFilter 提供使用 Intl.Collator 进行区域设置感知字符串过滤的工具函数。它能确保正确的 Unicode 处理,并允许通过 Intl.CollatorOptions 进行自定义配置。
选项
可通过 Intl.CollatorOptions 自定义行为。详见 MDN 文档。
ts
const { startsWith } = useFilter({ sensitivity: 'base' })
console.log(startsWith('Résumé', 'resume')) // true (不区分大小写)使用方法
使用示例
ts
import { useFilter } from 'reka-ui'
const { startsWith, endsWith, contains } = useFilter()
console.log(startsWith('hello', 'he')) // true
console.log(endsWith('hello', 'lo')) // true
console.log(contains('hello', 'ell')) // true在 Vue 组件中使用 useFilter
vue
<script setup>
import { ref } from 'vue'
import { useFilter } from '@/composables/useFilter'
const { contains } = useFilter()
const searchQuery = ref('')
const items = ref(['苹果', '香蕉', '樱桃', '椰枣'])
const filteredItems = computed(() =>
items.value.filter(item => contains(item, searchQuery.value))
)
</script>
<template>
<div>
<input v-model="searchQuery" placeholder="搜索...">
<ul>
<li v-for="item in filteredItems" :key="item">
{{ item }}
</li>
</ul>
</div>
</template>