So erstellen Sie eine benutzerdefinierte Dropdown-Feldkomponente mit Redux-Form V6?

8

Ich habe eine App, die form-schwer sein wird, und ich möchte so viel Kontrolle wie möglich haben, während ich so wenig Abhängigkeiten verwende, wie ich kann. Um dies zu tun, möchte ich die benutzerdefinierte Feldkomponenten-API von redox-form v6 nutzen und eine Reihe von benutzerdefinierten Komponenten erstellen, die ich nach Belieben einfügen kann. Eine dieser Komponenten ist eine Dropdown-Auswahl.

Das Problem besteht darin, dass die benutzerdefinierte Dropdown-Komponente keine Verbindung mit dem Status herstellt, obwohl sie ordnungsgemäß gerendert wird.

In den Dokumenten erreichen die Beispiele Folgendes:

%Vor%

Ich bin auf der Suche nach einem Plug-and-Play-Ansatz, bei dem ich eine Komponente einfügen und den Requisiten ein Array von Daten zuführen kann:

Form.js :

%Vor%

DropDownSelect.js:

%Vor%

Wenn ich Redux DevTools überprüfe, wird der Wert des Feldes nie ausgefüllt, wenn ich mit dem Dropdown-Menü interagiere:

Ich habe einen Wert für beide Felder gewählt, aber nur 'effDate' füllt einen Wert, während 'dropDownSelect' als registriertes Feld ohne Wert bleibt.

Bearbeiten:

Basierend auf dem Beispiel, denke ich, der Weg dahin ist wie folgt:

%Vor%

Dies funktioniert zunächst, obwohl es ideal wäre, wenn ich dies als eine komplett separate Komponente implementieren könnte (wie in der ersten Frage beschrieben), so dass ich Lebenszyklus-Haken nutzen kann, falls das Feld von anderen Feldern abhängt .

    
Kyle Truong 16.10.2016, 20:47
quelle

1 Antwort

9

Um eine separate benutzerdefinierte Komponente zu erstellen, die Drop-down-Auswahl übernimmt, musste ich die Requisiten "input" einfügen, um sie mit dem Form Reducer zu verbinden:

Benutzerdefinierte Komponente:

%Vor%

Feld:

%Vor%     
Kyle Truong 17.10.2016, 14:32
quelle