import { RModal } from '@/components' import { NButton, NCard, NFlex } from 'naive-ui' import { useModal } from '@/components' export default defineComponent({ name: 'ModalDemo', setup() { const state = reactive({ modal1: false, modal2: false, modal3: false, }) const { create } = useModal() const createCardModal = () => { create({ title: '卡片模态框', draggable: true, preset: 'card', content: () => (
我可以被拖拽的全屏card模态框
), fullscreen: true, }) } const createDialogModal = () => { create({ title: '模态框', content: '内容', preset: 'dialog', draggable: true, }) } return { ...toRefs(state), createCardModal, createDialogModal, } }, render() { const { createCardModal, createDialogModal } = this return (

fullscreen: 全屏模态框。

我可以被拖拽的全屏card模态框

我可以被拖拽

我可以被拖拽

(this.modal2 = true)}>卡片模态框 (this.modal3 = true)}>对话框模态框

全屏模态框需要同时设置:fullscreen 为 true,并且 preset 为 card 时才会生效。

(this.modal1 = true)}>打开

width(--r-modal-width): 当 preset 不为 dialog 或者 card 的时候,你可能用得上。

dialogWidth(--r-modal-dialog-width): 当 preset 为 dialog,你可能用得上。

cardWidth(--r-modal-card-width): 当 preset 为 card,你可能用得上。

所有的宽度配置属性都会注入一个对应的 `css variable`,有时候会用上。

创建卡片模态框 创建对话框模态框
) }, })