SAP UI5應用裡搜尋功能的實現

i042416發表於2020-02-29

在一個包含了list的XML檢視裡,使用SearchField標籤頁定義一個搜尋按鈕。點選之後,執行的事件處理函式為handleSearch:

<mvc:View controllerName="sapcp.cf.tutorial.app.controller.View1" xmlns:mvc="sap.ui.core.mvc" displayBlock="true" xmlns="sap.m">
	<Shell id="shell">
		<App id="app">
			<pages>
				<Page id="page" title="{i18n>title}">
					<subHeader>
						<Bar>
							<contentLeft>
								<SearchField search="handleSearch"/>
							</contentLeft>
						</Bar>
					</subHeader>
					<content>
						<List id="List" items="{/Products}">
							<ObjectListItem type="Navigation" press="handleListItemPress" title="{ProductName}" number="{= ((${UnitPrice} * 100) / 100).toFixed(2) }"
								numberUnit="{i18n>currency}">
								<attributes>
									<ObjectAttribute text="{QuantityPerUnit}"/>
								</attributes>
								<firstStatus>
									<ObjectStatus text="{= ${Discontinued}? 'Discontinued' : 'Available' }" state="{= ${Discontinued}? 'Error' : 'Success' }"/>
								</firstStatus>
							</ObjectListItem>
						</List>
					</content>
				</Page>
			</pages>
		</App>
	</Shell>
</mvc:View>

```

SAP UI5應用裡搜尋功能的實現


在檢視的控制器裡實現這個搜尋函式:


```JavaScript


sap.ui.define([
	"sap/ui/core/mvc/Controller",
	"sap/m/MessageBox"
], function (Controller, MessageBox) {
	"use strict";
	return Controller.extend("sapcp.cf.tutorial.app.controller.View1", {
		onInit: function () {
		},
		// show in a pop-up which list element was pressed
		handleListItemPress: function (oEvent) {
			var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
			var selectedProductId = oEvent.getSource().getBindingContext().getProperty("ProductID");
			oRouter.navTo("Detail", {
				productId: selectedProductId
			});
		}
	});
});

```

測試:

SAP UI5應用裡搜尋功能的實現


搜尋能夠按照期望的工作:

SAP UI5應用裡搜尋功能的實現


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2677851/,如需轉載,請註明出處,否則將追究法律責任。

相關文章