initialLayout 初始布局
initialLayout
组件是在 主视图 中还没有打开任何视图时显示的布局。如果需要在打开其他视图之前显示某些默认内容(如 logo 或仪表板)时,可以使用该组件。
-
XML 元素:
initialLayout
基本用法
initialLayout
是 appLayout
的内部组件。
如需通过 Jmix Studio 添加内部的 initialLayout 元素,请在 XML 或 Jmix UI 层级面板中选择 appLayout 元素,并在属性面板点击 Add→InitialLayout 按钮。
|
在 main-view.xml
中定义 initialLayout
的示例:
<mainView xmlns="http://jmix.io/schema/flowui/main-view"
title="msg://MainView.title">
<appLayout>
<navigationBar .../>
<drawerLayout .../>
<initialLayout>
<image id="urlImage"
resource="https://www.jmix.io/uploads/framework_image_9efadbc372.svg"
width="100%"
height="100%"/>
</initialLayout>
</appLayout>
</mainView>
添加到 XML 之后,<initialLayout>
元素其实是 VerticalLayout。
StandardMainView
Java API 也可以用来设置/获取初始布局:
-
getInitialLayout()
- 返回初始布局的根组件。 -
setInitialLayout()
- 设置初始布局的组件。
initialLayout
中的组件可以在 MainView
中注入,示例:
@ViewComponent
private JmixImage<Object> urlImage;
@Autowired
private Notifications notifications;
@Subscribe
public void onInit(final InitEvent event) {
urlImage.setSrc("https://www.jmix.io/uploads/framework_image_9efadbc372.svg");
urlImage.setWidth("100%");
urlImage.setHeight("100%");
}
@Subscribe(id = "urlImage", subject = "singleClickListener")
public void onUrlImageClick(final ClickEvent<JmixImage<?>> event) {
Notification.show("Clicked!");
}
XML 属性
id - alignItems - boxSizing - classNames - css - enabled - expand - height - justifyContent - margin - maxHeight - maxWidth - minHeight - minWidth - padding - spacing - themeNames - width
事件和处理器
在 Jmix Studio 生成处理器桩代码时,可以使用 Jmix UI 组件面板的 Handlers 标签页或者视图类顶部面板的 Generate Handler 添加,也可以通过 Code → Generate 菜单(Alt+Insert / Cmd+N)生成。 |
本页是否有帮助?
感谢您的反馈