展示动态属性
当项目中安装了动态属性扩展组件,则创建新的详情视图或列表视图时,可以使用 dynamicAttributes facet。
在视图展示动态属性的另一个方法就是使用 DynamicAttributesPanel。
使用 dynamicAttributes Facet
dynamicAttributes
facet 支持在 DataGrid
或 FormLayout
组件中展示动态属性,这两种组件需要绑定包含动态属性实体的数据容器。
在界面 XML 中的 facets
部分添加 dynamicAttributes
facet:
<view xmlns="http://jmix.io/schema/flowui/view"
xmlns:dynattr="http://jmix.io/schema/dynattr/flowui"
title="msg://carDetailView.title"
focusComponent="form">
<facets>
<dynattr:dynamicAttributes/>
<dataLoadCoordinator auto="true"/>
</facets>
<!--...-->
</view>
然后,需要在 Category attribute detail(分类属性编辑) 视图的 可见性 标签页选择此界面。
使用 DynamicAttributesPanel
如果实体实现了 Categorized
接口,则可以使用 DynamicAttributesPanel
组件来显示该实体的动态属性。此组件支持为特定实体实例选择分类,并指定此分类的动态属性的值。
如需在详情视图中使用 DynamicAttributesPanel
组件,请按照下列步骤:
-
确保在带分类实体的 fetch plan 中,包含了
category
属性:<data> <instance id="carDc" class="com.company.demo.entity.Car"> <fetchPlan extends="_base"> <property name="category" fetchPlan="_base"/> </fetchPlan> <loader/> </instance> </data>
-
在视图中添加
dynamicAttributesPanel
可视化组件:<layout> <formLayout id="form" dataContainer="carDc"> <textField id="numberField" property="number"/> <textField id="modelField" property="model"/> <dynattr:dynamicAttributesPanel dataContainer="carDc" categoryFieldVisible="true"/> </formLayout> <!--...--> </layout>
本页是否有帮助?
感谢您的反馈