Detail 页面下的 Table 容器获取数据
如下图所示:一个页面存在详情和列表,两个数据容器之间需要进行关联。

实现方式
- 使用[dataParams]
- 使用lookupFrom关联。
dataParams
主要是用在列表模型的字段包含详情模型的字段,如:每个部门人员都属于某个部门
@Data@Model(name = "部门人员")public class Person extends BaseModel<Long> {
@Field(name = "部门") @LinkMeta private Department department;} <Detail key="department" model="trantor_doc_Department"> <Fields> <Field name="name" /> </Fields> </Detail><!-- 通过 DataStore 获取数据--> <Table title="部门人员" model="trantor_doc_Person" dataCondition="department.id = ?" dataParams="[#department.data.id]"> <Fields> <Field name="name" /> <Field name="age" /> </Fields> </Table><!-- 通过 LogicFunction 获取数据--> <Table title="部门人员" model="trantor_doc_Person" dataFunction="base_xxxxx" dataParams="{departmentId: #department.data.id}"> <Fields> <Field name="name" /> <Field name="age" /> </Fields> </Table>lookupFrom
主要是用在详情模型包含列表模型的字段List,如:一个部门下有很多员工
注意:
- lookUpFrom不支持分页。
- lookUpFrom 属性可以将某个表单的值用作另外一个表单的字段提交,在多个 Form 一起提交的场景非常有用。
@Data@Model(name = "部门")public class Department extends BaseModel<Long> {
@Field(name = "员工列表") @LinkMeta private List<Staff> staff;}<View version="2" title="lookupFrom"> <Form title="部门信息" key="department" model="trantor_doc_Department"> <Fields> <Field name="name" /> </Fields> </Form>
<!-- lookUpFrom 属性可以将某个表单的值用作另外一个表单的字段提交,在多个 Form 一起提交的场景非常有用。 --> <TableForm title="部门人员" model="trantor_doc_Person" lookupFrom="department.staff"> <Fields> <Field name="name" /> <Field name="age" /> </Fields> </TableForm>
<!-- 也可做单纯的关联 --> <Table title="部门人员" model="trantor_doc_Person" lookupFrom="department.staff"> <Fields> <Field name="name" /> <Field name="age" /> </Fields> </Table></View>实现示例
lookupFrom
lookUpFrom 属性可以将某个表单的值用作另外一个表单的字段提交,在多个 Form 一起提交的场景非常有用。
注意:当前例子为0.17.x 版本