关于vue表单中,单选、多选、复选、下拉选的使用
vue表单选项的使用单选使用v-model指令给每个选项绑定同一个变量就可以确保只有一个被选中,同时value属性表示选中时的值。<div id="app"><h1>单选:</h1><label>男<input type="radio" v-model="gender" value="man"/></label><lab
·
vue表单选项的使用
单选
使用v-model指令给每个选项绑定同一个变量就可以确保只有一个被选中,同时value属性表示选中时的值。
<div id="app">
<h1>单选:</h1>
<label>男<input type="radio" v-model="gender" value="man"/></label>
<label>女<input type="radio" v-model="gender" value="woman"/></label>
<p>已选:{{gender}}</p>
</div>
<script>
var vm = new Vue({
el:'#app',
data:{
gender:'man'//男女单选
}
})
</script>
复选框
1、单个复选
使用v-model指令绑定单选值,默认单选值为false,通过改变选框来改变值的状态
<div id="app">
<h1>单个复选:</h1>
<label>a<input type="checkbox" v-model="single"/></label>
<p>已选:{{single}}</p>
</div>
<script>
var vm = new Vue({
el:'#app',
data:{
single:false//单个复选框
}
})
</script>
2、多个值复选
使用v-model指令绑定一个变量,这些变量放在一个对象中,默认值都为false,通过改变选框来改变对象数据中值的状态
<div id="app">
<h1>多个值复选:</h1>
<label>a<input type="checkbox" v-model="more.a"/></label>
<label>b<input type="checkbox" v-model="more.b"/></label>
<label>c<input type="checkbox" v-model="more.c"/></label>
<p>已选:{{more}}</p>
</div>
<script>
var vm = new Vue({
el:'#app',
data:{
more:{a:false,b:false,c:false}//多个值复选
}
})
</script>
3、多个复选
使用v-model指令v-model绑定一个相同的属性名称,这些变量放在一个数组中,值属性放在一个数组中
<div id="app">
<h1>多个复选:</h1>
<label>a<input type="checkbox" v-model="multi" value="a"/></label>
<label>b<input type="checkbox" v-model="multi" value="b"/></label>
<label>c<input type="checkbox" v-model="multi" value="c"/></label>
<p>已选:{{multi.join(',')}}</p>
</div>
<script>
var vm = new Vue({
el:'#app',
data:{
multi:[]//多个复选
}
})
</script>
下拉选
使用v-for指令,避免重复书写option标签,默认一个选项值为空,同时用v-bind指令绑定value属性。当选中某一项时,该选项的value值赋给selected变量
<div id="app">
<h1>下拉选:</h1>
<select v-model="selected">
<option value="">请选择一个选项</option>
<option v-for="item in items" :value="item.value">{{item.text}}</option>
</select>
<span>已选:{{selected}}</span>
</div>
<script>
var vm = new Vue({
el:'#app',
data:{
items:[{text:'A',value:'a'},{text:'B',value:'b'},{text:'C',value:'c'}],//下拉选数据
selected:''//下拉选值
}
})
</script>
综合全部代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<link href="https://cdn.jsdelivr.net/npm/animate.css@3.5.1" rel="stylesheet" type="text/css">
<title>Document</title>
</head>
<body>
<div id="app">
<h1>单选:</h1>
<label>男<input type="radio" v-model="gender" value="man"/></label>
<label>女<input type="radio" v-model="gender" value="woman"/></label>
<p>已选:{{gender}}</p>
<hr>
<h1>单个复选:</h1>
<label>a<input type="checkbox" v-model="single"/></label>
<p>已选:{{single}}</p>
<h1>多个值复选:</h1>
<label>a<input type="checkbox" v-model="more.a"/></label>
<label>b<input type="checkbox" v-model="more.b"/></label>
<label>c<input type="checkbox" v-model="more.c"/></label>
<p>已选:{{more}}</p>
<h1>多个复选:</h1>
<label>a<input type="checkbox" v-model="multi" value="a"/></label>
<label>b<input type="checkbox" v-model="multi" value="b"/></label>
<label>c<input type="checkbox" v-model="multi" value="c"/></label>
<p>已选:{{multi.join(',')}}</p>
<hr>
<h1>下拉选:</h1>
<select v-model="selected">
<option value="">请选择一个选项</option>
<option v-for="item in items" :value="item.value" multiple>{{item.text}}</option>
</select>
<span>已选:{{selected}}</span>
</div>
<script>
var vm = new Vue({
el:'#app',
data:{
gender:'man',//男女单选
single:false,//单个复选框
more:{a:false,b:false,c:false},//多个值复选
multi:[],//多个复选
items:[{text:'A',value:'a'},{text:'B',value:'b'},{text:'C',value:'c'}],//下拉选数据
selected:''//下拉选值
}
})
</script>
</body>
</html>
全部效果展示:
更多推荐
已为社区贡献7条内容
所有评论(0)