Merge pull request #237 from lm356536/master

feat: 单选按钮组,支持图标icon的扩展,label改为可选
pull/340/head
JEECG 2022-11-14 22:29:00 +08:00 committed by GitHub
commit f0fd265554
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 3 deletions

View File

@ -5,7 +5,8 @@
<RadioGroup v-bind="attrs" v-model:value="state" button-style="solid"> <RadioGroup v-bind="attrs" v-model:value="state" button-style="solid">
<template v-for="item in getOptions" :key="`${item.value}`"> <template v-for="item in getOptions" :key="`${item.value}`">
<RadioButton :value="item.value" :disabled="item.disabled"> <RadioButton :value="item.value" :disabled="item.disabled">
{{ item.label }} <Icon v-if="item.icon" :icon="item.icon" />
{{ item.label ? item.label : '' }}
</RadioButton> </RadioButton>
</template> </template>
</RadioGroup> </RadioGroup>
@ -16,8 +17,13 @@
import { isString } from '/@/utils/is'; import { isString } from '/@/utils/is';
import { useRuleFormItem } from '/@/hooks/component/useFormItem'; import { useRuleFormItem } from '/@/hooks/component/useFormItem';
import { useAttrs } from '/@/hooks/core/useAttrs'; import { useAttrs } from '/@/hooks/core/useAttrs';
import { Icon } from '/@/components/Icon';
type OptionsItem = { label: string; value: string | number | boolean; disabled?: boolean }; type OptionsItem = {
icon?: string;
label?: string;
value: string | number | boolean;
disabled?: boolean;
};
type RadioItem = string | OptionsItem; type RadioItem = string | OptionsItem;
export default defineComponent({ export default defineComponent({
@ -25,6 +31,7 @@
components: { components: {
RadioGroup: Radio.Group, RadioGroup: Radio.Group,
RadioButton: Radio.Button, RadioButton: Radio.Button,
Icon,
}, },
props: { props: {
value: { value: {