代码之家  ›  专栏  ›  技术社区  ›  Mike Omeiri Kouider

仅在sapui5的sap.m.input controller中使用大写或大写字母

  •  0
  • Mike Omeiri Kouider  · 技术社区  · 6 年前

    我用的是 sap.m.Input 我的sapui5应用程序中的控制器,我希望此字段中的输入文本仅以大写字母/显示。实际值与数据验证一起在后端格式化。

    是否有随时可用的属性来启用 uppercase 模式?
    我检查了 control properties 在API引用中,但找不到类似的内容。

    问题扩展:
    据我所知,JS的另一种解决方案是使用CSS属性: text-transform: uppercase; 并将此样式附加到 SAM输入 控制器。

    问题是,从性能角度来看,哪种方法更适合使用基于CSS的( text-transform )或基于JS的( liveChange )技术?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Boghyon Hoffmann    6 年前

    据我所知,更好的解决方案是使用CSS:

    .sapMInput.myCustomCSSClass .sapMInputBaseInner {
        text-transform: uppercase;
    }
    
        2
  •  1
  •   Mike Omeiri Kouider    6 年前

    你可以用 liveChange 事件:

    <Input liveChange = "onLiveChange"></Input>
    

    在控制器中定义函数:

    onLiveChange: function(oEvent) {
    
        var input = oEvent.getSource();
    
        input.setValue(input.getValue().toUpperCase());
    }
    

    如果要在输入控件中显示初始值,可以定义将字符串格式设置为大写的格式化程序。