如何使用多个 b-form-radio-group 避免它们之间的视觉干扰?
How can I use multiple b-form-radio-group avoiding visual interference among them?
我是 Vue 的新手,特别是 Bootstrap Vue,我正在尝试构建一个包含多个无线电组的表单。
我的问题是,当我更改其中一个值时,其他值不会更改(已使用 Vue DevTools 检查)但视觉上看起来 none 个值已被选中
我不知道我的方法有什么问题
我post这里是代码的简化版本寻求一些帮助,在此先感谢:
<template>
<div>
<b-form-group label="Radio group 1" v-slot="{ ariaDescribedby }">
<b-form-radio-group
id="radio-group-1"
v-model="selected1"
:options="options1"
:aria-describedby="ariaDescribedby"
name="radio-options"
></b-form-radio-group>
</b-form-group>
<b-form-group label="Radio Group 2" v-slot="{ ariaDescribedby }">
<b-form-radio-group
id="radio-group-2"
v-model="selected2"
:options="options2"
:aria-describedby="ariaDescribedby"
name="radio-options"
></b-form-radio-group>
</b-form-group>
</div>
</template>
<script>
export default {
data() {
return {
selected1: 'first',
options1: [
{ text: 'First', value: 'first' },
{ text: 'Second', value: 'second' },
],
selected2: 'one',
options2: [
{ text: 'One', value: 'one' },
{ text: 'Two', value: 'two' },
]
}
}
}
</script>
由于两个 <b-form-radio-group>
元素具有相同的名称“radio-options”,因此在视觉上它们被视为一组。不同的 v-model
仍然可以正常工作,但这不是您在视觉上想要的。给第二组一个不同的名字:
<b-form-radio-group
id="radio-group-2"
v-model="selected2"
:options="options2"
:aria-describedby="ariaDescribedby"
name="radio-options2"
></b-form-radio-group>
这里我改成了radio-options2
。
我是 Vue 的新手,特别是 Bootstrap Vue,我正在尝试构建一个包含多个无线电组的表单。
我的问题是,当我更改其中一个值时,其他值不会更改(已使用 Vue DevTools 检查)但视觉上看起来 none 个值已被选中
我不知道我的方法有什么问题
我post这里是代码的简化版本寻求一些帮助,在此先感谢:
<template>
<div>
<b-form-group label="Radio group 1" v-slot="{ ariaDescribedby }">
<b-form-radio-group
id="radio-group-1"
v-model="selected1"
:options="options1"
:aria-describedby="ariaDescribedby"
name="radio-options"
></b-form-radio-group>
</b-form-group>
<b-form-group label="Radio Group 2" v-slot="{ ariaDescribedby }">
<b-form-radio-group
id="radio-group-2"
v-model="selected2"
:options="options2"
:aria-describedby="ariaDescribedby"
name="radio-options"
></b-form-radio-group>
</b-form-group>
</div>
</template>
<script>
export default {
data() {
return {
selected1: 'first',
options1: [
{ text: 'First', value: 'first' },
{ text: 'Second', value: 'second' },
],
selected2: 'one',
options2: [
{ text: 'One', value: 'one' },
{ text: 'Two', value: 'two' },
]
}
}
}
</script>
由于两个 <b-form-radio-group>
元素具有相同的名称“radio-options”,因此在视觉上它们被视为一组。不同的 v-model
仍然可以正常工作,但这不是您在视觉上想要的。给第二组一个不同的名字:
<b-form-radio-group
id="radio-group-2"
v-model="selected2"
:options="options2"
:aria-describedby="ariaDescribedby"
name="radio-options2"
></b-form-radio-group>
这里我改成了radio-options2
。