vue-7-表单

时间:2023-03-09 22:24:30
vue-7-表单

示例:

<input v-model="message" placeholder="edit me">
<p>Message is: {{ message }}</p>

v-model 会忽略所有表单元素的初始值,会选择 Vue 实例数据来作为具体的值。

多行文本:
<p style="white-space: pre-line;">{{ message }}</p>
<textarea v-model="message" placeholder="add multiple lines"></textarea> 复选框:
<div id='example-3'>
<input type="checkbox" id="jack" value="Jack" v-model="checkedNames">
<label for="jack">Jack</label>
<input type="checkbox" id="john" value="John" v-model="checkedNames">
<label for="john">John</label>
<span>Checked names: {{ checkedNames }}</span>
</div>
new Vue({
el: '#example-3',
data: {
checkedNames: []
}
}) 单选按钮:
<div id="example-4">
<input type="radio" id="one" value="One" v-model="picked">
<label for="one">One</label>
<input type="radio" id="two" value="Two" v-model="picked">
<label for="two">Two</label>
<span>Picked: {{ picked }}</span>
</div>
new Vue({
el: '#example-4',
data: {
picked: ''
}
}) 选择列表:
<div id="example-5">
<select v-model="selected">//列表选择后即选定关闭列表
<select v-model="selected" multiple>//列表选择后不关闭列表可继续选择
<option disabled value="">请选择</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
<span>Selected: {{ selected }}</span>
</div>
new Vue({
el: '...',
data: {
selected: ''//选择结果保存为一个字符串
selected: []//选择结果存为一个数组
}
})

值绑定:绑定 value 到 Vue 实例的一个动态属性上,这时可以用 v-bind 实现

复选框:
<input
type="checkbox"
v-model="toggle"
v-bind
:true-value="a"
v-bind
:false-value="b"
>
// 当选中时 vm.toggle === vm.a
// 当没有选中时 vm.toggle === vm.b 单选按钮:
<input type="radio" v-model="pick" v-bind:value="a">
// 当选中时 vm.pick === vm.a 选择列表的选项:
<select v-model="selected">
<option v-bind:value="{ number: 123 }"></option>
</select>
// 当选中时
typeof vm.selected // => 'object'
vm.selected.number // => 123

修饰符:

.lazy
<!-- 在 "change" 而不是 "input" 事件中更新 -->
<input v-model.lazy="msg" > .number
//将用户的输入值转为 Number 类型
<input v-model.number="age" type="number"> .trim
//自动过滤用户输入的首尾空格
<input v-model.trim="msg">