vue学习:5、双向绑定 单选、多选、select

v-mode:根据控件类型自动选取正确的方法来更新元素。

修饰符:

.lazy

在默认情况下, v-model 在 input 事件中同步输入框的值与数据,但你可以添加一个修饰符 lazy ,从而转变为在 change 事件中同步:

<!-- 在 "change" 而不是 "input" 事件中更新 -->
<input v-model.lazy="msg" >

.trim

如果要自动过滤用户输入的首尾空格,可以添加 trim 修饰符到 v-model 上过滤输入:

<input v-model.trim="msg">

.number

如果想自动将用户的输入值转为 Number 类型(如果原值的转换结果为 NaN 则返回原值),可以添加一个修饰符 number 给 v-model 来处理输入值:

<input v-model.number="age" type="number">

这通常很有用,因为在 type="number" 时 HTML 中输入的值也总是会返回字符串类型。

<body>
		<div id="app" @click="aa(checkedNames)">
			<p>单个复选框:</p>
			<input type="checkbox" id="checkbox" v-model="checked">
			<label for="checkbox">{{ checked }}</label>

			<p>多个复选框:</p>
			<input type="checkbox" id="runoob" value="Runoob" v-model="checkedNames">
			<label for="runoob">Runoob</label>
			<input type="checkbox" id="google" value="Google" v-model="checkedNames">
			<label for="google">Google</label>
			<input type="checkbox" id="taobao" value="Taobao" v-model="checkedNames">
			<label for="taobao">taobao</label>
			<br>
			<span>选择的值为: {{ checkedNames }}</span>
		</div>
		<div style="height: 20px;"></div>
		<div id="app_r">
			<input type="radio" id="runoob" value="Runoob" v-model="picked">
			<label for="runoob">Runoob</label>
			<br>
			<input type="radio" id="google" value="Google" v-model="picked">
			<label for="google">Google</label>
			<br>
			<span>选中值为: {{ picked }}</span>
		</div>
		<div style="height: 20px;"></div>
		<div id="app_s">
			<select v-model="selected_Num" name="fruit">
				<option value="1">第一个</option>
				<option value="2">第二个</option>
				<option value="3">第三个</option>
			</select>

			<div id="output">
				选择的数字是: {{selected_Num}}
			</div>
		</div>
		<script>
			new Vue({
				el: '#app',
				data: {
					checked: false,
					checkedNames: []
				},
				methods: {
					aa: function(pp) {
						console.log('点击=' + pp);
					}
				}
			})
			new Vue({
				el: '#app_r',
				data: {
					picked: 'Runoob' /*空 都不选;填一个,则默认选*/
				}
			})
			new Vue({
				el: '#app_s',
				data: {
					selected_Num: ''
				}
			})
		</script>
	</body>

原文 http://www.runoob.com/vue2/vue-forms.html

转载于:https://my.oschina.net/qingqingdego/blog/2395888

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue+ElementUI中使用el-select组件进行单选或多时,可以通过设置v-model来中的值,并且根据el-select组件的multiple属性来决单选还是多单选时,v-model的是一个普通变量,当用户择一个项时,v-model变量会被更新为中的值。例如: ``` <el-select v-model="selectedItem"> <el-option label="项1" value="option1"></el-option> <el-option label="项2" value="option2"></el-option> <el-option label="项3" value="option3"></el-option> <el-option label="项4" value="option4"></el-option> </el-select> ``` 其中,`selectedItem`是一个普通变量,用来保存中的值。当用户择一个项时,`selectedItem`变量会自动更新。 多时,v-model的是一个数组,用来保存中的值。例如: ``` <el-select v-model="selectedItems" multiple> <el-option label="项1" value="option1"></el-option> <el-option label="项2" value="option2"></el-option> <el-option label="项3" value="option3"></el-option> <el-option label="项4" value="option4"></el-option> </el-select> ``` 其中,`selectedItems`是一个数组,用来保存中的值。当用户择一个或多个项时,`selectedItems`数组会自动更新。 要回显已中的值,只需要将v-model的变量或数组初始化为已中的值即可。例如: 单选回显: ``` <template> <el-select v-model="selectedItem"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-select> </template> <script> export default { data() { return { selectedItem: "option2", // 已中的值 options: [ { label: "项1", value: "option1" }, { label: "项2", value: "option2" }, { label: "项3", value: "option3" }, { label: "项4", value: "option4" }, ], }; }, }; </script> ``` 多回显: ``` <template> <el-select v-model="selectedItems" multiple> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-select> </template> <script> export default { data() { return { selectedItems: ["option2", "option4"], // 已中的值 options: [ { label: "项1", value: "option1" }, { label: "项2", value: "option2" }, { label: "项3", value: "option3" }, { label: "项4", value: "option4" }, ], }; }, }; </script> ``` 在上面的例子中,`selectedItem`变量或`selectedItems`数组被初始化为已中的值,因此在页面加载时,已中的项会被自动回显。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值