选择时过滤UI5组合框(下拉列表)

2020-08-20 02:39发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

我有以下情况。 我有一个OData填充下拉列表。 假设他们填充了1..100以上的数字。

现在我的业务场景是,选择一个不规则数字以仅对不规则数字自动过滤下拉列表(反之亦然)。

在change事件(在xml中定义)中,我正在重置OData模型:

this.getModel(" oDropdownsModel")。setData({number:aNumbers},true);

然后,我要分配先前存储在sNumber中的选定键。

this.getView()。byId(sId +" number")。setSelectedKey(sNumber);

执行后,我得到一个奇怪的转储:"未捕获的TypeError:无法读取未定义的属性'isA'",其次是选择不会消失

而且我认为在选择过程的确切时刻更改下拉值时必须这样做。

有什么办法可以解决此错误? 我可以使用下拉菜单中的onAfterClose事件吗?

仅供参考,作为一个临时解决方案,我手动关闭了下拉菜单:

this.getView()。byId(sId +" number")。close();

但是这又不是很优雅,我也不想在控制台中出现错误:)

请在下面的评论中让我知道。

提前谢谢!

亚历克斯

ui5-error.jpg (93.7 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

我有以下情况。 我有一个OData填充下拉列表。 假设他们填充了1..100以上的数字。

现在我的业务场景是,选择一个不规则数字以仅对不规则数字自动过滤下拉列表(反之亦然)。

在change事件(在xml中定义)中,我正在重置OData模型:

this.getModel(" oDropdownsModel")。setData({number:aNumbers},true);

然后,我要分配先前存储在sNumber中的选定键。

this.getView()。byId(sId +" number")。setSelectedKey(sNumber);

执行后,我得到一个奇怪的转储:"未捕获的TypeError:无法读取未定义的属性'isA'",其次是选择不会消失

而且我认为在选择过程的确切时刻更改下拉值时必须这样做。

有什么办法可以解决此错误? 我可以使用下拉菜单中的onAfterClose事件吗?

仅供参考,作为一个临时解决方案,我手动关闭了下拉菜单:

this.getView()。byId(sId +" number")。close();

但是这又不是很优雅,我也不想在控制台中出现错误:)

请在下面的评论中让我知道。

提前谢谢!

亚历克斯

ui5-error.jpg (93.7 kB)
付费偷看设置
发送
3条回答
shere_lin
1楼 · 2020-08-20 03:14.采纳回答

每次用户键入某些内容(例如onChange/Livechange事件)时,避免OData调用。 这将导致性能下降。 对每种类型的用户保持将值设置为"按ID进行控制"也是一个坏主意……以后容易引起您的头痛。

相反,将1..100值输入控制器,然后对数据集应用过滤器。 这样,滤波几乎具有零延迟,并且在选择时会拉高值。

如果值太多,请查找其他选项,例如"帮助弹出框",因为组合框最不适合高编号。 价值。 请参阅: https://experience.sap.com/fiori-design-web/combo-box/

hongfeng1314
2楼-- · 2020-08-20 03:08

我可以使用组合框看到XML文件吗?

Alawn_Xu
3楼-- · 2020-08-20 03:13

塞巴斯蒂安·马尔凯西尼(Sebastiano Marchesini)是在xml片段中如何定义此组合框的示例:

一周热门 更多>