# Perspective Form Control Data Concurrency

**URL:** <https://forum.inductiveautomation.com/t/perspective-form-control-data-concurrency/115607>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [May 19, 2026, 8:20pm UTC](https://forum.inductiveautomation.com/t/perspective-form-control-data-concurrency/115607 "2026-05-19T20:20:15Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Phillip\_Jackson](https://avatars.discourse-cdn.com/v4/letter/p/f04885/32.png) [@Phillip\_Jackson](https://forum.inductiveautomation.com/u/Phillip_Jackson)\
**Post date:** [May 19, 2026, 8:20pm UTC](https://forum.inductiveautomation.com/t/perspective-form-control-data-concurrency/115607/1 "2026-05-19T20:20:15Z")

</div>

It seems like the data property of the perspective form control updates as fields are filled out, I assume by handling an onChange event. However, I'm attempting to dynamically add and remove rows/widgets. Removing a widget doesn't appear to trigger the onChange event and thus the associated data property keys are not removed when the row or widget(s) are.

I'm pretty sure I can create an indexing system or widget dictionary to figure out what is what and clean it up manually, but it seems a little messy. That said, I'm curious if anyone has come up with a clever and simple way to manage concurrency between dynamic widgets and the form's data property?

---

<div class="post-metadata">

**Author:** ![kvaneenennaam](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kvaneenennaam/32/81819_2.png) [@kvaneenennaam](https://forum.inductiveautomation.com/u/kvaneenennaam)\
**Post date:** [May 19, 2026, 11:00pm UTC](https://forum.inductiveautomation.com/t/perspective-form-control-data-concurrency/115607/2 "2026-05-19T23:00:32Z")

</div>

I am also interested. While tinkering with 8.3 forms I ran into the same concern but have not found a clean solution. For now, we ended using a form-like embedded view to handle an infinite-widget form.
