defineView() 随你的应用一起提供预配置的视图。
每个对象都会自动获得其主列表视图(服务器预置的“全部 …”表格,即 OBJECT 导航项打开的视图)——包括你的应用创建的对象,其中每个字段对应一列。 你使用 defineView() 定义的视图始终是基于该默认视图之上的附加视图。
src/views/example-view.ts
关键点
objectUniversalIdentifier指定此视图适用于哪个对象。 它可以是你定义的自定义对象,也可以是标准的 Twenty 对象。- 对象的主列表视图由服务器拥有:
key已被弃用并会被忽略,因此清单视图永远无法声明它。 如果你希望你的视图在侧边栏中只需一次点击即可访问,请提供一个VIEW导航项。 fields控制显示哪些列以及它们的顺序。 每个字段引用一个fieldMetadataUniversalIdentifier。 若要引用自动创建的系统字段(例如createdAt),请参阅定位系统元数据。- 你还可以声明
filters、filterGroups、sorts、groups和fieldGroups以进行更高级的配置。 - 当同一对象存在多个视图时,
position控制其排序。
可选属性
上述所有枚举都从
twenty-sdk/define 导出。
过滤器
视图可以附带预先应用的过滤器。 每个过滤器有三个坐标:被筛选的字段、运算符(如何比较)以及值(与之比较的内容)。 这三者必须全部对齐——在同步时,使用不适用于字段类型的运算符将会被拒绝。各字段类型支持的运算符
名称相似的字段类型可以使用完全不同的运算符 ——SELECT和MULTI_SELECT就是常见情况。
每个运算符对应的值结构
value 字段始终是可序列化为 JSON 的值,但其期望的结构取决于所使用的运算符:
视图在 UI 中如何显示
单独一个视图无法从侧边栏访问。 要让它显示在侧边栏中,请将其与类型为VIEW、指向该视图 universalIdentifier 的导航菜单项配对。 这是规范用法:每个自定义对象通常都会提供一个默认视图,以及一个在侧边栏中打开该视图的条目。