✨(radio-group): 新增 name 属性, 简化 radio 配置
This commit is contained in:
parent
176349dd92
commit
e2f4b7d0d6
@ -25,6 +25,14 @@ const isGroup = computed(() => {
|
|||||||
return radioGroup != undefined && radioGroup?.name === "LayRadioGroup";
|
return radioGroup != undefined && radioGroup?.name === "LayRadioGroup";
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const naiveName = computed(() => {
|
||||||
|
if(radioGroup.naiveName) {
|
||||||
|
return radioGroup.naiveName;
|
||||||
|
} else {
|
||||||
|
return props.name;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
const isChecked = computed({
|
const isChecked = computed({
|
||||||
get() {
|
get() {
|
||||||
if (isGroup.value) {
|
if (isGroup.value) {
|
||||||
@ -54,7 +62,7 @@ const handleClick = function () {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<span class="layui-radio">
|
<span class="layui-radio">
|
||||||
<input type="radio" :value="label" :name="name" />
|
<input type="radio" :value="label" :name="naiveName" />
|
||||||
<div
|
<div
|
||||||
class="layui-unselect layui-form-radio"
|
class="layui-unselect layui-form-radio"
|
||||||
:class="{
|
:class="{
|
||||||
|
@ -9,6 +9,7 @@ import { provide, ref, watch } from "vue";
|
|||||||
|
|
||||||
export interface LayRadioGroupProps {
|
export interface LayRadioGroupProps {
|
||||||
modelValue?: string | boolean;
|
modelValue?: string | boolean;
|
||||||
|
name?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const props = withDefaults(defineProps<LayRadioGroupProps>(), {});
|
const props = withDefaults(defineProps<LayRadioGroupProps>(), {});
|
||||||
@ -17,7 +18,7 @@ const emit = defineEmits(["update:modelValue", "change"]);
|
|||||||
|
|
||||||
const modelValue = ref(props.modelValue);
|
const modelValue = ref(props.modelValue);
|
||||||
|
|
||||||
provide("radioGroup", { name: "LayRadioGroup", modelValue: modelValue });
|
provide("radioGroup", { name: "LayRadioGroup", modelValue: modelValue, naiveName: props.name });
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => modelValue,
|
() => modelValue,
|
||||||
|
@ -103,10 +103,10 @@ export default {
|
|||||||
::: demo
|
::: demo
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<lay-radio-group v-model="selected4" @change="change4">
|
<lay-radio-group name="action" v-model="selected4" @change="change4">
|
||||||
<lay-radio name="action" label="1">写作</lay-radio>
|
<lay-radio label="1">写作</lay-radio>
|
||||||
<lay-radio name="action" label="2">画画</lay-radio>
|
<lay-radio label="2">画画</lay-radio>
|
||||||
<lay-radio name="action" label="3">运动</lay-radio>
|
<lay-radio label="3">运动</lay-radio>
|
||||||
</lay-radio-group>
|
</lay-radio-group>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user