mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-05-29 22:17:50 +08:00
Merge pull request #117 from nagisa77/codex/fix-search-dropdown-display-and-error
Fix dropdown search slot update
This commit is contained in:
@@ -1,7 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="dropdown" ref="wrapper">
|
<div class="dropdown" ref="wrapper">
|
||||||
<div class="dropdown-display" @click="toggle">
|
<div class="dropdown-display" @click="toggle">
|
||||||
<slot name="display" :selected="selectedLabels" :toggle="toggle" :search="search">
|
<slot
|
||||||
|
name="display"
|
||||||
|
:selected="selectedLabels"
|
||||||
|
:toggle="toggle"
|
||||||
|
:search="search"
|
||||||
|
:setSearch="setSearch"
|
||||||
|
>
|
||||||
<template v-if="multiple">
|
<template v-if="multiple">
|
||||||
<span v-if="selectedLabels.length">
|
<span v-if="selectedLabels.length">
|
||||||
<template v-for="(label, idx) in selectedLabels" :key="label.id">
|
<template v-for="(label, idx) in selectedLabels" :key="label.id">
|
||||||
@@ -76,6 +82,9 @@ export default {
|
|||||||
setup(props, { emit }) {
|
setup(props, { emit }) {
|
||||||
const open = ref(false)
|
const open = ref(false)
|
||||||
const search = ref('')
|
const search = ref('')
|
||||||
|
const setSearch = (val) => {
|
||||||
|
search.value = val
|
||||||
|
}
|
||||||
const options = ref([])
|
const options = ref([])
|
||||||
const loaded = ref(false)
|
const loaded = ref(false)
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
@@ -185,7 +194,8 @@ export default {
|
|||||||
selectedLabels,
|
selectedLabels,
|
||||||
isSelected,
|
isSelected,
|
||||||
loading,
|
loading,
|
||||||
isImageIcon
|
isImageIcon,
|
||||||
|
setSearch
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,10 +6,16 @@
|
|||||||
menu-class="search-menu"
|
menu-class="search-menu"
|
||||||
option-class="search-option"
|
option-class="search-option"
|
||||||
>
|
>
|
||||||
<template #display="{ toggle, search }">
|
<template #display="{ toggle, setSearch }">
|
||||||
<div class="search-input" @click="toggle">
|
<div class="search-input" @click="toggle">
|
||||||
<i class="search-input-icon fas fa-search"></i>
|
<i class="search-input-icon fas fa-search"></i>
|
||||||
<input type="text" v-model="keyword" placeholder="Search" @focus="toggle" @input="search.value = keyword" />
|
<input
|
||||||
|
type="text"
|
||||||
|
v-model="keyword"
|
||||||
|
placeholder="Search"
|
||||||
|
@focus="toggle"
|
||||||
|
@input="setSearch(keyword)"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #option="{ option }">
|
<template #option="{ option }">
|
||||||
|
|||||||
Reference in New Issue
Block a user