复选框组件一般用于需要多个选择的场景,该组件功能完整,使用方便
#平台差异说明
App(vue) | App(nvue) | H5 | 小程序 |
√ | √ | √ | √ |
#基本使用
<template> <view> <u-checkbox-group v-model="checkboxValue1" placement="column" @change="checkboxChange" > <u-checkbox :customStyle="{marginBottom: '8px'}" v-for="(item, index) in checkboxList1" :key="index" :label="item.name" :name="item.name" > </u-checkbox> </u-checkbox-group> </view> </template> <script> export default { data() { return { checkboxValue1:[], // 基本案列数据 checkboxList1: [{ name: '苹果', disabled: false }, { name: '香蕉', disabled: false }, { name: '橙子', disabled: false } ], } }, methods: { checkboxChange(n) { console.log('change', n); } } } </script>
copy
#自定义形状
- 通过
shape
可以设置选择形状
<template> <view> <u-checkbox-group v-model="checkboxValue1" placement="column" @change="checkboxChange" > <u-checkbox :customStyle="{marginBottom: '8px'}" v-for="(item, index) in checkboxList1" :key="index" :label="item.name" :name="item.name" > </u-checkbox> </u-checkbox-group> </view> </template> <script> export default { data() { return { checkboxValue1:[], // 基本案列数据 checkboxList1: [{ name: '苹果', disabled: false }, { name: '香蕉', disabled: false }, { name: '橙子', disabled: false } ], } }, methods: { checkboxChange(n) { console.log('change', n); } } } </script>
copy
#禁用checkbox
设置disabled
为true
,即可禁用某个组件,让用户无法点击,禁用分为两种状态,一是未勾选前禁用,这时只显示一个灰色的区域。二是已勾选后 再禁用,会有灰色的已勾选的图标,但此时依然是不可操作的。
<template> <view> <u-checkbox-group v-model="checkboxValue1" placement="column" @change="checkboxChange" > <u-checkbox :customStyle="{marginBottom: '8px'}" v-for="(item, index) in checkboxList1" :key="index" :label="item.name" :name="item.name" :disabled="item.disabled" > </u-checkbox> </u-checkbox-group> </view> </template> <script> export default { data() { return { checkboxValue1:[], // 基本案列数据 checkboxList1: [{ name: '苹果', disabled: false }, { name: '香蕉', disabled: false }, { name: '橙子', disabled: true } ], } }, methods: { checkboxChange(n) { console.log('change', n); } } } </script>
copy
#自定义形状
可以通过设置shape
为square
或者circle
,将复选框设置为方形或者圆形
<u-checkbox-group> <u-checkbox v-model="checked" shape="circle" label="明月"></u-checkbox> </u-checkbox-group>
copy
#自定义颜色
此处所指的颜色,为checkbox
选中时的背景颜色,参数为activeColor
<u-checkbox-group v-model="checked"> <u-checkbox activeColor="red" label="光影"></u-checkbox> </u-checkbox-group>
copy
#横向排列形式
可以通过设置placement
为row
或者column
,将复选框设置为横向排列或者竖向排列
<u-checkbox-group v-model="checked" placement="row"> <u-checkbox activeColor="red" label="红色"></u-checkbox> <u-checkbox activeColor="green" label="绿色"></u-checkbox> </u-checkbox-group>
copy
#横向两端排列形式
可以通过设置iconPlacement
为left
或者right
,将复选框勾选图标的对齐设置为左对齐或者右对齐
<u-checkbox-group v-model="checked" iconPlacement="right" placement="row"> <u-checkbox activeColor="red" label="红色"></u-checkbox> <u-checkbox activeColor="green" label="绿色"></u-checkbox> </u-checkbox-group>