diff --git a/components/new-filter-page/new-filter-page.vue b/components/new-filter-page/new-filter-page.vue index 747f1b2..6fdcfc8 100644 --- a/components/new-filter-page/new-filter-page.vue +++ b/components/new-filter-page/new-filter-page.vue @@ -98,22 +98,21 @@ - + - - - + @@ -169,6 +168,9 @@ const selectedValues = reactive({ area: '' }); +// 地区多选值(数组) +const selectedAreaValues = ref([]); + // 从字典获取的选项数据 const educationOptions = ref([]); const experienceOptions = ref([]); @@ -202,17 +204,30 @@ const handleSelect = (key, e) => { selectedValues[key] = e.detail.value; }; +// 切换地区多选 +const toggleArea = (value) => { + const index = selectedAreaValues.value.indexOf(value); + if (index === -1) { + selectedAreaValues.value.push(value); + } else { + selectedAreaValues.value.splice(index, 1); + } +}; + // 清除所有选择 const handleClear = () => { Object.keys(selectedValues).forEach((key) => { selectedValues[key] = ''; }); + selectedAreaValues.value = []; }; // 确认筛选 const handleConfirm = () => { - console.log('selectedValues:', selectedValues); - emit('confirm', selectedValues); + const result = { ...selectedValues }; + result.area = selectedAreaValues.value.join(','); + console.log('selectedValues:', result); + emit('confirm', result); handleClose(); };