initialLayout 初始布局

initialLayout 组件在 主视图 中还没有打开任何视图时显示的默认内容。

XML 元素

initialLayout

Java 类

VerticalLayout

基本用法

initialLayout 是 appLayout 的内部组件。

在 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 属性

initialLayout 支持 通用组件属性 以及 vbox 所支持的布局属性。

事件和处理器

下面是 initialLayout 的特殊事件和处理器:

名称 描述

ClickEvent

当用户点击布局时触发。

下面是 initialLayout 支持的其他通用事件:

XML 内部元素

initialLayout 可以包含任意组件和布局。