Как добавить кнопку закрытия в диалоговое окно JavaScript в SAPUI5?

#javascript #dialog #sapui5

#javascript #диалоговое окно #sapui5

Вопрос:

Я пытаюсь добавить кнопку в диалоговое окно просмотра JavaScript. к сожалению, кнопка не отображается (кнопка заголовка) На самом деле, я хочу, чтобы в диалоговом окне была другая кнопка в углу, которая закрывает диалоговое окно

 this.oWarningMessageDialog = new Dialog({
                    type: DialogType.Message,
                    title: this._oBundle.getText("PaymentPostponement"),
                    state: ValueState.Warning,
                    Header: new Button({
                        type: ButtonType.Reject,
                        icon: "sap-icon://decline",
                        press: function (oEvent) {
                            this.oWarningMessageDialog.close()
                            this.oWarningMessageDialog = null
                            Core.byId("ApproveMessageText").destroy()
                        }.bind(this)
                    }),

                    beginButton: new Button({
                        type: ButtonType.Reject,
                        text: this._oBundle.getText("Postpone"),
                        icon: "sap-icon://decline",
                    
  

введите описание изображения здесь

Ответ №1:

Если вам нужен точный внешний вид, указанный на изображении, вам необходимо использовать агрегацию «CustomHeader». Код выглядит следующим образом :-

 this.oWarningMessageDialog = new Dialog({
                type: DialogType.Message,               
                state: ValueState.Warning,
                customHeader: [
                    new sap.m.Bar({
                       /* either use an icon */
                        contentRight: new sap.ui.core.Icon({
                                src : "sap-icon://decline",
                                useIconTooltip : false,
                                color : "#f33334",
                                press : function (oEvent) {
                                this.oWarningMessageDialog.close();
                                this.oWarningMessageDialog = null;
                                Core.byId("ApproveMessageText").destroy()
                            }.bind(this)
                        }).addStyleClass("sapUiMediumMarginBottom"),
                        /* or you can even use a button */
                        // contentRight: new Button({
                        //  type: ButtonType.Transparent,
                        //  icon: "sap-icon://decline",
                        //  width: "20px",
                        //  press: function (oEvent) {
                        //      this.oWarningMessageDialog.close();
                        //      this.oWarningMessageDialog = null;
                        //  }.bind(this)
                        // }).addStyleClass("sapUiSmallMarginBottom"),
                        contentMiddle : [
                            new sap.m.Title({
                                text :this._oBundle.getText("PaymentPostponement")
                            }),
                            new sap.ui.core.Icon({
                                src : "sap-icon://message-warning",
                                useIconTooltip : false,
                                color : "#E69A17"
                            })
                            ]
                    })

                ],
                    beginButton: new Button({
                    type: ButtonType.Reject,
                    text: this._oBundle.getText("Postpone"),
                    icon: "sap-icon://decline"
                })
            });
  

или, правильный способ включения кнопки закрытия — использовать агрегацию «endButton». Но при этом кнопка будет отображаться в нижнем колонтитуле диалогового окна.