异步关闭只对"确定"按钮起作用,需要设置async-close为true,当点击确定按钮的时候,按钮的文字变成一个loading动画,此动画的颜色为 confirm-color参数的颜色,同时Modal不会自动关闭,需要手动设置通过v-model绑定的变量为false来实现手动关闭。
直接上代码:
<template>
<view class="">
<u-modal v-model="show" @confirm="confirm" ref="uModal" :async-close="true"></u-modal>
<u-button @click="showModal">弹起Modal</u-button>
</view>
</template>
<script>
export default {
data() {
return {
show: false
}
},
methods:{
showModal() {
this.show = true;
},
confirm() {
setTimeout(() => {
// 如果不想关闭,而单是清除loading状态,需要通过ref手动调用方法
this.$refs.uModal.clearLoading();
}, 3000)
}
}
}
</script>