# Perspective Component Properties: Array Instance Defaults

**URL:** <https://forum.inductiveautomation.com/t/perspective-component-properties-array-instance-defaults/110938>\
**Category:** Module Development\
**Tags:** ignition81, perspective\
**Created:** [September 24, 2025, 7:07pm UTC](https://forum.inductiveautomation.com/t/perspective-component-properties-array-instance-defaults/110938 "2025-09-24T19:07:58Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![EthanLucas](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ethanlucas/32/77408_2.png) [@EthanLucas](https://forum.inductiveautomation.com/u/EthanLucas)\
**Post date:** [September 24, 2025, 7:07pm UTC](https://forum.inductiveautomation.com/t/perspective-component-properties-array-instance-defaults/110938/1 "2025-09-24T19:07:58Z")

</div>

Greetings,

The FlexRepeater component has a feature where new instances added to the “instances“ array have default properties, as shown below.

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/b/cb15cf17afe8baae0bb8cd202f0bb2fedabc38e4.png)

I’m having trouble mimicking this functionality. I haven’t found an example in the json schemas in the example projects or in other forum posts.

Is it possible to learn this power? If so, what would the schema look like?

---

<div class="post-metadata">

**Author:** ![bmusson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bmusson/32/87530_2.png) [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Post date:** [September 24, 2025, 8:36pm UTC](https://forum.inductiveautomation.com/t/perspective-component-properties-array-instance-defaults/110938/2 "2025-09-24T20:36:17Z")

</div>

You’re looking for the `items` property; this will specify the schema of your array items.

Here’s my flex-repeater for reference:

> <https://github.com/mussonindustrial/embr/blob/8.1/main/modules/periscope/common/src/main/resources/schemas/components/embr.periscope.embedding.flex-repeater/props.json>

---

<div class="post-metadata">

**Author:** ![EthanLucas](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ethanlucas/32/77408_2.png) [@EthanLucas](https://forum.inductiveautomation.com/u/EthanLucas)\
**Post date:** [September 25, 2025, 12:47pm UTC](https://forum.inductiveautomation.com/t/perspective-component-properties-array-instance-defaults/110938/3 "2025-09-25T12:47:26Z")

</div>

Thanks! That was exactly what I needed.

For future reference, should I or anyone else be searching the forums for this topic, the following is a simple implementation and its result.

I did have to do a clean build for it to take effect.

```python
{
  "type": "object",

  "required": [
    "schema"
  ],

  "$defs": {
    "recipe_schema_item": {
      "type": "object",
      "properties": {
        "colType": {
          "type": "string",
          "enum": [
            "string",
            "setpoint",
            "control word",
            "boolean"
          ],
          "description": "column type within the recipe schema",
          "default": "string"
        }
      }
    }
  },

  "properties": {
    "schema": {
      "type": "array",
      "description": "names, setpoints, control words, and booleans per step",
      "default": [],
      "items": {
        "$ref": "#/$defs/recipe_schema_item"
      }
    },

    "style": {
      "$ref": "urn:ignition-schema:schemas/style-properties.schema.json",
      "default": {
        "classes": ""
      }
    }
  }
}

```

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/c/1c64e6b4d597f5acd5eb9a0e2c5d1e0de9399522.png)
