32 lines
620 B
JavaScript
32 lines
620 B
JavaScript
uni.modal = {
|
|
open(pageName, extras = {}) {
|
|
if (pageName.indexOf('/pages') == 0) {
|
|
throw new Error('error page name')
|
|
}
|
|
let eventName = pageName + '_modal_close'
|
|
return new Promise((resolve, reject) => {
|
|
uni.pro.navigateTo(pageName, extras).then(() => {
|
|
uni.event.one(eventName, ({
|
|
confirm,
|
|
extras
|
|
}) => {
|
|
if(confirm) {
|
|
resolve(extras)
|
|
} else {
|
|
reject(extras)
|
|
}
|
|
})
|
|
}).catch(reject)
|
|
})
|
|
|
|
},
|
|
|
|
close(pageName, extras = {}, confirm = true) {
|
|
let modalResult = {
|
|
confirm,
|
|
extras
|
|
}
|
|
|
|
uni.event.fire(pageName + '_modal_close', modalResult);
|
|
},
|
|
} |