Element:单选按钮

来自CloudWiki
跳转至: 导航搜索

Radio 单选框

在一组备选项中进行单选

单选框

由于选项默认可见,不宜过多,若选项过多,建议使用 Select 选择器

要使用 Radio 组件,只需要设置v-model绑定变量,选中意味着变量的值为相应 Radio label属性的值,label可以是String、Number或Boolean。


效果图

Vue2022072603.png

代码

<!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">
		<title>VUE第一个案例-helloWorld</title>
		<script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>

		<!-- 引入样式 -->
		<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
		<!-- 引入组件库 -->
		<script src="https://unpkg.com/element-ui/lib/index.js"></script>
		<script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
		<style type="text/css">

		</style>

	</head>

	<body>
		<div id="app">
			<el-form ref="form" :model="form" label-width="80px">
				<el-form-item>
				  <el-radio v-model="form.radio" label="1">备选项</el-radio>
				  <el-radio v-model="form.radio" label="2">备选项</el-radio>
				</el-form-item>
				<el-form-item>
					<el-button type="primary" @click="onSubmit">立即创建</el-button>
					<el-button>取消</el-button>
				</el-form-item>
			</el-form>




		</div>




		<script>
			new Vue({

				el: '#app',
				data() {
					return {
						form: {
							radio:1
						}
					}
				},
				methods: {
					onSubmit() {
						console.log('submit!');
						console.log(this.form.radio);
					}
				}

			})
		</script>
	</body>
</html>

单选框组

适用于在多个互斥的选项中选择的场景.

结合el-radio-group元素和子元素el-radio可以实现单选组,在el-radio-group中绑定v-model,在el-radio中设置好label即可,无需再给每一个el-radio绑定变量,另外,还提供了change事件来响应变化,它会传入一个参数value。


效果图

Vue2022072604.png

代码

<!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">
		<title>VUE第一个案例-helloWorld</title>
		<script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>

		<!-- 引入样式 -->
		<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
		<!-- 引入组件库 -->
		<script src="https://unpkg.com/element-ui/lib/index.js"></script>
		<script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
		<style type="text/css">

		</style>

	</head>

	<body>
		<div id="app">
			<el-form ref="form" :model="form" label-width="80px">
				<el-form-item>
				    <el-radio-group v-model="form.radio">
				      <el-radio :label="3">备选项</el-radio>
				      <el-radio :label="6">备选项</el-radio>
				      <el-radio :label="9">备选项</el-radio>
				    </el-radio-group>
				</el-form-item>
				<el-form-item>
					<el-button type="primary" @click="onSubmit">立即创建</el-button>
					<el-button>取消</el-button>
				</el-form-item>
			</el-form>




		</div>




		<script>
			new Vue({

				el: '#app',
				data() {
					return {
						form: {
							radio:3
						}
					}
				},
				methods: {
					onSubmit() {
						console.log('submit!');
						console.log(this.form.radio);
					}
				}

			})
		</script>
	</body>
</html>


按钮样式

按钮样式的单选组合。

只需要把el-radio元素换成el-radio-button元素即可,此外,Element 还提供了size属性。

Vue2022072605.png

<!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">
		<title>VUE第一个案例-helloWorld</title>
		<script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>

		<!-- 引入样式 -->
		<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
		<!-- 引入组件库 -->
		<script src="https://unpkg.com/element-ui/lib/index.js"></script>
		<script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
		<style type="text/css">

		</style>

	</head>

	<body>
		<div id="app">
			<el-form ref="form" :model="form" label-width="80px">
				<el-form-item>
					<el-radio-group v-model="form.radio1">
						<el-radio-button label="上海"></el-radio-button>
						<el-radio-button label="北京"></el-radio-button>
						<el-radio-button label="广州"></el-radio-button>
						<el-radio-button label="深圳"></el-radio-button>
					</el-radio-group>
				</el-form-item>
				<el-form-item>
					<el-radio-group v-model="form.radio2" size="medium">
						<el-radio-button label="上海"></el-radio-button>
						<el-radio-button label="北京"></el-radio-button>
						<el-radio-button label="广州"></el-radio-button>
						<el-radio-button label="深圳"></el-radio-button>
					</el-radio-group>
				</el-form-item>
				<el-form-item>
					<el-radio-group v-model="form.radio3" size="small">
						<el-radio-button label="上海"></el-radio-button>
						<el-radio-button label="北京"></el-radio-button>
						<el-radio-button label="广州"></el-radio-button>
						<el-radio-button label="深圳"></el-radio-button>
					</el-radio-group>
				</el-form-item>
				<el-form-item>
					<el-radio-group v-model="form.radio4" size="mini">
						<el-radio-button label="上海"></el-radio-button>
						<el-radio-button label="北京"></el-radio-button>
						<el-radio-button label="广州"></el-radio-button>
						<el-radio-button label="深圳"></el-radio-button>
					</el-radio-group>
				</el-form-item>
				<el-form-item>
					<el-button type="primary" @click="onSubmit">立即创建</el-button>
					<el-button>取消</el-button>
				</el-form-item>
			</el-form>




		</div>




		<script>
			new Vue({

				el: '#app',
				data() {
					return {
						form: {
							radio1: '上海',
							radio2: '上海',
							radio3: '上海',
							radio4: '上海'
						}
					}
				},
				methods: {
					onSubmit() {
						console.log('submit!');
						console.log(this.form.radio1);
						console.log(this.form.radio2);
						console.log(this.form.radio3);
						console.log(this.form.radio4);
					}
				}

			})
		</script>
	</body>
</html>