1. 程式人生 > >checkbox複選框

checkbox複選框

<!--在el-checkbox元素中定義v-model繫結變數,單一的checkbox中,預設繫結變數的值會是Boolean,選中為true。-->
<el-checkbox v-model="checked">備選項</el-checkbox>
data() {
  return {
    checked: true
  };
}
<!--適用於多個勾選框繫結到同一個陣列的情景,通過是否勾選來表示這一組選項中選中的項。
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">bb</el-checkbox>
  <el-checkbox label="複選框C"></el-checkbox>
  <el-checkbox label="禁用" disabled></el-checkbox>
  <el-checkbox label="選中且禁用" disabled></el-checkbox>
</el-checkbox-group>
data() {
  return {
    checklist: [ '選中且禁用', '複選框A']
  };
}

 

<!--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 = ['上海', '北京', '廣州', '深圳'];
  new Vue({
    el: '#app',
    data() {
      return {
        checkAll: false,
        checkedCities: ['上海', '北京'],
        cities: cityOptions,
        isIndeterminate: true
      };
    },
    methods: {
      handleCheckAllChange(val) {
        //console.log(val);val是 是否選中'全選'的bool值
        this.checkedCities = val ? cityOptions : [];
        this.isIndeterminate = false;
      },
      handleCheckedCitiesChange(value) {
        console.log(value)
        // console.log(value); value是選中的複選框的值構成的陣列
        let checkedCount = value.length;
        this.checkAll = checkedCount === this.cities.length;
        //有選擇,但沒全選,isIndeterminate為true(設定 indeterminate 狀態,只負責樣式控制)
        this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
      }
    }

  })
</script>

Checkbox Attributes

引數 說明 型別 可選值 預設值
label 選中狀態的值(只有在checkbox-group或者繫結物件型別為array時有效) string / number / boolean
disabled 是否禁用 boolean false
border 是否顯示邊框 boolean false
size Checkbox 的尺寸,僅在 border 為真時有效 string medium / small / mini
checked 當前是否勾選 boolean false
indeterminate 設定 indeterminate 狀態,只負責樣式控制 boolean false