Fiori2.0-如何把一个view以dialog的形式显示在界面

引言

我们想要丰富弹出框的内容,想让他承载更多的信息。如下图。

这里写图片描述

这样的话,单靠dialog是无法满足我们的需求的。所以我们可以尝试用到下面的方法。

实施

1、创建view.xml

首先我们需要创建两个view.xml,一个作为主界面view1,另一个作为充当dialog的界面view2。

我们在view1创建一个按钮,期望于点击按钮后弹出view2。

2、controller

    Dialog_view2: function(oEvent) {
            this.mDialogs = this.mDialogs || {};
            //创建一个空数组
            var sDialogName = "view2";
            //定义一个字符串为view2的view名字,这里是方便代码的复用
            var oDialog = this.mDialogs[sDialogName];
            //定义一个sDialogName的数组的变量



        var oView;
        if (!oDialog) {
                oView = sap.ui.xmlview({viewName: "WILLMyProspects.view." + view2});
        //实例化view1
                this.getView().addDependent(oView);
        //与controller的生命周期有关        
                oDialog = oView.getContent()[0];
        //让oDialog获取到view1数组下的第一个节点dialog       
        }

            oDialog.open();
        //显示dialog

3、分析

Fiori的弹出框组件只能以dialog相关组件显示,而不能以view的形式显示。

如果我们这样输出

oView = sap.ui.xmlview({viewName: "WILLMyProspects.view." + view2}
oView.open();

后台会报错为oView.open()不是一个函数。

但是dialog却是存在于OView的第一个节点下的,我们利用这一点,获取到他的第一个节点,然后view就可以以dialog的形式显示在页面上了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值