问题: 今天在练习input复选框时,将勾选的数据绑定在数组中checked中,直接引用后在显示的时候是以数组的形式展示的带着中括号,用replace方法去掉[]又太麻烦。
解决方法
不再直接引用,采用v-html的展示方式<p>你选择的:<span v-html="checked"></span></p>,同样也是响应式的,就能够正常展示了。
<body>
<div id="app">
<p id="ww">你选择了:{{checked}}</p>
<input type="checkbox" v-model="checked" value="西瓜" @change="change">西瓜
<input type="checkbox" v-model="checked" value="香蕉" @change="change">香蕉
<input type="checkbox" v-model="checked" value="葡萄" @change="change">葡萄
<input type="checkbox" v-model="checked" value="哈密瓜" @change="change">哈密瓜
<p>你选择的:<span v-html="checked"></span></p>
</div>
<script>
const app = {
data() {
return {
checked: [],
}
},
methods: {
change(e) {
console.log(e.target.checked)
console.log(this.checked)
}
}
}
Vue.createApp(app).mount('#app')
</script>
</body>