前端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的值取出引号和逗号
时间: 2023-07-03 17:27:51 浏览: 97
可以在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的值就会更新为选中的值,且不包含引号和逗号。
阅读全文