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>