<div v-for="(item, index) in checkboxList" :key="index"> <input type="checkbox" :id="item" :value="item" v-model="checkedList"> <label :for="item">{{ item }}</label> </div> 怎么在一行展示
时间: 2023-07-06 12:24:25 浏览: 37
你可以将 `<div>` 标签改为 `<span>` 标签,这样它们就不会换行了。像这样:
```html
<span v-for="(item, index) in checkboxList" :key="index">
<input type="checkbox" :id="item" :value="item" v-model="checkedList">
<label :for="item">{{ item }}</label>
</span>
```
另外,你可能需要为每个 `<span>` 添加一些样式,以便它们在同一行上。例如,你可以为它们添加 `display: inline-block` 样式,像这样:
```html
<span v-for="(item, index) in checkboxList" :key="index" style="display: inline-block;">
<input type="checkbox" :id="item" :value="item" v-model="checkedList">
<label :for="item">{{ item }}</label>
</span>
```
这样每个 `<span>` 都会显示在同一行上,并且复选框和标签也会在同一行上。
相关问题
前端vue需求,做几个Checkbox ,点击那个Checkbox ,然后Checkbox 的值进入input中<span v-for="(item, index) in checkboxList" :key="index"> <input type="checkbox" :id="item" :value="item" v-model="checkedList"> <label :for="item">{{ item }}</label> </span>,j进入input的值取出引号和逗号
可以在Vue的模板中使用计算属性来实现这个需求。你可以定义一个计算属性,将选中的Checkbox的值拼接成一个字符串,去掉引号和逗号,然后将这个字符串赋值给input的v-model。
以下是一个示例代码:
```
<template>
<div>
<span v-for="(item, index) in checkboxList" :key="index">
<input type="checkbox" :id="item" :value="item" v-model="checkedList">
<label :for="item">{{ item }}</label>
</span>
<<input type="text" v-model="inputValue">
</div>
</template>
<script>
export default {
data() {
return {
checkboxList: ['apple', 'banana', 'orange'],
checkedList: [],
inputValue: ''
}
},
computed: {
formattedCheckedList() {
return this.checkedList.join(',').replace(/['",]/g, '');
}
},
watch: {
formattedCheckedList(newValue) {
this.inputValue = newValue;
}
}
}
</script>
```
在上面的代码中,我们定义了一个计算属性`formattedCheckedList`,它将选中的Checkbox的值拼接成一个逗号分隔的字符串,并且使用正则表达式去掉了引号和逗号。然后我们使用`formattedCheckedList`来监听这个字符串的变化,并将其赋值给input的v-model。这样,当用户选中Checkbox时,input的值就会更新为选中的值,且不包含引号和逗号。
vue for遍历 checkbox 无法单选
你可以使用v-model来绑定checkbox的值,然后在遍历时,给每个checkbox设置一个唯一的key值,这样就可以实现单选了。具体实现可以参考以下代码:
<template>
<div>
<div v-for="(item, index) in checkboxList" :key="index">
<input type="checkbox" :id="'checkbox'+index" :value="item.value" v-model="selected">
<label :for="'checkbox'+index">{{ item.label }}</label>
</div>
</div>
</template>
<script>
export default {
data() {
return {
checkboxList: [
{ label: '选项1', value: '1' },
{ label: '选项2', value: '2' },
{ label: '选项3', value: '3' }
],
selected: ''
}
}
}
</script>