Element-checkbox

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link rel="stylesheet" type="text/css" href="css/index.css"/>
		<script src="js/vue.js"></script>
		<script src="js/index.js"></script>
	</head>
	<body>
		<div class="app">
			<!-- 基础用法:单独使用可以表示两种状态之间的切换
			在el-checkbox元素中定义v-model绑定变量,单一的checkbox中,默认绑定变量的值会是Boolean,选中为true。 -->
			<el-checkbox v-model="checked">备选项</el-checkbox>
			
			
			<br />
			<!-- 禁用状态:设置disabled属性即可。 -->
			<el-checkbox v-model="checked1" disabled>备选项1</el-checkbox>
            <el-checkbox v-model="checked2" disabled>备选项</el-checkbox>
			
			
			<br />
			<!-- 多选框组:适用于多个勾选框绑定到同一个数组的情景,通过是否勾选来表示这一组选项中选中的项
			checkbox-group元素能把多个 checkbox 管理为一组,只需要在 Group 中使用v-model绑定Array类型的变量即可。
			 el-checkbox 的 label属性是该 checkbox 对应的值,若该标签中无内容,
			 则该属性也充当 checkbox 按钮后的介绍。label与数组中的元素值相对应,如果存在指定的值则为选中状态,
			 否则为不选中。 -->
			 <el-checkbox-group v-model="checkList">
				<el-checkbox label="复选框 A"></el-checkbox>
				<el-checkbox label="复选框 B"></el-checkbox>
				<el-checkbox label="复选框 C"></el-checkbox>
				<el-checkbox label="禁用" disabled></el-checkbox>
				<el-checkbox label="选中且禁用" disabled></el-checkbox>
			 </el-checkbox-group>
			 
			 
			 <br />
			 <!-- indeterminate 状态:用以表示 checkbox 的不确定状态,一般用于实现全选的效果 -->
			 <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
			 <div style="margin: 15px 0;"></div>
			 <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
				<el-checkbox v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox>
			 </el-checkbox-group>
			 
			 
			 <br />
			 <!-- 可选项目数量的限制:使用 min 和 max 属性能够限制可以被勾选的项目的数量 -->
			 <el-checkbox-group 
				v-model="checkedCities"
				:min="1"
				:max="2">
				<el-checkbox v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox>
			 </el-checkbox-group>
			 
			 
			 <br />
			 <!-- 按钮样式:只需要把el-checkbox元素替换为el-checkbox-button元素即可。此外,Element 还提供了size属性 -->
			 <div>
				<el-checkbox-group v-model="checkboxGroup1">
				  <el-checkbox-button v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox-button>
				</el-checkbox-group>
			  </div>
			  <div style="margin-top: 20px">
				<el-checkbox-group v-model="checkboxGroup2" size="medium">
				  <el-checkbox-button v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox-button>
				</el-checkbox-group>
			  </div>
			  <div style="margin-top: 20px">
				<el-checkbox-group v-model="checkboxGroup3" size="small">
				  <el-checkbox-button v-for="city in cities" :label="city" :disabled="city === '北京'" :key="city">{{city}}</el-checkbox-button>
				</el-checkbox-group>
			  </div>
			  <div style="margin-top: 20px">
				<el-checkbox-group v-model="checkboxGroup4" size="mini" disabled>
				  <el-checkbox-button v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox-button>
				</el-checkbox-group>
			  </div>
			  
			  
			  
			  <br />
			  <!-- 带有边框:设置border属性可以渲染为带有边框的多选框 -->
			  <div>
				<el-checkbox v-model="checked1" label="备选项1" border></el-checkbox>
				<el-checkbox v-model="checked2" label="备选项2" border></el-checkbox>
			  </div>
			  <div style="margin-top: 20px">
				<el-checkbox v-model="checked3" label="备选项1" border size="medium"></el-checkbox>
				<el-checkbox v-model="checked4" label="备选项2" border size="medium"></el-checkbox>
			  </div>
			  <div style="margin-top: 20px">
				<el-checkbox-group v-model="checkboxGroup5" size="small">
				  <el-checkbox label="备选项1" border></el-checkbox>
				  <el-checkbox label="备选项2" border disabled></el-checkbox>
				</el-checkbox-group>
			  </div>
			  <div style="margin-top: 20px">
				<el-checkbox-group v-model="checkboxGroup6" size="mini" disabled>
				  <el-checkbox label="备选项1" border></el-checkbox>
				  <el-checkbox label="备选项2" border></el-checkbox>
				</el-checkbox-group>
			  </div>
		</div>
		<script>
			const cityOptions = ['上海', '北京', '广州', '深圳'];
			new Vue({
				el:'.app',
				data(){
					return {
						checked:true,
						checked1:false,
						checked2:true,
						checked3:false,
						checked4:true,
						checkList: ['选中且禁用','复选框 A'],
						checkAll: false,
						checkedCities: ['上海', '北京'],
						cities: cityOptions,
						isIndeterminate: true,
						checkboxGroup1: ['上海'],
						checkboxGroup2: ['上海'],
						checkboxGroup3: ['上海'],
						checkboxGroup4: ['上海'],
						checkboxGroup5: [],
						checkboxGroup6: []
					}
				},
				methods: {
					  handleCheckAllChange(val) {
						this.checkedCities = val ? cityOptions : [];
						this.isIndeterminate = false;
					  },
					  handleCheckedCitiesChange(value) {
						let checkedCount = value.length;
						this.checkAll = checkedCount === this.cities.length;
						this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
					  }
				}
			})
		</script>
	</body>
</html>

Guess you like

Origin blog.csdn.net/Lemontree_fu/article/details/94470676