【问题标题】:Modal Navigation and close模态导航和关闭
【发布时间】:2019-09-30 19:08:12
【问题描述】:

我有两种情况

    1234563 /p>
  1. 有没有一种方法可以让您拥有多个模式(一个打开下一个)并在最后一个关闭它们?在 android 上,我只是等待每个模态承诺得到履行,但在 iOS 上这不起作用。

这是两种场景的示例https://play.nativescript.org/?template=play-vue&id=OVxmoC&v=2

【问题讨论】:

    标签: nativescript nativescript-vue


    【解决方案1】:

    this.$modal.close() 只能从 modal 组件的根中调用,如果从其他任何嵌套级别调用它,它将被简单地忽略。如果您真的想在导航后关闭模态,我认为您必须将$modal 引用向下传递导航树,可能是通过props。如果这对您来说更容易,您甚至可以考虑使用事件总线/全局服务。

    Modal.vue

               this.$navigateTo(Secondary, {
                    frame: "modal-frame",
                    props: {
                        parentModal: this.$modal
                    }
                });
    

    Secondary.vue

    export default {
        props: ["parentModal"],
        data() {
            return {};
        },
        methods: {
            onTap: function() {
                if (this.parentModal) this.parentModal.close();
                else this.$modal.close();
            }
        }
    };
    

    Updated Playground

    【讨论】:

    • 如果有人像我一样对此感到困惑,$modal 的类型是 Object(如果您必须在 props 中指定类型,如:props:{ modal: Object, ... }
    猜你喜欢
    • 2011-04-14
    • 2011-03-19
    • 1970-01-01
    • 2019-03-27
    • 2019-10-20
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    • 2018-12-05
    相关资源
    最近更新 更多