我无法让showModal通过框架将上下文传递到默认页面。另外,加载模态时似乎并不会触发showModally(我想来自showingModally的args应该传递上下文?)。
我尝试了https://docs.nativescript.org/ui/modal-view上“自定义操作”下的示例,因为我需要在框架中加载模式。模态可以很好地打开和关闭,但是模态XML中的showModally似乎无法运行。
home / home-page.js
CAN_INV_FILTER
home / home-page.xml
const modalView = "home/modal-root";
function openModal(args) {
console.log('Opens modal');
const mainpage = args.object.page;
const context = "some context";
mainpage.showModal(modalView, context, () => {
console.log('Modal closed');
}, true);
}
exports.openModal = openModal;
home / modal-root.xml
<Page xmlns="http://www.nativescript.org/tns.xsd">
<Page.actionBar>
<ActionBar title="Modal view Navigation" />
</Page.actionBar>
<GridLayout rows="auto, *">
<Button text="Open modal" tap="openModal" textWrap="true" />
</GridLayout>
</Page>
home / modal-view-page.js
<Frame defaultPage="home/modal-view-page" />
home / modal-view-page.xml
function onShowingModally(args) {
console.log("onShowingModally");
}
exports.onShowingModally = onShowingModally;
function onCloseModal(args) {
args.object.closeModal();
}
exports.onCloseModal = onCloseModal;
我已将示例添加到https://play.nativescript.org/?template=play-js&id=lFxTi4&v=9 使用控制台日志记录。
控制台显示打开状态为“打开模态”,关闭显示状态为“模态关闭”(来自home / home-page.js),但是“ onShowingModally”(home / modal-view-page.js)从不显示在控制台中
答案 0 :(得分:0)
我认为文档需要修复。当Frame
模态显示时,该事件将在Frame
而不是其中的页面上调用。如果您显示的是一个简单的视图而不是Frame
,则应该在视图上调用该事件,基本上是模态的根视图,在您的示例中是Frame
。