jeecg v3 modal

<template>
<BasicModal v-bind="$attrs" @register="register" title="地图" @visible-change="handleVisibleChange">
<div class="pt-3px pr-3px">
<BasicForm @register="registerForm" :model="model" />
</div>
<div v-html="model.field2" class="article-content"></div>
</BasicModal>
</template>
<script lang="ts">
import { defineComponent, ref, nextTick } from 'vue';
import { BasicModal, useModalInner } from '/@/components/Modal';
import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';

const schemas: FormSchema[] = [
{
field: 'field1',
component: 'Input',
label: '字段1',
colProps: {
span: 24,
},
defaultValue: '111',
},
{
field: 'field2',
component: 'Input',
label: '字段2',
colProps: {
span: 24,
},
},
];
export default defineComponent({
components: { BasicModal, BasicForm },
props: {
userData: { type: Object },
},
setup(props) {
const modelRef = ref({});
const [
registerForm,
{
// setFieldsValue,
// setProps
},
] = useForm({
labelWidth: 120,
schemas,
showActionButtonGroup: false,
actionColOptions: {
span: 24,
},
});

const [register] = useModalInner((data) => {
data && onDataReceive(data);
});

function onDataReceive(data) {
console.log('Data Received', data);
console.log( data.record.lat);
// 方式1;
// setFieldsValue({
// field2: data.data,
// field1: data.info,
// });

// // 方式2
modelRef.value = { field2: data.record.lat, field1: data.record.lng };
console.log(modelRef);

// setProps({
// model:{ field2: data.data, field1: data.info }
// })
}

function handleVisibleChange(v) {
v && props.userData && nextTick(() => onDataReceive(props.userData));
}

return { register, schemas, registerForm, model: modelRef, handleVisibleChange };
},
});
</script>
posted @   meetrice  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2019-09-19 Ubuntu 安装最新版 (1.12) Golang 并使用 go mod
点击右上角即可分享
微信分享提示