what's the best way to remove an item from signal form array
08:10 23 Jul 2026

imagine this form

import {Component, signal} from '@angular/core';
import {applyEach, FormField, form, min, required, SchemaPathTree} from '@angular/forms/signals';
type Item = {name: string; quantity: number};
interface Order {
  title: string;
  description: string;
  items: Item[];
}
function ItemSchema(item: SchemaPathTree) {
  required(item.name, {message: 'Item name is required'});
  min(item.quantity, 1, {message: 'Quantity must be at least 1'});
}
@Component(/* ... */)
export class OrderComponent {
  orderModel = signal({
    title: '',
    description: '',
    items: [{name: '', quantity: 0}],
  });
  orderForm = form(this.orderModel, (schemaPath) => {
    required(schemaPath.title);
    required(schemaPath.description);
    applyEach(schemaPath.items, ItemSchema);
  });
}

now we need to remove an item from the form array, is this the best way to do it?

  removeItem(index: number): void {
    this.orderModel().update((order) => {
      return {
        ...order,
        items: order.items.filter((_, i) => i !== index)
      }
    });
  }
angular angular-signal-forms