如何在KeystoneJS Admin App中指定Fieldset?
Keystone v5 Admin App FieldSet配置方案
Keystone v5的Admin App完全支持自定义FieldSet(字段分组),你可以通过列表配置的fieldsets属性将所有SEO相关字段归类到同一分组下,具体实现方案如下:
实现步骤
- 在对应列表的
createList配置中新增fieldsets属性,该属性接收一个数组,每个数组元素对应一个字段分组 - 每个分组配置包含
label(分组在Admin页展示的名称)和fields(该分组下包含的字段名数组)两个必填属性 - 将所有SEO相关字段的字段名统一放入同一个分组的
fields数组中即可完成归类
配置示例
const { Keystone } = require('@keystonejs/keystone'); const { Text } = require('@keystonejs/fields'); keystone.createList('Article', { // 字段定义 fields: { title: { type: Text, label: '文章标题' }, content: { type: Text, label: '文章内容' }, // SEO相关字段 seoTitle: { type: Text, label: 'SEO标题' }, seoDesc: { type: Text, label: 'SEO描述' }, seoKeywords: { type: Text, label: 'SEO关键词' }, shareImg: { type: Text, label: '社交分享图' }, }, // 字段分组配置 fieldsets: [ { label: '基础内容', fields: ['title', 'content'] }, { label: 'SEO设置', fields: ['seoTitle', 'seoDesc', 'seoKeywords', 'shareImg'], collapsed: true // 可选配置:设置为true时该分组默认收起 } ] });
注意事项
所有在
fields中定义的字段必须被分配到至少一个FieldSet中,未被分配的字段不会在Admin编辑页面展示。如果有不需要分组的字段,可以新增一个无label的分组存放,也可以放到通用分组下。
内容的提问来源于stack exchange,提问作者acmoune
相关产品推荐
相关产品推荐

