props property

  1. @override
List<Object?> get props

Equality is (type, name, writable) — meaningful only within a single container. name is a field key that's unique within one form or infolist, not globally, so two components from different resources, or from a form vs its infolist, can compare equal here while differing in every other property. Do not put components from different containers into the same Set or diff them against each other on this equality. writable is included: a /state round-trip can flip it on a field whose type and name are otherwise unchanged, and a rebuild that depends on that difference needs the equality to see it. translatable is included for the same reason writable is: it is what decides whether this leaf renders inside a locale-chip group at all.

Implementation

@override
List<Object?> get props => [type, name, writable, translatable];