checkbox複選框
阿新 • • 發佈:2019-01-04
<!--在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 |