vue.js - Bootstrap-vue 嵌套复选框 v-model 行为不正确
问题描述
请简要回顾一下这个组件代码。
<template>
<div>
<b-form-checkbox
id="checkbox-0"
v-model="checkboxIsChecked"
name="checkbox-1"
> Nested checkbox
</b-form-checkbox>
<nested-checkbox-error class="ml-4" v-if="checkboxIsChecked"></nested-checkbox-error>
</div>
</template>
<script>
export default {
name: "nested-checkbox-error",
data(){
return {
checkboxIsChecked: false
}
}
}
</script>
<style scoped>
</style>
在这里,我正在尝试制作一个嵌套复选框。当您选中该框时,应该会出现一个子复选框。它适用于根复选框。但是对于子复选框,当我单击它时,父的“checkboxIsChecked”是被切换的。我对 v-model 的理解有问题吗?
解决方案
看来您正在使用递归组件。
组中的每个复选框(具有相同的name
)应该有一个不同的value
,并且 v-model 也应该是一个数组(每个复选框在选中时将其值存储在数组中)。
分配给每个复选框的 ID 也需要每个复选框是唯一的。
推荐阅读
- python-3.x - 根据原始图像的大小重新缩放预测的矩形框
- user-interface - JavaFX 折线图 NumberAxis 具有严格的上限,需要像 CategoryAxis 那样自动填充一个刻度
- javascript - React-Codemirror match-highlighter 插件不突出显示文本
- css - 如何制作适用于短段落的 dropcap
- amazon-web-services - 根 lvm 卷大小 100%
- c# - Web Agora.io 查找流类型为共享屏幕
- javascript - Arduino导入jquery文件
- python - Locust IO 失败“BadStatusCode”的含义
- r - R Shiny 突然停止渲染所有表格和绘图,没有错误消息
- pytorch - 如何从给定的索引和值列表创建一维稀疏张量?