1.8 KiB
1.8 KiB
定义组件对象
通过OakComponent接口可以定义一个组件对象。在前几章,我们已经看到部分重要的定义配置项,完整的配置项及格式可以参见oak-frontend-base/src/types/Page.ts文件。在编写代码时,typescript也会给出有效的提示。在本章节我们将归纳并进一步介绍部分配置项,以及组件本身可引用的数据项和方法。
配置项
| 配置项 | 类型 | 作用 |
|---|---|---|
| entity | string | () => string | 组件关联的Entity |
| isList | boolean | 组件是否为列表页 |
| projection | object | () => object | 组件所取的Entity属性 |
| filters | array | 组件取Entity的过滤条件(仅对list组件有效) |
| sorters | array | 组件取Entity的排序(仅对list组件有效) |
| pagination | object | 组件取Entity的分页设置(仅对list组件有效) |
| getTotal | number | object | 组件取Entity时,取满足条件的行总数设置(仅对list组件有效) |
| properties | object | 组件接受的props |
| data | object | 组件自身的data(React中的state) |
| features | array | 组件需要监听哪些features的变化 |
| actions | array | 组件需要检查哪些actions的许可 |
| singleton | boolean | 组件是否单实例 |
| formData | function | 组件处理取到的Entity数据 |
| methods | Record<string, function> | 组件自身定义的方法 |
关于projection/filters/sorters的格式,请了解Entity相关章节(todo),在这里不再展开讨论。一些通过typescript定义很容易理解其语义的配置也不再展开解释。