From de94f2d998d32648d0d352de1915b6f3caaa2005 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=B3?= Date: Wed, 15 Jul 2026 20:36:23 +0800 Subject: [PATCH] =?UTF-8?q?vear:=E5=9C=B0=E5=8C=BA=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=A4=9A=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../new-filter-page/new-filter-page.vue | 49 ++++++++++++------- 1 file changed, 32 insertions(+), 17 deletions(-) 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(); };