Fixed artist search

This commit is contained in:
lucast committed 2026-09-26 00:00:53 +02:00
1 parent fdf2aeb675
commit 3255a97339
1 file changed
+13 -4
+13 -4
View File
@@ -21,6 +21,17 @@ const show = ref<boolean>(false)
const isMultiple = computed(() => !!props.multiple) const isMultiple = computed(() => !!props.multiple)
const loadOptions = async (q = "") => {
const allOptions = await props.fetchOptions(q)
const normalizedQuery = q.trim().toLocaleLowerCase()
options.value = allOptions
.filter((option) =>
option.label.toLocaleLowerCase().includes(normalizedQuery),
)
.slice(0, 10)
}
watchEffect(() => { watchEffect(() => {
if (!props.predefined) return if (!props.predefined) return
@@ -47,9 +58,7 @@ watchEffect(() => {
nextTick(() => (options.value = [])) nextTick(() => (options.value = []))
}) })
watch(query, async (q) => { watch(query, loadOptions)
options.value = await (await props.fetchOptions(q)).slice(0, 10)
})
const isSelected = (opt: Option) => { const isSelected = (opt: Option) => {
if (isMultiple.value && Array.isArray(value.value)) { if (isMultiple.value && Array.isArray(value.value)) {
@@ -78,7 +87,7 @@ const select = (item: Option) => {
const onFocus = async () => { const onFocus = async () => {
if (isMultiple.value) query.value = "" if (isMultiple.value) query.value = ""
show.value = true show.value = true
options.value = await (await props.fetchOptions()).slice(0, 10) await loadOptions(isMultiple.value ? "" : query.value)
} }
const onFocusOut = () => { const onFocusOut = () => {