Example uses:
Admin panel screenshot of an Array field with a Row containing two text fields, a read-only text field and a checkbox
Option | Description |
---|---|
name * | To be used as the property name when stored and retrieved from the database. |
label | Used as a heading in the Admin panel and to name the generated GraphQL type. |
fields * | Array of field types to correspond to each row of the Array. |
validate | Provide a custom validation function that will be executed on both the Admin panel and the backend. More |
saveToJWT | If this field is top-level and nested in a config supporting Authentication, include its data in the user JWT. |
hooks | Provide field-based hooks to control logic for this field. More |
access | Provide field-based access control to denote what users can see and do with this field's data. More |
hidden | Restrict this field's visibility from all APIs entirely. Will still be saved to the database, but will not appear in any API or the Admin panel. |
defaultValue | Provide an array of row data to be used for this field's default value. |
localized | Enable localization for this field. Requires localization to be enabled in the Base config. If enabled, a separate, localized set of all data within this Array will be kept, so there is no need to specify each nested field as localized . |
required | Require this field to have a value. |
labels | Customize the row labels appearing in the Admin dashboard. |
admin | Admin-specific configuration. See the default field admin config for more details. |
* An asterisk denotes that a property is required.
collections/ExampleCollection.js
{slug: 'example-collection',fields: [{name: 'slider', // requiredtype: 'array', // requiredlabel: 'Image Slider',minRows: 2,maxRows: 10,labels: {singular: 'Slide',plural: 'Slides',},fields: [ // required{name: 'image',label: 'Image',type: 'upload',relationTo: 'media',required: true,},{name: 'caption',label: 'Caption',type: 'text',}]}]}