我有一个sap.m.List
类型的列表,其中包含可点击的项目。而且我想禁用其中一些项,但是我找不到任何可以实现此目的的属性或类似属性。
实际上,当查看getType
和ListType
时,它说:
无效类型不能用于禁用列表项。
我已经搜索了禁用/启用属性以及类似的属性,但是找不到。
答案 0 :(得分:2)
答案 1 :(得分:2)
您可以尝试使用Active
/ Inactive
类型,但是如上所述,它不能直观地表明列表项是可单击的。
但是,它确实抑制了press
事件。请参见下面的示例,其中状态为包含“ M”的列表项被设置为非活动状态。
var myFormatter = {
state: function(value) {
if (value.includes("M")) {
return "Inactive";
}
return "Active";
}
};
sap.ui.controller("view1.initial", {
onInit : function(oEvent) {
var aData = [
{
"fname": "Waddie",
"lname": "Bowman",
"tel": "(305)703-1256",
"address": "6454 Molestie Ave",
"city": "Guelph",
"state": "ME",
"zip": 95624
},
{
"fname": "Stuart",
"lname": "Warren",
"tel": "(167)539-0934",
"address": "2691 Sollicitudin Ln",
"city": "Stamford",
"state": "MA",
"zip": 74267
},
{
"fname": "Bill",
"lname": "Geouque",
"tel": "(461)569-0913",
"address": "9313 Orci Rd",
"city": "Winfield",
"state": "VT",
"zip": 96899
},
{
"fname": "Marcellous",
"lname": "Presas",
"tel": "(759)512-5873",
"address": "2739 Fringilla Ave",
"city": "Camden",
"state": "MD",
"zip": 62068
},
{
"fname": "Candis",
"lname": "Berger",
"tel": "(913)437-0578",
"address": "5804 Ipsum Ave",
"city": "Phoenix",
"state": "LA",
"zip": 40023
},
{
"fname": "Lorena",
"lname": "Adams",
"tel": "(143)240-5746",
"address": "3113 Sollicitudin Ct",
"city": "Shrewsbury",
"state": "SD",
"zip": 81678
},
{
"fname": "Lloyd",
"lname": "Penning",
"tel": "(856)265-2829",
"address": "6683 Libero Ln",
"city": "Vacaville",
"state": "FL",
"zip": 35151
},
{
"fname": "Jessica",
"lname": "Hobson",
"tel": "(518)458-3456",
"address": "5961 Amet Ct",
"city": "Chicago",
"state": "MS",
"zip": 44633
},
{
"fname": "Laura",
"lname": "Nadaraja",
"tel": "(259)103-8426",
"address": "1075 Placerat Ct",
"city": "Moulton",
"state": "CT",
"zip": 53957
},
{
"fname": "Denise",
"lname": "Shroff",
"tel": "(942)911-7736",
"address": "7563 Ac Ln",
"city": "The Dalles",
"state": "IL",
"zip": 22777
}
];
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData(aData);
this.getView().setModel(oModel);
},
onPress: function(oEvent) {
alert("OK");
}
});
sap.ui.xmlview("main", {
viewContent: jQuery("#view1").html()
})
.placeAt("uiArea");
.myCellStyle1 {
background-color : #f60;
}
.myCellStyle2 {
background-color : #0F0;
}
<script id="sap-ui-bootstrap"
src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js"
data-sap-ui-theme="sap_bluecrystal"
data-sap-ui-xx-bindingSyntax="complex"
data-sap-ui-libs="sap.m"></script>
<div id="uiArea"></div>
<script id="view1" type="ui5/xmlview">
<mvc:View
height="100%"
controllerName="view1.initial"
xmlns:mvc="sap.ui.core.mvc"
xmlns:core="sap.ui.core"
xmlns="sap.m">
<List id="myList" items="{/}" mode="None">
<items>
<StandardListItem
title="{fname} {lname}"
description="{address} {city} {state}"
type="{
path: 'state',
formatter: 'myFormatter.state'
}"
press="onPress"/>
</items>
</List>
</mvc:View>
</script>