2014-09-11 2 views
0

Есть ли возможность использования NavContainer внутри sap.m.Dialog fragment. В PopOver это возможно, но при попытке с помощью диалога ничего не отображается внутри диалогового окна.SAPUI5 NavContainer внутри sap.m.Dialog Fragement

Вот код:

<core:FragmentDefinition xmlns:core="sap.ui.core" 
    xmlns:layout="sap.ui.layout" xmlns="sap.m"> 
    <Dialog title="Customer Search" type="Message"> 

    <NavContainer id="navCon"> 
    <Page id="master" title="Search "> 
     <Label text="Customer Name"></Label> 
     <Input></Input> 

     <Label text="Payer Code"></Label> 
     <Input></Input> 

     <Label text="Customer City"></Label> 
     <Input></Input> 

     <Label text="Customer Postal Code"></Label> 
     <Input></Input> 

     <Label text="SBU" /> 
     <layout:ResponsiveFlowLayout> 
     <RadioButton groupName="supplierCaused" text="Yes" /> 
     <RadioButton groupName="supplierCaused" text="No" /> 
     <RadioButton groupName="supplierCaused" text="No" /> 
     </layout:ResponsiveFlowLayout> 

     <Label text="CBT"></Label> 
     <Select id="searchCBT" width="100%"></Select> 

     <Label text="Region" /> 
     <layout:ResponsiveFlowLayout> 
     <RadioButton groupName="hisTransaction" text="Yes" /> 
     <RadioButton groupName="hisTransaction" text="No" /> 
     <RadioButton groupName="hisTransaction" text="No" /> 
     </layout:ResponsiveFlowLayout> 
    </Page> 

    <!-- 
    <Page id="detail" showNavButton="true" navButtonPress="onNavBack" 
    title="Product"> 

    <Label text="Search Results" /> 

    </Page> --> 
    </NavContainer> 

    <beginButton> 
    <Button text="Random" press="onDialogClose" /> 
    </beginButton> 
    </Dialog> 
</core:FragmentDefinition> 

ответ

1

Это будет намного проще для меня, чтобы ответить вам с помощью чистого JavaScript. Потому что каким-то образом вам нужно прикрепить открытый обработчик к этому диалогу? И разделение кода сделает этот довольно простой пример действительно сложным. Так что-то вроде этого, вставляемое в простые скриптовые теги?

var btn = new sap.m.Button({text:'Open Dialog', press: function(){oDialog.open();}}); 

    var oDialog = new sap.m.Dialog({ 
     showHeader : false, 
     stretch: sap.ui.Device.system.phone ? true : false, 

     beginButton : new sap.m.Button({ 
      text : 'OK', 
      press : function() { 
       oDialog.close(); 
      } 
     }),   
     contentHeight : "500px" 
    }); 

    var oNavContainer = new sap.m.NavContainer(); 
    var oPage = new sap.m.Page({ 
     enableScrolling : true, 
     title : 'Test Page', 
     subHeader : new sap.m.Bar({ 
      contentMiddle : new sap.m.Button({text:'SubHeader Button'}) 
     }), 
     content : [ new sap.m.Button({text:'Content Button'}) ] 
    });  
    oNavContainer.addPage(oPage); 
    oNavContainer.setInitialPage(oPage); 
    oDialog.addContent(oNavContainer); 

    btn.placeAt('content'); 
</script> 

Вам просто нужно иметь элемент Div с идентификатором = «содержание» и он должен работать :)

Смежные вопросы