Skip to content
On this page

BasicModal 弹窗扩展

Modal 组件进行封装

如果文档内没有,可以尝试在在线示例内寻找

基础使用

vue
<template>
    <n-button type="primary" @click="showModal">打开Modal</n-button>
    <basicModal @register="modalRegister" ref="modalRef" class="basicModal" @on-ok="okModal">
        <template #default>
            <p>我是弹窗内容</p>
        </template>
    </basicModal>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
import { basicModal, useModal } from '@/components/Modal';
export default defineComponent({
    components: { basicModal },
    setup() {
        const [modalRegister, { openModal, closeModal }] = useModal({
            title: '新增预约',
        });

        async function okModal() {
           closeModal();
        }

        function showModal() {
            openModal();
        }
        
        return {
            modalRegister,
            okModal,
            showModal
        }
    }
})
</script>

Props

温馨提醒

  • 除以下参数外,官方文档内的 props 也都支持,具体可以参考 Modal | Dialog
属性类型默认值可选值说明版本
titlestring--弹窗标题
subBtuTextstring确认-确认按钮文字

事件

事件回调参数说明
setPropsFunction(props)设置组件内部参数-参考官方UI文档
openModalFunction()打开弹窗
closeModalFunction()关闭弹窗
setSubLoadingFunction()设置确定按钮loading状态