gpt4 book ai didi

javascript - 第一次单击时,复选框不会向 Vue 对象传递任何内容

转载 作者:行者123 更新时间:2023-12-03 01:52:23 25 4
gpt4 key购买 nike

我有很多像这样的复选框

<input :disabled="update.spinner" v-model="searchRequest.age" :value="age" type="checkbox" :id="age" @click="getFilters(searchRequest)"></input>

我有一个 Vue 组件

Vue.component('filters',{
template:filtertemplate,
props: ['filters', 'loadLimit','students', 'counter', 'hobbies','update','filterParams', 'filterLoaded'],
data(){
return{
filteredData: this.filters,
selectedHobbies:[],
searchRequest:{
gender:[],
age: [],
hobby:[],
}
}
},
components: {
'v-select': ('v-select', VueSelect.VueSelect)
},
methods:{
getFilters: function (obj) {
debugger
var self = this;
//check if filterParams empty if true encode to uri
if(!obj == 0){studentProfiles.getDatasAsUriParameters(obj)}
},
sendRequest: function(counter,url) {
var self = this;
studentProfiles.counter = 0;
studentProfiles.students = [];
studentProfiles.update.spinner = true;
studentProfiles.getData(counter,url,this.filterParams);
}
}
});

当我第一次选中某个框时,屏幕上似乎已选中该复选框,但 filterParams 未更新。当我取消选中此框或选中另一个框时,第一个框的值将传递给 filterParams

什么可以阻止复选框将其值传递给参数?

最佳答案

@click会触发click事件,最终会触发@change事件。您试图在触发 @click 后立即检查该值。 @change 尚未触发,因此您没有获得正确的值。

尝试用 @change 替换 @click,它应该可以工作,因为一旦复选框值发生更改,它就会被触发。

T.J.Crowder 详细解释了

clickchange 事件 here

关于javascript - 第一次单击时,复选框不会向 Vue 对象传递任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50363938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com