sap.m.List:移除分隔线并为每个列表项添加项目符号
解决sap.m.List显示权限列表无分隔线并改为行内/纯文本排列的方法
我来帮你调整这个列表的显示效果,分两种场景给你具体方案:
场景1:实现「权限:项目1 项目2 项目3」的行内展示
如果想把权限项改成一行的文本串联展示,其实不用sap.m.List也能轻松实现,但如果要基于现有List改造的话,可以这么做:
- 移除分隔线:给List添加
separator="None"属性,直接去掉每个列表项的水平分隔线。 - 行内布局调整:把列表项的内容换成sap.m.Text组件,设置行内显示,同时在列表头部加上「权限:」的前缀。
示例代码片段:
<List id="PermissionsList" noDataText="NoPermissions" includeItemInSelection="true" items="{PermissionsList>/}" separator="None"> <headerToolbar> <Toolbar> <Title text="权限:" /> </Toolbar> </headerToolbar> <items> <StandardListItem> <content> <Text text="{PermissionsList>name}" class="sapUiInline" /> </content> </StandardListItem> </items> </List>
再补一点CSS让项之间有合适的间距:
.sapUiInline { margin-right: 8px; }
场景2:无分隔线的纯文本上下排列
如果只是想去掉分隔线,保持每项单独一行但没有横线,操作更简单:
只需要给List添加separator="None"属性,再可选调整列表项的样式,让它更贴近纯文本的视觉效果。
示例代码:
<List id="PermissionsList" noDataText="NoPermissions" includeItemInSelection="true" items="{PermissionsList>/}" separator="None" class="permission-text-list"> <headerToolbar> <Toolbar> <Title text="权限" /> </Toolbar> </headerToolbar> <items> <StandardListItem title="{PermissionsList>name}" description="" /> </items> </List>
可选CSS优化:
.permission-text-list .sapMLIB { border: none; padding: 4px 0; /* 调整上下间距,弱化列表项的卡片感 */ }
另外,要是追求更轻量化的纯文本展示,也可以考虑用sap.m.VBox直接包裹多个sap.m.Text控件,这种方案比List更适合纯文本场景哦。
内容的提问来源于stack exchange,提问作者THI
相关产品推荐
相关产品推荐

