You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SAPUI5中Input值变更时sap.ui.model.json.JSONModel未同步更新问题咨询

根因说明

这是sap.m.Input控件的默认绑定触发逻辑导致的:默认情况下value属性的双向绑定仅在按下回车键、输入框失去焦点时才会将输入值同步到关联模型,不会实时响应输入内容变化。

实现实时同步的方法

你只需要在value属性的绑定声明中添加valueUpdate参数,指定更新触发时机为liveChange即可,无需额外写事件监听逻辑。
另外注意你提供的代码存在笔误:sao.ui.model.BindingMode.TwoWay 应为sap.ui.model.BindingMode.TwoWay,拼写错误会导致绑定模式设置失效。

修正后的完整代码
var oModel = new sap.ui.model.json.JSONModel();
// 修正拼写错误
oModel.setDefaultBindingMode(sap.ui.model.BindingMode.TwoWay);
oModel.setData({
    test_value: "Hallo"
});

var oInput = new sap.m.Input({
    // 增加绑定参数指定实时更新
    value: "{path: 'test_value', parameters: {valueUpdate: 'liveChange'}}"
});
oInput.setModel(oModel);
补充说明

如果有特殊场景需要自定义处理逻辑,也可以通过监听liveChange事件手动更新模型,示例如下:

var oInput = new sap.m.Input({
    value: "{test_value}",
    liveChange: function(oEvent) {
        oModel.setProperty("/test_value", oEvent.getParameter("value"));
    }
});

这种方式灵活度更高,但优先推荐绑定参数的方案,更符合SAPUI5的声明式开发规范,代码冗余度更低。

内容的提问来源于stack exchange,提问作者UnitedBlaze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 20:06:03