This commit is contained in:
dap
2024-10-07 20:23:55 +08:00
13 changed files with 44 additions and 37 deletions

View File

@@ -16,16 +16,16 @@ const collapsed = defineModel({ default: false });
const resetButtonOptions = computed(() => {
return {
content: `${$t.value('reset')}`,
show: true,
text: `${$t.value('reset')}`,
...unref(rootProps).resetButtonOptions,
};
});
const submitButtonOptions = computed(() => {
return {
content: `${$t.value('submit')}`,
show: true,
text: `${$t.value('submit')}`,
...unref(rootProps).submitButtonOptions,
};
});
@@ -78,7 +78,9 @@ watch(
</script>
<template>
<div
:class="cn('col-span-full w-full text-right', rootProps.actionWrapperClass)"
:class="
cn('col-span-full w-full pb-6 text-right', rootProps.actionWrapperClass)
"
:style="queryFormStyle"
>
<component
@@ -89,7 +91,7 @@ watch(
@click="handleReset"
v-bind="resetButtonOptions"
>
{{ resetButtonOptions.text }}
{{ resetButtonOptions.content }}
</component>
<component
@@ -99,7 +101,7 @@ watch(
@click="handleSubmit"
v-bind="submitButtonOptions"
>
{{ submitButtonOptions.text }}
{{ submitButtonOptions.content }}
</component>
<VbenExpandableArrow

View File

@@ -289,8 +289,8 @@ export interface FormRenderProps<
}
export interface ActionButtonOptions extends VbenButtonProps {
content?: string;
show?: boolean;
text?: string;
}
export interface VbenFormProps<

View File

@@ -26,6 +26,7 @@ export function useVbenForm<
onBeforeUnmount(() => {
api.unmount();
});
api.setState({ ...props, ...attrs });
return () =>
h(VbenUseForm, { ...props, ...attrs, formApi: extendedApi }, slots);
},

View File

@@ -34,23 +34,12 @@ props.formApi?.mount?.(form);
const handleUpdateCollapsed = (value: boolean) => {
props.formApi?.setState({ collapsed: !!value });
};
// if (isFunction(forward.value.handleValuesChange)) {
// watch(
// () => form.values,
// (val) => {
// forward.value.handleValuesChange?.(toRaw(val));
// },
// {
// deep: true,
// immediate: true,
// },
// );
// }
</script>
<template>
<Form
v-bind="forward"
:collapsed="state.collapsed"
:component-bind-event-map="COMPONENT_BIND_EVENT_MAP"
:component-map="COMPONENT_MAP"
:form="form"

View File

@@ -189,7 +189,7 @@ if (enableShortcutKey.value) {
</div>
</div>
</DropdownMenuLabel>
<DropdownMenuSeparator />
<DropdownMenuSeparator v-if="menus?.length" />
<DropdownMenuItem
v-for="menu in menus"
:key="menu.text"

View File

@@ -20,6 +20,7 @@ export function useVbenVxeGrid(options: VxeGridProps) {
onBeforeUnmount(() => {
api.unmount();
});
api.setState({ ...props, ...attrs });
return () => h(VxeGrid, { ...props, ...attrs, api: extendedApi }, slots);
},
{

View File

@@ -154,7 +154,7 @@ const vbenFormOptions = computed(() => {
},
showCollapseButton: true,
submitButtonOptions: {
text: $t('common.query'),
content: $t('common.query'),
},
wrapperClass: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3',
};
@@ -215,7 +215,6 @@ async function init() {
);
}
}
onMounted(() => {
props.api?.mount?.(gridRef.value, formApi);
init();
@@ -246,7 +245,7 @@ onMounted(() => {
<slot :name="slotName" v-bind="slotProps"></slot>
</template>
<template #form>
<div v-if="formOptions" class="relative rounded py-3 pb-6">
<div v-if="formOptions" class="relative rounded py-3 pb-4">
<slot name="form">
<Form v-bind="vbenFormOptions">
<template