umicro/uView2.0

关于modal 的asyncClose异步关闭能否手动控制loading状态

kkqy opened this issue · 1 comments

kkqy commented

这个功能解决了什么问题?

我需要在confirm事件响应函数里验证表单输入,如果表单验证不过,则依旧保持打开状态,让用户调整输入。
但是目前asyncClose为false的话,用户点击确认按钮以后,就会直接关闭modal,我在confirm事件处理中无法控制modal是否保持打开状态。
而如果asyncClose为true的话,用户点击确认按钮,就变成loading状态了,但目前无法手动取消这个loading状态。

你期望的 API 是怎样的?

希望loading状态可以手动控制,而不是点击确认以后,只能关闭modal。

可以通过为modal绑定ref后操作手动修改loading值。例如

<template>
	<u-modal
		ref="asyncRef"
		:content="content"
		:show="show4"
		showCancelButton
		asyncClose
		@confirm="confirm"
		@cancel="() => show4 = false"
	></u-modal>
</template>
<script>
confirm4() {
	setTimeout(()=>{
		this.$refs.asyncRef.loading=false
	})
	setTimeout(() => {
		this.show4 = false
	}, 2000)
}
</script>