本文介绍了使用 Checkbox 选择框组件的不同方式以及相关 API。
Kylin
<dependency component="{ ListItemCheckbox }" src="@alipay/antui-vue" ></dependency>
ESModule
import { ListItemCheckbox } from '@alipay/antui-vue';
API 说明
props
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
type | String | checkbox | 选择框类型, 可选 checkbox、radio、agreement。 |
value | String,boolean | - | 对于 radio 框,返回的是选中的 tag 字段,对于 |
tag | String | - | 对于 radio 框,同一个 name 下面不同的选项值。 |
label | string | - | 选择框的标签,如果需要自定义 DOM,请使用 |
id | String | - | input 的 id 属性。 |
name | String | - | input 的 name 属性。 |
disabled | boolean | false | 是否禁用选择框。 |
brief | String | - | 用于辅助标签,agreement 类型不可用。 |
thumb | String | - | 显示图片的 URL,agreement 类型不可用。 |
thumbAlt | String | - | 图片的 alt 属性,agreement 类型不可用。 |
slots
属性 | scope | 说明 |
---|---|---|
label |
| 可将 |
events
属性 | 函数 | 说明 |
---|---|---|
input | Function(value: [string(radio), boolean(其它类型)]): void | 适配 v-model,如果类型为 radio 返回选中 tag 的字符串,否则返回是否选中的布尔值。 |
Demo
多选框:不带图片
截图
代码
<template>
<List>
<ListItemCheckbox
id="test1"
label="表单项多选框——未选中标签"
v-model="c1"
/>
<ListItemCheckbox
id="test2"
label="表单项多选框——选中标签"
v-model="c2"
/>
<ListItemCheckbox
id="test3"
label="表单项多选框——未选中标签"
v-model="c3"
/>
<ListItemCheckbox id="test4" label="表单项多选框——禁用" disabled />
</List>
</template>
<script>
export default {
data() {
return {
c1: false,
c2: true,
c3: false,
};
},
};
</script>
多选框:带图片
截图
代码
<template>
<div>
<List>
<ListItemCheckbox
id="test1"
label="表单项多选框——选中标签"
thumb="https://os.alipayobjects.com/rmsportal/OhSzVdRBnfwiuCK.png"
thumbAlt="图片描述"
/>
<ListItemCheckbox
id="test2"
label="表单项多选框——禁用"
thumb="https://os.alipayobjects.com/rmsportal/OhSzVdRBnfwiuCK.png"
thumbAlt="图片描述"
disabled
/>
</List>
<List class="towline">
<ListItemCheckbox
id="test3"
label="表单项多选框——选中标签"
brief="辅助说明"
thumb="https://os.alipayobjects.com/rmsportal/OhSzVdRBnfwiuCK.png"
thumbAlt="图片描述"
/>
<ListItemCheckbox
id="test4"
label="表单项多选框——禁用"
brief="辅助说明"
thumb="https://os.alipayobjects.com/rmsportal/OhSzVdRBnfwiuCK.png"
thumbAlt="图片描述"
disabled
/>
</List>
</div>
</template>
单选框
截图
代码
<template>
<div>
<List>
<ListCell type="header" slot="header">单选-自控制</ListCell>
<ListItemCheckbox
:id="'test'+i"
type="radio"
thumb="https://os.alipayobjects.com/rmsportal/OhSzVdRBnfwiuCK.png"
v-for="i in 3"
:label="'标签文本'+i"
:tag="i + ''"
name="demo"
@input="onChange"
/>
</List>
<List>
<ListCell type="header" slot="header">单选-受控</ListCell>
<ListItemCheckbox
:id="'test'+i"
type="radio"
thumb="https://os.alipayobjects.com/rmsportal/OhSzVdRBnfwiuCK.png"
v-for="i in 3"
:label="'标签文本'+i"
:tag="i + ''"
name="demo2"
v-model="checked"
/>
<AButton @click="checked = '2'">
选择2
</AButton>
</List>
</div>
</template>
<script>
export default {
data() {
return {
checked: '1',
};
},
methods: {
onChange(v) {
console.log(v);
},
},
};
</script>
协议复选框
截图
代码
<template>
<List>
<ListItemCheckbox
type="agreement"
id="agree"
label
v-model="checked"
>
<template slot="label">
<label class="am-ft-md" for="agree">同意</label>
<a href="#">《信用支付服务合同》</a>
</template>
</ListItemCheckbox>
<ListItemCheckbox
id="test2"
type="agreement"
label="表单项多选框——禁用"
disabled
/>
</List>
</template>
<script>
export default {
data() {
return {
checked: false,
};
},
};
</script>
文档内容是否对您有帮助?