sapui5 - 如何同步不同视图中的控件值
问题描述
我想知道如何获取TextArea的内容,将值赋给变量,将其设置为模型,然后将变量设置为另一个视图中的另一个TextArea。我编写了一些示例并且它可以工作,但不能在 TextArea 上。
这是示例代码:
// In init of the Component.js
this.setModel(new JSONModel(), "TransportModel"); // JSONModel required from "sap/ui/model/json/JSONModel"
// In *.controller.js
this.getView().getModel("TransportModel").setProperty("/", {
"Serial": this.byId("mat_serial").getValue() // "mat_serial" == id of the Input box in XML view
});
在最后一步中,我使用模型元素的值设置来自不同视图(也是 XML 和输入框)的文本。
<Text text="{TransportModel>/Serial}" />
那工作得很好。
但是如何对 TextArea 做同样的事情呢?我怎样才能根据这个模型做到这一点?我想从第一个 TextArea 使用的值也应该在另一个视图中的 TextArea 上。
解决方案
UI5 支持双向数据绑定。即,如果用户在 UI 中更改了某些内容(例如,用户在文本区域中键入了某些内容),那么该更改将自动反映在其他监听更改的绑定中。
<!-- In view 1 -->
<TextArea value="{TransportModel>/Serial}" />
<!-- In view 2 -->
<Text text="{TransportModel>/Serial}" />
无需手动获取输入值。只需让框架同步值。
推荐阅读
- assembly - 将值从寄存器存储到内存中的问题,ARM 32位
- css - 样式化的组件填充 MUI 网格内的 div 高度
- linux-kernel - IOMMU 如何通过 DMA 取消映射来自不同外设的 IOVA
- sms - 华为 Cdma 调制解调器,如何通过 C# App 或 AT 命令发送短信
- python - Django模型中的类关系
- android - 网格布局在不同手机上的工作方式不同
- reactjs - 使用 onClick 传递值并使用钩子更新两个状态值
- python - 有没有更优雅的方法可以在 Python 中创建任意字典的修改副本?
- javascript - 如何使用按钮进行加、乘和减
- javascript - 在引导程序中将输入标签与 div 元素内的底部对齐