AntDeisgn中checkbox group的使用
Posted Felix_Openmind
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AntDeisgn中checkbox group的使用相关的知识,希望对你有一定的参考价值。
<template>
<!-- 弹窗类型选择 -->
<div>
<a-modal :visible="state.modalAttr.visible" title="规选类型" @ok="showModal" @cancel="hideModal">
<a-checkbox
v-model:checked="state.checkboxAttr.checkAll"
:indeterminate="state.checkboxAttr.indeterminate"
@change="onCheckAllChange"
>
<span >全选</span>
</a-checkbox>
<a-checkbox-group v-model:value="state.checkboxAttr.checkedList">
<a-checkbox v-for="opt in state.categoryOpts" :value="opt.code" @change="onChange">
<span > opt.name </span>
</a-checkbox>
</a-checkbox-group>
</a-modal>
</div>
</template>
<script setup>
import defineComponent, ref, reactive, watch, defineExpose, defineEmits, toRaw, onBeforeUnmount, onMounted from \'vue\';
const state = reactive(
modalAttr:
visible: true,
,
checkboxAttr:
indeterminate: true,
checkedList: [],
checkAll: false,
,
categoryOpts: [
name: \'实有单位\',
code: \'SYDW\',
,
name: \'标准地址\',
code: \'JZW\',
,
name: \'实有房屋\',
code: \'SYFW\'
,
name: \'实有人口\',
code: \'SYRK\'
,
name: \'层户信息\',
code: \'CHJGXXB\',
]
)
const showModal = () =>
console.log(\'state.checkboxAttr.checkedArr::: \', state.checkboxAttr.checkedList)
return;
state.modalAttr.visible = true;
const hideModal = () =>
state.modalAttr.visible = false;
const onChange = (e, index) => //单个选择
state.checkboxAttr.indeterminate = !!state.checkboxAttr.checkedList.length && state.checkboxAttr.checkedList.length < state.categoryOpts.length;
state.checkboxAttr.checkAll = state.checkboxAttr.checkedList.length === state.categoryOpts.length;
const onCheckAllChange = (e, index) => //选择全部的事件
if (e.target.checked)
state.checkboxAttr.indeterminate = false;
state.checkboxAttr.checkedList = state.categoryOpts.map(item =>
return item?.code;
)
else
state.checkboxAttr.indeterminate = false;
state.checkboxAttr.checkedList = []
watch
(
() => state.checkboxAttr.checkedList,
val =>
state.checkboxAttr.indeterminate = false;
state.checkboxAttr.checkAll = state.checkboxAttr.checkedList.length === 5;
console.log(\'state.checkboxAttr.checkedList:::: \', state.checkboxAttr.checkedList)
,
);
</script>
<style scoped lang="scss">
:deep(ant-modal-title)
color: white;
</style>
学而不思则罔,思而不学则殆!
如果单击 v-checkbox,请不要展开 v-list-group
【中文标题】如果单击 v-checkbox,请不要展开 v-list-group【英文标题】:don't expand v-list-group if click on v-checkbox 【发布时间】:2022-01-05 09:51:06 【问题描述】:我有一个可扩展的 v-list-group
和一个 v-checkbox
,当我单击 v-checkbox 时,列表会切换。我想禁用此反应。有可能的?我的代码元素:
<v-list>
<v-list-group>
<template v-slot:activator>
<v-list-item-action>
<v-checkbox @click="fn()"/>
</v-list-item-action>
<v-list-item-content>
<v-list-item-title/>
</v-list-item-content>
</template>
...
</v-list-group>
</v-list>
谢谢。
【问题讨论】:
【参考方案1】:尝试在 v-checkbox 上使用 click.stop
以停止点击事件传播。
【讨论】:
以上是关于AntDeisgn中checkbox group的使用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Antd React.js 中取消选中 Checkbox.Group
微信小程序 多选项目 checkbox & checkbox-group 组件