refactor(@vben/web-naive): type modal shared data

This commit is contained in:
Dream
2026-08-05 09:52:28 +08:00
parent ebe0eadee4
commit f16c780c2b

View File

@@ -7,6 +7,10 @@ defineOptions({
name: 'FormModelDemo',
});
interface FormModalData {
values?: Record<string, unknown>;
}
const [Form, formApi] = useVbenForm({
schema: [
{
@@ -44,7 +48,7 @@ const [Form, formApi] = useVbenForm({
showDefaultActions: false,
});
const [Modal, modalApi] = useVbenModal({
const [Modal, modalApi] = useVbenModal<FormModalData>({
fullscreenButton: false,
onCancel() {
modalApi.close();
@@ -55,14 +59,16 @@ const [Modal, modalApi] = useVbenModal({
},
onOpenChange(isOpen: boolean) {
if (isOpen) {
const { values } = modalApi.getData<Record<string, any>>();
if (values) {
formApi.setValues(values);
const data = modalApi.getData();
if (data?.values) {
formApi.setValues(data.values);
}
}
},
title: '内嵌表单示例',
});
defineExpose({ modalApi });
</script>
<template>
<Modal>