本文将介绍如何在vben admin vue 框架中,创建对话框组件,并成功应用的代码。代码即插即用。
结果如下图所示,
一、创建对话框组件
创建 myModal/index.vue
<template><div><BasicModal@register="registerModal"v-bind="$attrs"title="示例对话框"@ok="handleSubmit"width="58%"><p>这是示例内容</p></BasicModal></div>
</template>
<script lang="ts" setup>import { BasicModal, useModalInner } from '/@/components/Modal';const [registerModal, { closeModal, setModalProps }] = useModalInner(async (data: any) => {setModalProps({ confirmLoading: false });console.log(data);});const handleSubmit = () => {closeModal();};
</script>
二、应用对话框组件
<template><div class="more" @click="showModal"><span class="more-span">点击显示对话框</span><i class="arrow"></i></div><myModal width="50%" @register="modalOpen" @success="handleSuccess" ></myModal>
</template><script lang="ts" setup>import { ref } from 'vue';import myModal from './myModal/index.vue';import { useModal } from '/@/components/Modal';const [modalOpen, { openModal }] = useModal();// true时显示。const showModal = (record: any) => {openModal(true, { isUpdate: true, record });};
</script>