Eigenschaften der Figma-Komponente

Relay erkennt Eigenschaften der Figma-Komponenten, die in gepackten Komponenten definiert wurden. Vom Konzept her ähneln die Eigenschaften der Figma-Komponenten den Relay-Parametern, es gibt jedoch einige Unterschiede.

Diagramm – Vektorebenen in VectorDrawable zu einem Bild

Im Allgemeinen ist für die Konfiguration und Verwendung der Figma-Komponenten-Eigenschaften kein Relay-Plug-in erforderlich. Daher ist es besser, sie in Relay-Parametern zu verwenden, wenn es Überschneidungen gibt. Beachten Sie jedoch, dass Relay-Parameter einen beschreibenden Kommentar ermöglichen, der in den generierten Code übernommen wird. Die Eigenschaften der Figma-Komponenten tun dies nicht.

Im Folgenden finden Sie weitere Informationen zu den verschiedenen Property-Typen von Komponenten und dazu, wie sie von Relay interpretiert werden.

Boolesche Attribute

Boolesche Eigenschaften bestimmen, ob Elemente in einem bestimmten Design angezeigt werden. Sie können die Anzahl der Varianten, die eine Komponente definieren muss, erheblich reduzieren. Bei einer Schaltfläche mit einem optionalen Symbol sind beispielsweise keine unterschiedlichen Varianten für den angezeigten Status und den ausgeblendeten Symbol erforderlich.

Relay berücksichtigt boolesche Parameter in gepackten Komponenten und generiert die entsprechende @Composable-Funktionssignatur.

Texteigenschaften

Texteigenschaften sind fast identisch mit Relay-Textinhaltsparametern. Der einzige Unterschied ist die Unterstützung für Dokumentationskommentare. Wenn sowohl Relay-Parameter als auch Texteigenschaften auf derselben Ebene deklariert sind, verwendet Relay die Parameterdefinition, um Kommentare zuzulassen. In diesem Fall sollten Sie jedoch vorsichtig vorgehen, um Verwechslungen zu vermeiden, indem Sie einheitliche Namen verwenden.

Wenn für einen bestimmten Parameter keine Kommentare erforderlich sind, empfehlen wir der Einfachheit halber die Verwendung einer Figma-Texteigenschaft.

Attribute des Instanzaustauschs

Die Eigenschaften der Instanzauslagerung ermöglichen es Clients einer Komponente, Instanzen innerhalb eines untergeordneten Elements auszutauschen. Das ähnelt dem Konzept der untergeordneten Relay-Parameter, es gibt jedoch einige kritische Unterschiede:

Anwendbarkeit: Die Eigenschaften für den Instanzaustausch können nur auf Instanzebenen angewendet werden. Untergeordnete Relay-Parameter können jedoch auf Instanzen, Frames oder Gruppen angewendet werden. Daher ist es erforderlich, dass die ausgetauschten Inhalte selbst eine Komponente sind, um die Instanzauslagerungseigenschaften verwenden zu können. Bei Relay können die Inhalte hingegen einer beliebigen untergeordneten Hierarchie von Ebenen zugewiesen werden.

Umfang: Bei Eigenschaften für den Instanzaustausch kann der Wert nur auf der obersten Ebene der Komponente in einer Komponentenhierarchie festgelegt werden. Untergeordnete Relay-Parameter werden dagegen auf jeder Ebene in der Hierarchie festgelegt, auf der der Parameter nicht für die übergeordnete Ebene freigegeben ist.

Das Relay erkennt die für gepackten Komponenten deklarierten Eigenschaften für den Instanzwechsel und behandelt sie so weit wie möglich wie untergeordnete Parameter (z. B. Ausgabe derselben Funktionssignatur in generierten Code). Wenn ein untergeordneter Relay-Parameter auf einer Instanzebene deklariert wird, hat seine Definition Vorrang vor der auf dieser Ebene deklarierten Eigenschaft für die Auslagerung der Instanz (sofern vorhanden).

Wie bei Texteigenschaften kann die Verwendung einer Figma-Komponenteneigenschaft und eines Relay-Parameters auf derselben Ebene zu Verwirrung führen, wenn die Benennung nicht einheitlich ist. Da untergeordnete Parameter jedoch erhebliche Unterschiede bei den Möglichkeiten zum Austausch von Instanzen haben, gibt es keine pauschale Empfehlung, wo und welche verwendet werden sollten. Beides sind Möglichkeiten. Die bestimmungsgemäße Verwendung der Komponente fließt in diese Entscheidung ein.

Variantenattribute

Varianteneigenschaften werden implizit erstellt, wenn Komponenten mehr als eine Variante haben. Relay unterstützt Varianteneigenschaften, indem sie im generierten Code in ENUM-Werte übersetzt werden.

Designer können auch Relay-Parameter deklarieren, die die Varianteneigenschaften für Instanzebenen in einer gepackten Komponente verfügbar machen.