@58fe/p5
Version:
pc端vue组件
114 lines (87 loc) • 2.7 kB
Markdown
<script>
module.exports = {
methods: {
checkGroupChanged(val) {
let len = val.length;
this.isAllChecked = len === this.checkListAll.length;
this.inderterminate = len > 0 && len < this.checkListAll.length;
},
handleCheckAllChanged(val) {
this.inderterminate = false;
this.checkList2 = val ? this.checkListAll: [];
}
},
data() {
return {
checkbox1: true,
checkbox2: true,
checkbox3: true,
checkbox4: true,
checkbox5: false,
checkList: ['张三', '小淘气'],
isAllChecked: false, // 初始化的值需要业务方来判断
checkListAll: ['张三', '小淘气', '王二麻子', '李四'], // 所有数据
inderterminate: true, // 不完全选中为true 完全选中or完全不选中为false
checkList2: ['张三', '小淘气']
};
}
}
</script>
## 多选框
### 引入
```javascript
import { checkbox } from '@58fe/p5';
```
### 基本用法
使用`v-model`绑定boolean类型,来控制选中状态
:::demo 按钮
```html
<checkbox v-model="checkbox1">张三</checkbox>
```
:::
### 基本用法
使用`checked`设置是否默认选中
:::demo 按钮
```html
<checkbox v-model="checkbox2">张三</checkbox>
```
:::
### 禁止使用
:::demo 按钮
```html
<checkbox v-model="checkbox3">张三</checkbox>
<checkbox :disabled=true v-model="checkbox4">李四</checkbox>
<checkbox :disabled=true v-model="checkbox5">小淘气</checkbox>
```
:::
### 多选组
通过`checkbox-group`元素把多个多选框归到一组,使用v-model绑定array类型
:::demo 按钮
```html
<checkbox-group v-model="checkList">
<checkbox label="张三"></checkbox>
<checkbox label="王二麻子"></checkbox>
<checkbox :disabled=true label="李四"></checkbox>
<checkbox :disabled=true label="小淘气"></checkbox>
</checkbox-group>
```
:::
### 全选
通过`checkbox-group`元素把多个多选框归到一组,使用v-model绑定array类型
:::demo 按钮
```html
<checkbox v-model="isAllChecked" :inderterminate="inderterminate" @input="handleCheckAllChanged">全选</checkbox>
<checkbox-group v-model="checkList2" @input="checkGroupChanged">
<checkbox label="张三"></checkbox>
<checkbox label="王二麻子"></checkbox>
<checkbox label="李四"></checkbox>
<checkbox label="小淘气"></checkbox>
</checkbox-group>
```
:::
### 参数
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
| -------- | ------------ | ----------- | ------------ | ------- |
| value/v-model | 默认选中绑定值 | Boolean | —— | false |
| disabled | 禁用点击 | Boolean | —— | false |
| label | 文案 | String | —— | —— |