javascript - 如何查看vue中的复选框值?
问题描述
我用 vue 创建了一些动态复选框,它们看起来像这样;
<li v-for="element in checklist" :key="element.id" class="block w-full p-1">
<div v-if="element.taskId == task" class="w-full border-2 rounded-md p-4">
<div class="float-right">
<button @click="deleteCheck(element.id)">
<Trash2Icon class="px-1"/>
</button>
</div>
<div class="flex">
<input type="checkbox" id="checkbox" v-model="element.checked" class="w-6">
<label for="checkbox" class="px-2">{{element.content}}</label>
</div>
</div>
</li>
我想在 vue 中使用 watch() 函数查看“element.checked”值,我想使用axios将其发布到 API 。它的外观可能是这样的;
watch: {
element.checked() { // doesn't work
axios.put('api/blabla' + element.id, // I'm not sure here, I'm just trying to compare
checked: this.element.checked
})
.catch(err => {
console.log(err)
})
}
}
我只是在寻找一种方法,它可能会有所不同。上面的代码只是一个猜测 element.checked 给出了一个错误。
顺便说一句,我的清单看起来像;
"checklist": [
{
"content": "lorem ipsum dolor",
"checked": true,
"id": 1
},
{
"content": "lorem ipsum dolor sit",
"checked": false,
"id": 2
},
]```
解决方案
你不需要在这里使用手表......你需要做的就是绑定一个@change
事件,比如
<input type="checkbox" id="checkbox" v-model="element.checked" @change="customMethod" class="w-6">
并在方法中
methods: {
customMethod() {
axios.put('api/blabla' + element.id,
checked: this.element.checked
})
.catch(err => {
console.log(err)
})
}
推荐阅读
- docker - 如何使用 docker-compose 记录扩展服务的给定实例?
- javascript - 多流 WebRTC 应用程序无法在 Safari 上运行
- firebase - 当我想获取我的图片下载链接 Flutter 时遇到问题(请求没有应用检查令牌。)
- r - 使用 SSasymp 拟合指数衰减模型
- sql - 需要帮助将整数转换为时间
- python - 'numpy.ndarray' 对象没有属性 'columns' 我该如何解决?
- php - 如何覆盖 html 元素但保留块的其余部分?
- python - 在 Python / Numpy 中矢量化从多个边界框点构建多个笛卡尔坐标网格
- flutter - 创建:(_) => AboutBloc(widget.seed)..add(CallforAbout()) 不能在颤振中工作
- django - 用于创建多种 T 恤衫的 Django 模型