我想根据数据库中特定数据的存在来检查我的复选框。我在laravel中使用vuejs。 以下是我的复选框代码:
<input type="checkbox" value="{{$complaint->complaintID}}" :checked="CheckCECDecisionSigned({{$complaint->complaintID}})" disabled>
以下是我的vuejs方法:
methods: {
CheckCECDecisionSigned: function (complaintID) {
if (complaintID) {
var self = this;
this.$http.get('/cimsm/public/api/fetchCECDecisionSignature/' + complaintID).then(function (response) {
if (response.data.length > 0) {
return true;
}
});
}
},
如您所见,如果response.data.length > 0
,那么我想返回true,因此选中了复选框。但即使response.data.length
大于0
,我也无法让方法返回布尔值。你能帮我解决吗?。
答案 0 :(得分:0)
我不认为这会有效,因为调用是异步的。您应该尝试将复选框的状态绑定到变量,并v-model
复选框,如:
<input type="checkbox"
value="{{$complaint->complaintID}}"
:v-model="isChecked"
disabled>
然后,在AJAX函数的回调中:
if (response.data.length > 0) {
self.isChecked = true
}
你需要解决一些问题,比如找到另一种方法将complaintID
传递给AJAX函数(可能使用组件和道具?)。检查一下:https://vuejs.org/guide/forms.html#Checkbox