|
1
2
3
|
<template>
<BasicModal v-bind="$attrs" @register="register" title="Modal Title">
<p class="h-20">外部传递数据: {{ receiveModalDataRef }}</p>
|
vben
authored
|
4
|
<BasicForm @register="registerForm" :model="model" />
|
|
5
6
7
|
</BasicModal>
</template>
<script lang="ts">
|
vben
authored
|
8
|
import { defineComponent, ref } from 'vue';
|
|
9
|
import { BasicModal, useModalInner } from '/@/components/Modal';
|
vben
authored
|
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
const schemas: FormSchema[] = [
{
field: 'field1',
component: 'Input',
label: '字段1',
colProps: {
span: 12,
},
defaultValue: '111',
},
{
field: 'field2',
component: 'Input',
label: '字段2',
colProps: {
span: 12,
},
},
];
|
|
30
|
export default defineComponent({
|
vben
authored
|
31
|
components: { BasicModal, BasicForm },
|
|
32
|
setup() {
|
vben
authored
|
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
const modelRef = ref({});
const [
registerForm,
{
// setFieldsValue,
// setProps
},
] = useForm({
labelWidth: 120,
schemas,
showActionButtonGroup: false,
actionColOptions: {
span: 24,
},
});
const [register, { receiveModalDataRef }] = useModalInner((data) => {
|
vben
authored
|
50
51
52
53
54
|
// 方式1
// setFieldsValue({
// field2: data.data,
// field1: data.info,
// });
|
vben
authored
|
55
|
|
vben
authored
|
56
57
|
// 方式2
modelRef.value = { field2: data.data, field1: data.info };
|
vben
authored
|
58
|
|
vben
authored
|
59
60
61
|
// setProps({
// model:{ field2: data.data, field1: data.info }
// })
|
vben
authored
|
62
63
|
});
return { register, receiveModalDataRef, schemas, registerForm, model: modelRef };
|
|
64
65
66
|
},
});
</script>
|