diff --git a/packages/ui-vue/components/checkbox/src/checkbox.component.tsx b/packages/ui-vue/components/checkbox/src/checkbox.component.tsx index 40fd215ce5b0434961645e388861e8479d2a1e2e..1f94579396424ef43d86ed72b2fa743c4444b876 100644 --- a/packages/ui-vue/components/checkbox/src/checkbox.component.tsx +++ b/packages/ui-vue/components/checkbox/src/checkbox.component.tsx @@ -34,6 +34,8 @@ export default defineComponent({ }; }); + const label = ref(props.label); + function allowFocus() { if (props.focusOnCreated) { (inputElementRef.value as HTMLInputElement)?.focus({ preventScroll: true }); @@ -76,7 +78,7 @@ export default defineComponent({
- {context.slots.default?.()} + {label.value ? label.value: context.slots.default?.()}
} diff --git a/packages/ui-vue/components/checkbox/src/checkbox.props.ts b/packages/ui-vue/components/checkbox/src/checkbox.props.ts index 6e07cc6c658d5ab9c0e6af3f52caa548bb0523a1..b17e78e6ab2f543fe015bc25bf3ba9b20c1f8a1e 100644 --- a/packages/ui-vue/components/checkbox/src/checkbox.props.ts +++ b/packages/ui-vue/components/checkbox/src/checkbox.props.ts @@ -40,7 +40,9 @@ export const checkboxProps = { /** name值 */ name: { type: String, default: '' }, /** 标识是否被选中 */ - checked: { type: Boolean, default: false } + checked: { type: Boolean, default: false }, + /** 显示文本标签 */ + label: { type: String, default: '' } } as Record; export type CheckboxProps = ExtractPropTypes; diff --git a/packages/ui-vue/components/checkbox/src/designer/checkbox.design.component.tsx b/packages/ui-vue/components/checkbox/src/designer/checkbox.design.component.tsx index 666584d3879b670a82886795834ecfb0f6238d65..831220238e98d9be84931331fc86344edb58ab25 100644 --- a/packages/ui-vue/components/checkbox/src/designer/checkbox.design.component.tsx +++ b/packages/ui-vue/components/checkbox/src/designer/checkbox.design.component.tsx @@ -56,7 +56,7 @@ export default defineComponent({ checked={false} readonly={true} /> -
+
{props.label}
); }; diff --git a/packages/ui-vue/components/checkbox/src/property-config/checkbox.property-config.ts b/packages/ui-vue/components/checkbox/src/property-config/checkbox.property-config.ts index 1f5c247d112ef9a7b818fe476632b92ee8bca8b5..1a9ff370047f89dace0367013bf2bae4eb92a23c 100644 --- a/packages/ui-vue/components/checkbox/src/property-config/checkbox.property-config.ts +++ b/packages/ui-vue/components/checkbox/src/property-config/checkbox.property-config.ts @@ -12,6 +12,11 @@ export class CheckBoxProperty extends InputBaseProperty { }, disabled: { visible:false + }, + label: { + description: "", + title: "名称", + type: "string" } // name: { // description: "控件名称,提交时的唯一标识,可以为空但不能与其他控件重复", diff --git a/packages/ui-vue/components/checkbox/src/schema/checkbox.schema.json b/packages/ui-vue/components/checkbox/src/schema/checkbox.schema.json index 1eb9e7d6728c2a5f3ee7b629f5adb90298a931a8..daee0e5d36fdc77ce2cbe89a5a387563fa2ff47c 100644 --- a/packages/ui-vue/components/checkbox/src/schema/checkbox.schema.json +++ b/packages/ui-vue/components/checkbox/src/schema/checkbox.schema.json @@ -75,6 +75,11 @@ "description": "", "type": "boolean", "default": false + }, + "label": { + "description": "", + "type": "string", + "default": "" } }, "required": [ diff --git a/packages/ui-vue/components/date-picker/src/date-picker.component.tsx b/packages/ui-vue/components/date-picker/src/date-picker.component.tsx index b0fd8a0fe32c9639e1c0f0e7ccdd838318954a58..fb8556fc7d8eeef13a5b9ed20413e9da8f958852 100644 --- a/packages/ui-vue/components/date-picker/src/date-picker.component.tsx +++ b/packages/ui-vue/components/date-picker/src/date-picker.component.tsx @@ -87,12 +87,13 @@ export default defineComponent({ return formatTo(dateObj, props.displayFormat); }); - function setModelValue(dateValue: string, emit = true) { + function setModelValue(dateValue: string) { const formattedValue = formatTo(dateValue, props.valueFormat); - modelValue.value = formattedValue; - realValue.value = formattedValue; - if (emit) { + if (realValue.value !== formattedValue) { + modelValue.value = formattedValue; + realValue.value = formattedValue; context.emit('update:modelValue', formattedValue); + context.emit('datePicked', realValue.value); } } @@ -114,14 +115,11 @@ export default defineComponent({ dateValueString += ` ${dateValue.hour}:${dateValue.minute}:${dateValue.second}`; } setModelValue(dateValueString); - context.emit('datePicked', realValue.value); - closeCalendarPanel(); } function onClearDate() { setModelValue(''); - context.emit('datePicked', realValue.value); } function setMaxAndMinYear() {