elementUI学习笔记(二)

文章目录

  • elementUI学习笔记(二)
  • Form
  • radio单选框
  • Checkbox 多选框

Form
radio单选框

单选框组:适用于在多个互斥的选项中选择的场景
结合el-radio-group元素和子元素el-radio可以实现单选组。在el-radio-group中绑定v-model,在el-radio中设置好label即可,无需再给每一个el-radio绑定变量。
还提供了change事件来响应变化,绑定值变化时触发,它会传入一个参数value,也就是
选中的 Radio label 值

<template>
      <el-radio-group v-model="radio">
        <el-radio :label="3">备选项</el-radio>
        <el-radio :label="6">备选项</el-radio>
        <el-radio :label="9">备选项</el-radio>
      </el-radio-group></template>
    <script>
      export default {
        data () {
          return {
            radio: 3
          };
        }
      }
    </script>

按钮样式:只需要把el-radio元素换成el-radio-button元素即可
还提供了相关属性 ,比如disabled(是否禁用)、border(是否显示边框)、size(Radio 的尺寸,仅在 border 为真时有效)等

<template>
      <div>
        <el-radio v-model="radio1" label="1" border>备选项1</el-radio>
        <el-radio v-model="radio1" label="2" border>备选项2</el-radio>
      </div>
      <div style="margin-top: 20px">
        <el-radio v-model="radio2" label="1" border size="medium">备选项1</el-radio>
        <el-radio v-model="radio2" label="2" border size="medium">备选项2</el-radio>
      </div>
      <div style="margin-top: 20px">
        <el-radio-group v-model="radio3" size="small">
          <el-radio label="1" border>备选项1</el-radio>
          <el-radio label="2" border disabled>备选项2</el-radio>
        </el-radio-group>
      </div>
      <div style="margin-top: 20px">
        <el-radio-group v-model="radio4" size="mini" disabled>
          <el-radio label="1" border>备选项1</el-radio>
          <el-radio label="2" border>备选项2</el-radio>
        </el-radio-group>
      </div></template>

    <script>
      export default {
        data () {
          return {
            radio1: '1',
            radio2: '1',
            radio3: '1',
            radio4: '1'
          };
        }
      }
    </script>
Checkbox 多选框

基础用法:单独使用可以表示两种状态之间的切换,写在标签中的内容为 checkbox 按钮后的介绍
在el-checkbox元素中定义v-model绑定变量,单一的checkbox中,默认绑定变量的值会是Boolean,选中为true

<template>
  <!-- `checked` 为 true 或 false -->
  <el-checkbox v-model="checked">备选项</el-checkbox></template><script>
  export default {
    data() {
      return {
        checked: true
      };
    }
  };
</script>

禁用状态:设置disabled属性即可
多选框组:适用于多个勾选框绑定到同一个数组的情景,通过是否勾选来表示这一组选项中选中的项
checkbox-group元素能把多个 checkbox 管理为一组,只需要在 Group 中使用v-model绑定Array类型的变量即可。 el-checkbox 的 label属性是该 checkbox 对应的值,若该标签中无内容,则该属性也充当 checkbox 按钮后的介绍。label与数组中的元素值相对应,如果存在指定的值则为选中状态,否则为不选中

<template>
  <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></template>

<script>
  export default {
    data () {
      return {
        checkList: ['选中且禁用','复选框 A']
      };
    }
  };
</script>

indeterminate 状态:indeterminate 属性用以表示 checkbox 的不确定状态,一般用于实现全选的效果

<template>
  <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></template><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 属性能够限制可以被勾选的项目的数量

<template>
  <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></template><script>
  const cityOptions = ['上海', '北京', '广州', '深圳'];
  export default {
    data() {
      return {
        checkedCities: ['上海', '北京'],
        cities: cityOptions
      };
    }
  };
</script>

按钮样式:只需要把el-checkbox元素替换为el-checkbox-button元素即可。此外,Element 还提供了size属性
带有边框:设置border属性可以渲染为带有边框的多选框
其他属性

element ui选项卡 element ui单选框_前端