遇到的问题:iview-modal在做数据校验时,点击确定,当校验不通过时,弹框也自动关闭了
解决方案:
1.给Modal添加属性loading后,点击确定按钮对话框不会自动消失,并显示 loading 状态,需要手动关闭对话框,常用于表单提交。
handleSubmit(name) {
let self = this;
this.$refs[name].validate((valid) => {
setTimeout(() => {
this.loading = false;
this.$nextTick(() => {
this.loading = true;
});
}, 100);
})
}
2.利用<Modal></Modal>
的slot,自定义写底部按钮,这样就可以在按钮点击事件里面去做数据的验证,通过v-model控制模态框的显示与隐藏。
<Modal title="xxx" v-model="showRejectModal">
<!--重点来了-->
<div slot="footer">
<Button type="text" size="large" @click="cancel">取消</Button>
<Button type="primary" size="large" @click="define">确定</Button>
</div>
</Modal>
官网上Modal 可自定义的模块如下: