一组备选项中进行多选
单独使用可以表示两种状态之间的切换,写在标签中的内容为 checkbox 按钮后的介绍。
- //在el-checkbox元素中定义v-model绑定变量,单一的checkbox中,默认绑定变量的值会是Boolean,选中为true。
-
-
- <el-checkbox v-model="checked">备选项el-checkbox>
- <script>
- export default {
- data() {
- return {
- checked: true
- };
- }
- };
- script>
多选框不可用状态。
- 设置disabled属性即可。
-
- <el-checkbox v-model="checked1" disabled>备选项1el-checkbox>
- <el-checkbox v-model="checked2" disabled>备选项el-checkbox>
- <script>
- export default {
- data() {
- return {
- checked1: false,
- checked2: true
- };
- }
- };
- script>
适用于多个勾选框绑定到同一个数组的情景,通过是否勾选来表示这一组选项中选中的项。
- /*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>
-
- <script>
- export default {
- data () {
- return {
- checkList: ['选中且禁用','复选框 A']
- };
- }
- };
- script>
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>
- <script>
- const cityOptions = ['上海', '北京', '广州', '深圳'];
- export default {
- data() {
- return {
- checkAll: false,
- checkedCities: ['上海', '北京'],
- cities: cityOptions,
- isIndeterminate: true
- };
- },
- 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>
使用 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>
- <script>
- const cityOptions = ['上海', '北京', '广州', '深圳'];
- export default {
- data() {
- return {
- checkedCities: ['上海', '北京'],
- cities: cityOptions
- };
- }
- };
- script>
按钮样式的多选组合。
- <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>
- <script>
- const cityOptions = ['上海', '北京', '广州', '深圳'];
- export default {
- data () {
- return {
- checkboxGroup1: ['上海'],
- checkboxGroup2: ['上海'],
- checkboxGroup3: ['上海'],
- checkboxGroup4: ['上海'],
- cities: cityOptions
- };
- }
- }
- script>
- 设置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="checkboxGroup1" 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="checkboxGroup2" size="mini" disabled>
- <el-checkbox label="备选项1" border>el-checkbox>
- <el-checkbox label="备选项2" border>el-checkbox>
- el-checkbox-group>
- div>
-
- <script>
- export default {
- data () {
- return {
- checked1: true,
- checked2: false,
- checked3: false,
- checked4: true,
- checkboxGroup1: [],
- checkboxGroup2: []
- };
- }
- }
- script>