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`,有时候会用上。
创建卡片模态框
创建对话框模态框
)
},
})