refactor: use-chips in advSearch keyword

This commit is contained in:
puri-ph4tt 2023-12-06 09:10:44 +07:00
parent ddb3b419c7
commit 94d1af70ea

View file

@ -1,11 +1,11 @@
divdivdivdivdivdiv divdivdivdivdivdiv
<script setup lang="ts"> <script setup lang="ts">
import { ref } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useSearchDataStore } from '@/stores/searched-data' import { useSearchDataStore } from '@/stores/searched-data'
const { isAdvSearchCall } = storeToRefs(useSearchDataStore()) const { isAdvSearchCall, advSearchDataRow, advSearchDataField } =
storeToRefs(useSearchDataStore())
const optionsField = [ const optionsField = [
{ label: 'ชื่อเรื่อง (title)', value: 'title' }, { label: 'ชื่อเรื่อง (title)', value: 'title' },
{ label: 'คำสำคัญ (keyword)', value: 'keyword' }, { label: 'คำสำคัญ (keyword)', value: 'keyword' },
@ -16,26 +16,6 @@ const optionsOp = [
{ label: 'และ', value: 'AND' }, { label: 'และ', value: 'AND' },
{ label: 'หรือ', value: 'OR' }, { label: 'หรือ', value: 'OR' },
] ]
const advSearchDataRow = ref<
{
op: 'AND' | 'OR'
field: 'title' | 'keyword'
value: string
}[]
>([
{
op: 'AND',
field: 'title',
value: '',
},
])
const advSearchDataField = ref<{
keyword: string
description: string
}>({
keyword: '',
description: '',
})
const props = defineProps<{ const props = defineProps<{
searchSubmit: Function searchSubmit: Function
submitSearchData: { submitSearchData: {
@ -50,11 +30,6 @@ const props = defineProps<{
} }
}>() }>()
defineExpose({
advSearchDataRow,
advSearchDataField,
})
function addAdvSearchData() { function addAdvSearchData() {
advSearchDataRow.value.push({ advSearchDataRow.value.push({
op: 'AND', op: 'AND',
@ -75,7 +50,7 @@ function clearAdvSearchData() {
}, },
] ]
advSearchDataField.value = { advSearchDataField.value = {
keyword: '', keyword: [],
description: '', description: '',
} }
} }
@ -193,13 +168,17 @@ function clearAdvSearchData() {
<div class="row q-col-gutter-md q-pb-md"> <div class="row q-col-gutter-md q-pb-md">
<div class="col-12 col-md-5"> <div class="col-12 col-md-5">
<q-input <q-select
id="advSearchKeyword"
dense
outlined outlined
placeholder="คำสำคัญ" dense
@keydown.enter.prevent="searchSubmit()"
v-model="advSearchDataField.keyword" v-model="advSearchDataField.keyword"
placeholder="คำสำคัญ"
use-input
use-chips
multiple
hide-dropdown-icon
input-debounce="0"
new-value-mode="add"
/> />
</div> </div>
<div class="col-12 col-md-grow"> <div class="col-12 col-md-grow">