javascript - 访问 Controller 中的文本区域值

标签 javascript sapui5 textarea

我创建了一个正在渲染文本区域(以及其他区域)的自定义控件。

如果单击按钮,我想访问文本框的当前值,但不知道该怎么做。在 Controller 中调用的“this.byId(“cb-input”)”仅返回未定义。

自定义控件

....
renderer: function ( oRM, oControl ){
 ...
 oRM.write('<textarea id="cb-input"');
 oRM.addClass("cb-input");
 oRM.writeClasses();
 oRM.write(">");
 oRM.write("</textarea>");
 ...
}

Controller

onInit: function( ){
 ...
 var oPage = this.getView().byId("cb");
 var oCustom = new CustomControl({
    messages: "{/data}"
 });
 oPage.addContent(oChat)
}

最佳答案

同意 fareslt -.byId() 方法返回在实例化期间直接分配这些 Id 的控件。因此,如果事件及其方法定义正确,则使用 fareslt 示例 this.byId("myControlId").getValue()//or getter you have Defined 应返回该值。

其他选项是在自定义控件的聚合中定义按钮,并将按下事件绑定(bind)到触发该事件的主 Control 方法 - 因此,通过单击按钮,您可以直接访问 textarea 值。

而且,还有标准TextArea control available in OpenUI5 SDK ,因为您还没有解释为什么需要自定义控件 - 也许使用标准对您来说也是一个可行的选择?!

最好, 沙尼尔

关于javascript - 访问 Controller 中的文本区域值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56852834/

相关文章:

javascript - 在UI5表格的不同行中添加不同的控件

javascript - 如何在 UI5 中使用 Input 的约束属性?

javascript - 如何将具有特定功能的输入文本字段转换为执行相同功能的文本区域?

Javascript下划线数组到对象

sapui5 - 如何使用 sap.m.routing.Router 清理 "old" View

javascript - 检测何时出现窗口垂直滚动条

java - 将 Libgdx 滚动条添加到 TextArea

JavaScript 特定字符计数

javascript - css 背景图像不会加载到 webpack react 组件中

javascript - Polymer fire() 是否在全局范围内发布事件?