使用Promise封装uni.showModal并提供两个参数,第一个参数传入属性,第二个参数传入方法,用户点击确执行传入的方法
时间: 2023-03-29 14:00:27 浏览: 145
好的,我可以回答这个问题。以下是使用 Promise 封装 uni.showModal 的代码:
```javascript
function showModalWithPromise(props, callback) {
return new Promise((resolve, reject) => {
uni.showModal({
...props,
success: (res) => {
if (res.confirm) {
callback && callback();
resolve();
} else {
reject();
}
},
fail: () => {
reject();
}
});
});
}
```
其中,props 是一个对象,包含了 uni.showModal 的所有属性,callback 是一个函数,表示用户点击确定后要执行的方法。调用该函数时,可以这样使用:
```javascript
showModalWithPromise({
title: '提示',
content: '确定要删除吗?',
confirmText: '删除',
cancelText: '取消'
}, () => {
console.log('用户点击了确定');
}).then(() => {
console.log('用户点击了确定并且方法执行成功');
}).catch(() => {
console.log('用户点击了取消或者方法执行失败');
});
```
希望这个回答能够帮到你。
阅读全文