【发布时间】:2020-01-28 08:35:11
【问题描述】:
我一直在谷歌搜索并使用我知道的每个组合,但我无法将我的复选框初始化为选中状态。
我的控制器
public function changeStatus(Request $request, about $about)
{
$this->validate($request, [
'status' => 'in:true,false'
]);
$about->update(['status' => !$about->status]);
return response()->json($about);
}
我的迁移
$table->boolean('status')->default(false)->nullable();
我的模板 vuejs
<template v-for="item in abouts" :key="item.id"> <a href="javascript:void(0)"
class="togglebutton btn btn-link btn-sm btn-sm"
@click="changeStatusItem(item)">
<label>
<input type="checkbox" name="status" v-model="item.status"
v-bind:id="item.id" :checked="item.status"/>
<span class="toggle"></span>
</label>
</a></template>
我的脚本
export default{props: {
checked: Boolean
},
data() {
return {
abouts: {},
}
},
methods: {
changeStatusItem(item) {
//Start Progress bar
this.$Progress.start();
axios.get(`/change_status_abouts/${item.id}`).then((res) => {
/** Alert notify bootstrapp **/
console.log(res);
})
},}}
【问题讨论】:
-
1.你从哪里得到你的关于的集合?该示例是一个空对象。但是,假设您确实有一个集合,那么当您从服务器收到带有该项目的响应时,您需要一个。设置
item.status = true;或循环遍历 about's,如果id匹配响应,则将状态设置为 true -
你不应该同时使用
v-model和:checked。
标签: javascript laravel vue.js