ant vue 只弹窗拖拉
ant design vue a-modal只实现实现拖拽弹窗
https://www.dandelioncloud.cn/article/details/1579721409326968833
ant vue2 弹窗组件new-dream,支持最小化,还原,最大化,vue3组件new-dream-plus
官方文档:
http://bauble.vip/blog/24
包含vue引入简单使用
窗口id建议自己生成并传入弹窗,为回调使用
父页面
自己定义窗口id:
const winId = 'LXSQ-' + record.id
组件生成窗口id:
const winId = Win.createId()
生成弹窗配置:
字段名 | 必填 | 类型 | 说明 | 字段值 |
---|---|---|---|---|
url | 是 | string | 要打开的网页地址,与component二选一 | "http://www.bauble.vip" |
component | 是 | DefineComponent | 要打开的VUE组件,与url二选一 | undefined |
parentId | 否 | string | 父窗口ID | undefined |
id | 否 | string | 要打开的窗口ID | 随机分配ID |
title | 否 | string | 窗口标题 | "新窗口" |
width | 否 | string | 窗口宽 | "800px" |
height | 否 | string | 窗口高 | "600px" |
miniBtn | 否 | boolean | 是否显示最小化按钮 | false |
maxBtn | 否 | boolean | 是否显示最大化按钮 | false |
resize | 否 | boolean | 窗口是否可缩放 | false |
icon | 否 | string/HTMLImageElement | 窗口图标 | svg string |
props | 否 | { [key:string] : any } | 打开VUE组件时,所需要的props参数 | undefined |
示例:
new Win({
id: winId,
title: 'LXSQ-' + record.id + '-' + record.title,
maxBtn: false,
miniBtn: true,
resize: true,
width: clientWidth,
height: clientHeight,
component: edit,
props: {
queryData: { id: formId, taskType: 'detail', state: state, tenantCode: this.userInfo.tenantCode, winId: winId }
}
})
.onmounted((e) => {
console.log(e)
})
.onclose(() => {
console.log(Win.WinIdMap)
})
弹窗页面完成操作后关闭弹窗
// 获取弹窗组件
const win = Win.WinIdMap[this.queryData.winId]
if(win){
// 关闭弹窗
win.close()
}