P粉5123632332023-08-21 18:53:56
v-model應該給定一個資料變量,而不是一個函數。在Vue 3中,你也應該使用ref
或reactive
來宣告這個變量,以建立響應式狀態,例如:
const filter = ref('')
現在,當將其設定為選擇器的v-model時,filter
將保存所選選項的值。然後,你需要做的第二件事是使用「on change」事件監聽器回應選擇的變化,這樣每次filter
更新時,你都可以將其提交到你的vuex儲存中。
<template> <div class="filter"> <select v-model="filter" @change="filterChange"> <option value="">全部</option> <option value="Alive">存活</option> <option value="Dead">死亡</option> <option value="unknown">未知</option> </select> </div> </template>
<script> import { ref } from "vue"; export default { setup() { const filter = ref(""); const filterChange = (e) => { console.log("filter", filter.value); // 可选:从实际事件中获取值,而不是使用v-model console.log("来自事件的filter", e.target.value); }; return { filter, filterChange, }; }, }; </script>