Uiview 覆盖Sap ui 5中的事件

Uiview 覆盖Sap ui 5中的事件,uiview,sapui5,Uiview,Sapui5,我创建了自定义控制器,它扩展了 sap.ui.commons.ValueHelpField 我想覆盖valueHelpRequest事件,但无法覆盖该方法。我正在重写类似事件的方法。有人能告诉我如何覆盖事件吗这是使用ValueHelpField的正常方法 // create a default ValueHelpField var oVHF1 = new sap.ui.commons.ValueHelpField('VHF1',{ value: "default",

我创建了自定义控制器,它扩展了

 sap.ui.commons.ValueHelpField

我想覆盖valueHelpRequest事件,但无法覆盖该方法。我正在重写类似事件的方法。有人能告诉我如何覆盖事件吗这是使用ValueHelpField的正常方法

    // create a default ValueHelpField
var oVHF1 = new sap.ui.commons.ValueHelpField('VHF1',{
    value: "default",
    tooltip: "This is a tooltip",
    valueHelpRequest: function(){alert('ValueHelpRequest fired');}
}).placeAt("sample1");
valueHelpRequest事件具有要触发的用户定义函数。如果所需的自定义可以在事件处理程序函数中,则无需重写事件实现

否则,如果您想更改事件的触发方式,请参阅以下内容:

对于每个事件“xyz”,将生成相应的“fireXyz”方法,该方法将在本地浏览器事件(如“单击”等)上调用

浏览器事件应在控制实现中以类似“单击”的“onclick”和“点击”的“ontap”等方法处理

在ValueHelpField控件中,fireValueHelpRequest方法在“单击”和“sapshow”等浏览器事件上调用,即从方法“onclick”和“onsapshow”调用

如果您想要自定义行为,则重写方法“onclick”和“onsapshow”,检查当前实现,并根据需要添加自定义

希望有帮助。

sap.ui.core.Control.extend(“nabisoft.bookstore.controls.Book”{

        // the control API:
        metadata : {
            properties : {
                //some properties
            },

            aggregations : {
              //some aggregation
            },

            associations: {
                 //some association
            },

            events : {
                valueHelpRequest: function(e){
                                  alert("clicked");
                         }
            }
        },
sap.ui.commons.ValueHelpField.extend("HoverButton", {                                                
      metadata: {
          events: {
              "hover" : {} 
          }
      },  
      onmouseover : function(evt) {   
          this.fireHover();
      },   
      renderer: {} 

  });


 var myControl = new HoverButton("myBtn", {
              text: "Hover Me",
              hover: function(evt) {
                  alert("Button " + evt.getSource().getId() + " was hovered.");
              }
          });
          myControl.placeAt("content");


 var myControl = new HoverButton("myBtn", {
              text: "Hover Me",
              hover: function(evt) {
                  alert("Button " + evt.getSource().getId() + " was hovered.");
              }
          });
          myControl.placeAt("content");