我知道如何在 node.js 中使用 npm 管理的库(例如uuid. 但是,在基于浏览器的 SAP UI5 JavaScript 代码中执行此操作的好方法是什么?
我们已经实现了一个 SmartTable,一切正常。我只想删除 SmartTable useTablePersonalisation 选项提供的过滤器选项。
这可能吗 ?
问候, 玛雅克
我想实现下面的地方条件.如何在UI5中创建过滤器?
field-A NE 'O' and ( field-B contains 'search-text' or field-C contains 'search-text' )
后端业务场景:
field-A NE 'O'绑定列表时应用过滤器. ( field-B contains 'search-text' or field-C contains 'search-text' )以在搜索字段上实现搜索功能.过滤实例:
new sap.ui.model.Filter("field-A", sap.ui.model.FilterOperator.NE, "O");
new sap.ui.model.Filter("field-B", sap.ui.model.FilterOperator.contains, search-text);
new sap.ui.model.Filter("field-C", sap.ui.model.FilterOperator.contains, search-text);
Run Code Online (Sandbox Code Playgroud) 我做了一个库项目,以便可以在应用程序之间共享格式化程序和一些自定义控件。这很好,只是将库添加到neo-app.json文件中。现在,我可以加载我的通用格式化程序:
app / neo-app.json
{
"path": "/resources/shared/",
"target": {
"type": "application",
"name": "mysharedlibrary",
"entryPath": "/"
},
"description": "My shared library"
}
Run Code Online (Sandbox Code Playgroud)
应用/控制器
sap.ui.define([
"shared/formatters"
], function(formatters) {
//etc
Run Code Online (Sandbox Code Playgroud)
然后,我想添加一个共享的基本控制器,该控制器已经设置了格式化程序。因此,我进入共享库项目并添加一个控制器,然后添加格式化程序:
mysharedlibrary / SharedController
sap.ui.define([
"sap/ui/core/mvc/Controller",
"formatters" /* <----- this is the problem */
], function(Controller, formatter) {
"use strict";
return Controller.extend("shared.SharedController", {
formatter: formatter
});
});
Run Code Online (Sandbox Code Playgroud)
然后在我的应用程序中使用它:
app / Controller.js
// fails. Shared base controller can't load formatter.
sap.ui.define([
"shared/SharedController"
], function(Controller) {
"use strict";
return Controller.extend("my.app.controller.App", {
}); …Run Code Online (Sandbox Code Playgroud) 我有一个 SAP Fiori 应用程序,我需要获取当前登录的用户详细信息。我在网上搜索过但无法找到解决方案。
有什么方法可以从启动板获取当前登录的用户详细信息。
sapui5 sap-fiori sap-web-ide sap-cloud-platform sap-business-technology-platform
我定义了以下简单形式:
<form:SimpleForm id="SimpleFormChange354"
editable="true"
layout="ResponsiveGridLayout"
title="Address"
labelSpanXL="2"
labelSpanL="2"
labelSpanM="3"
labelSpanS="12"
adjustLabelSpan="false"
emptySpanXL="0"
emptySpanL="0"
emptySpanM="0"
emptySpanS="0"
columnsXL="2"
columnsL="2"
columnsM="1"
singleContainerFullSize="false"
>
<Label text="Name1"/>
<Input/>
<Label text="Name2"/>
<Input/>
<Label text="Name3"/>
<Input/>
</form:SimpleForm>
Run Code Online (Sandbox Code Playgroud)
如你看到的:
如何将红色标记的元素放置在Name1元素旁边?
UI5中的一次性绑定和单向绑定有什么区别?
有没有特定于用户的用例?我无法从文档中获得太多信息。
下面的代码是从 UI5 Demo Kit 复制的,但是当我运行它时,控制台显示该函数Fragment.load不是函数的错误消息。请提出任何替代方案或突出问题(如果有)。
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/m/MessageToast",
"sap/ui/model/Filter",
"sap/ui/model/FilterOperator",
"sap/ui/model/json/JSONModel",
"sap/m/MessageToast",
"sap/ui/core/Fragment"
], function(Controller, MessageToast, Filter, FilterOperator, JSONModel, Fragment) {
"use strict";
return Controller.extend("Workspace.controller.HelloPanel", {
onInit: function() {
var plant = {
pid: "",
ptype: "",
pdesc: "",
psite: "",
pstatus: "",
passigned: "",
pattach: ""
};
var oModel1 = new JSONModel(plant);
this.getView().setModel(oModel1, "SUP");
},
onOpenDialog: function() {
var oView = this.getView();
if (!this.byId("helloDialog")) {
Fragment.load({
id: oView.getId(),
name: "Workspace.view.HelloDialog",
controller: this
}).then(function(oDialog) {
// connect dialog …Run Code Online (Sandbox Code Playgroud) 我有一个 OData 源,它提供包含first_name& 的结果行last_name。
我想在一个名为Full Name的列的表中显示这些。
我正在尝试使用 JSView(它似乎不如 XML 笨拙)。
我可以像这样进行 1:1 绑定:
var template = new sap.m.ColumnListItem({
// ...,
cells: [
new sap.m.Text({
text: "{first_name}"
})
]
});
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何将多个字段绑定/连接到 Text 控件,或者如何将多个 Text 控件放入一个单元格中。
编辑:这与其他建议的解决方案不完全相同,因为这是针对 JSView 而不是 XMLView。
sapui5 ×10
amd ×1
data-binding ×1
javascript ×1
sap-business-technology-platform ×1
sap-fiori ×1
sap-web-ide ×1
uuid ×1