功能:a-modal内提交表单给button加loading属性,避免多次重复提交
以下错误写法导致loading属性失效
<a-modal v-model:open="open" title="Title" :confirm-loading="confirmLoading" @ok="handleOk">
<p>{{ modalText }}</p>
<template #footer>
<a-button key="back" @click="handleClose">取消</a-button>
<a-button key="submit" type="primary" :loading="loading" @click="save">确定</a-button>
</template>
</a-modal>
const save = () => {
formRef.value.validate()
.then(() => {
loading.value = true
api().then(()=>{
...
}).finally(()=>loading.value = false)
})
正确写法,需要加上异步
const save = () => {
formRef.value.validate()
.then(() => {
setTimeout(() => {
loading.value = true
api().then(()=>{
...
}).finally(()=>loading.value = false)
})
})
官方文档说明