我这里有2 + 5个街区,在小屏幕上,每个面板都是全宽的。
但是在大屏幕中,块是3:3:3或6:3。我想把它们全部放在一排。
每个部分都包含在<div class="sapUiRespGridSpanL4 sapUiRespGridSpanM6 sapUiRespGridSpanS12 sapUiRespGridSpanXL3">
如何将其更改为class="sapUiRespGridSpanL12 sapUiRespGridSpanM12 sapUiRespGridSpanS12 sapUiRespGridSpanXL12"
?
我已尝试在Panel
中添加布局,但无效。
Refrence:
sap.uxap.ObjectPageLayout Documentation
layout of blocks, blocks are in the same color, hard to specify
答案 0 :(得分:1)
您可以使用sap.uxap.BlockBase
[API] 来包装目标控件。 BlockBase控件旨在sap.uxap.ObjectPageSubSection
内使用(因此名称为<blocks>
),并支持使用属性columnLayout
自定义网格范围。
以下是演示:https://embed.plnkr.co/lSrDk9/?show=view%2FHome.view.xml,preview
<uxap:ObjectPageSubSection>
<block:MyBlock columnLayout="4"/>
<block:MyBlock columnLayout="4"/>
</uxap:ObjectPageSubSection>
答案 1 :(得分:1)
最后1.5小时后才发现
原因:必须从BlockBase扩展Blocks以应用columnLayout。
扩展BlockBase:
"start_vdev": "NODE_ENV=development electron index.js",
"start_vprod": "NODE_ENV=production electron index.js"
然后使用上面的新ui5扩展控件创建一个视图和控制器。在您的页面中使用columnLayout
sap.ui.define(["sap/uxap/BlockBase"], function (BlockBase) {
"use strict";
var BlockPanel = BlockBase.extend("sap.uxap.sample.ObjectPageSubSectionSized.blocks.BlockPanel", {
metadata: {
/* no additional views provided */
}
});
return BlockPanel;
});
如果您不扩展块基,则无法应用xmlns:sample="sap.uxap.sample.ObjectPageSubSectionSized.blocks"
...
...
<uxap:blocks>
<sample:BlockPanel columnLayout="4"/>
</uxap:blocks>
和1-4
。
答案 2 :(得分:0)
提供一种不优雅但非常快速的方法:覆盖CSS
<uxap:ObjectPageSubSection class="fullWidthPanel">
/* CSS specificity */
.fullWidthPanel .sapUiRespGrid.sapUiRespGridHSpace1 > div {
width: 98.88888889%;
width: -webkit-calc(100% - 1rem);
width: calc(100% - 1rem)
}