• iview中Modal对话框点击确定后会自动关闭窗口


    问题描述:在某个页面需打开一个Modal,然后这个Modal里有一个Form表单,点击确定时我需要先校验表单数据是否输入正确,不确定则不希望关闭窗口;(问题是:只要点击确认 loading :false 情况下iview默认就把窗口就关闭了)

    API上也只是说了通过loading状态来手动关闭对话框,但是在需要验证form表单,表单验证通过再关闭modal 这种环境下,似乎并不实用,当首次表单验证不通过时,若设置 loading = true,此时的确定按钮一直为加载状态,后面那个确定按钮根本无法点击,

    后来在网上找到了解决办法,亲测可以用,关键一步操作  this.$nextTick(() => { this.loading = true; }); 在这里记录下来:

    <template>
        <div>
            <Button type="primary" @click="modal1 = true">显示对话框</Button>
            <Modal
                v-model="modal1"
                title="Modal"
                @on-ok="ok"
                :loading="loading">
                <p>对话框内容</p>
                <p>对话框内容</p>
                <p>对话框内容</p>
            </Modal>
        </div>
    </template>
    <script>
        export default {
            data () {
                return {
                    modal1: false,
                    loading: true
                }
            },
            methods: {
                ok () {
                    this.$Message.info('异步验证数据');
                    setTimeout(() => {
                        this.loading = false;
                        this.$nextTick(() => {
                            this.loading = true;
                        });
                    }, 1000);
                }
            }
        }
    </script>
    测试之后还是有一些小问题,不是功能上问题,表单验证通过后,点击确认按钮,确认按钮的加载状态会闪现一下,然后看到modal关闭,后续再找找有没有更好的办法
    原文链接: https://github.com/iview/iview/issues/597
  • 相关阅读:
    鞋拔子的前台
    服务器空间
    最近的加入群里负责群发邮件.
    log4net写入DB2备忘 via OLEDB & ODBC
    关于“.WriteLine()是否需要这么多重载”的笔记
    树莓派WLAN连接PC(不通过路由器)
    树莓派直连线连接PC
    树莓派ssh报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED解决
    MS .NET企业级应用架构设计笔记1(关于业务层)
    行存储与列存储笔记
  • 原文地址:https://www.cnblogs.com/moqq/p/8193113.html
Copyright © 2020-2023  润新知