Vue 3 的 v-model
是一个语法糖,它为表单输入和应用状态之间创建了双向绑定。这样,当用户在表单中输入时,数据会自动更新,反之亦然。
说明
在 Vue 3 中,v-model
实际上是基于 value
属性和 input
事件实现的。这意味着你可以使用 v-model
来监听 input
事件,并且当输入变化时,v-model
会自动更新数据。
使用方法
在表单元素上使用 v-model
:
html<template> <input v-model="message" /> </template> <script> export default { data() { return { message: '' } } } </script>
代码示例
文本输入框:
<template> <div> <input v-model="message" placeholder="输入文本" /> <p>你输入的文本是: {{ message }}</p> </div> </template> <script> export default { data() { return { message: '' } } } </script>
复选框:
对于复选框,你可以使用数组来绑定多个选项。当用户选择或取消选择一个选项时,数组会自动更新。
<template> <div> <input type="checkbox" v-model="checkedList" value="选项1" /> 选项1<br /> <input type="checkbox" v-model="checkedList" value="选项2" /> 选项2<br /> <ul> <li v-for="item in checkedList" :key="item">{{ item }}</li> </ul> </div> </template> <script> export default { data() { return { checkedList: [] } } } </script>
选择框:
对于选择框,你可以使用对象或数组来绑定多个选项。当用户选择或取消选择一个选项时,对象或数组会自动更新。
使用对象:
<template> <div> <select v-model="selectedOption"> <option v-for="option in options" :key="option.value" :value="option.value"> {{ option.text }} - {{ option.value }}元 </option> </select> <p>你选择的选项是: {{ selectedOption }}</p> </div> </template> <script> export default { data() { return { options: [ { text: '选项1', value: '1' }, { text: '选项2', value: '2' }, { text: '选项3', value: '3' } ], selectedOption: '' } } } </script>