diff --git a/packages/form/src/containers/Fieldset.vue b/packages/form/src/containers/Fieldset.vue index 6a625a1c..de85dc8b 100644 --- a/packages/form/src/containers/Fieldset.vue +++ b/packages/form/src/containers/Fieldset.vue @@ -4,25 +4,15 @@ class="m-fieldset" :style="show ? 'padding: 15px 15px 0 5px;' : 'border: 0'" > - - + - + @@ -62,77 +52,59 @@ - - +const lWidth = computed(() => { + if (props.config.items) { + return props.config.labelWidth || props.labelWidth; + } + return props.config.labelWidth || props.labelWidth || (props.config.text ? null : '0'); +}); + +const change = () => { + emit('change', props.model); +}; + +const key = (item: any, index: number) => item[mForm?.keyProp || '__key'] ?? index; + +if (props.config.checkbox && name.value) { + watch( + () => props.model[name.value]?.value, + () => { + console.log(props.model); + emit('change', props.model); + }, + ); +} + diff --git a/packages/form/src/index.ts b/packages/form/src/index.ts index 81c8157b..3b5377f4 100644 --- a/packages/form/src/index.ts +++ b/packages/form/src/index.ts @@ -95,7 +95,7 @@ const install = (app: App, opt: any) => { app.component(Form.name, Form); app.component(FormDialog.name, FormDialog); app.component(Container.name, Container); - app.component(Fieldset.name, Fieldset); + app.component('m-form-fieldset', Fieldset); app.component(GroupList.name, GroupList); app.component(Panel.name, Panel); app.component(Row.name, Row); diff --git a/packages/form/src/theme/fieldset.scss b/packages/form/src/theme/fieldset.scss index f286c293..3bd8390b 100644 --- a/packages/form/src/theme/fieldset.scss +++ b/packages/form/src/theme/fieldset.scss @@ -5,6 +5,10 @@ fieldset.m-fieldset { margin-bottom: 10px; min-inline-size: auto; + .el-checkbox { + height: 22px; + } + legend { font-size: 14px; position: absolute;