BasicModal 弹窗扩展

Modal 组件进行封装

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

基础使用

  1. <template>
  2. <n-button type="primary" @click="showModal">打开Modal</n-button>
  3. <basicModal @register="modalRegister" ref="modalRef" class="basicModal" @on-ok="okModal">
  4. <template #default>
  5. <p>我是弹窗内容</p>
  6. </template>
  7. </basicModal>
  8. </template>
  9. <script lang="ts">
  10. import { defineComponent } from 'vue';
  11. import { basicModal, useModal } from '@/components/Modal';
  12. export default defineComponent({
  13. components: { basicModal },
  14. setup() {
  15. const [modalRegister, { openModal, closeModal }] = useModal({
  16. title: '新增预约',
  17. });
  18. async function okModal() {
  19. closeModal();
  20. }
  21. function showModal() {
  22. openModal();
  23. }
  24. return {
  25. modalRegister,
  26. okModal,
  27. showModal
  28. }
  29. }
  30. })
  31. </script>

Props

::: tip 温馨提醒

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

事件

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