2016-12-19 3 views
3

Erste Post hier, bitte etwas Geduld.Beste Möglichkeit, deaktivierte Felder auf Redux-Formular zu verfolgen

Ich habe diese Frage gesucht, konnte es aber nicht herausfinden.

Bitte berücksichtigen Sie ein Formular mit drei Textfeldern: A, B und C. Wenn A gefüllt ist, wird ein asynchroner Server-Abruf ausgelöst und das Ergebnis könnte die Werte von B oder C oder beides definieren. Wenn A vom Benutzer geändert wird, müssen die alten Werte von B e C gelöscht und ein neuer Abruf ausgelöst werden. So weit so gut. Ich schicke eine Änderungsaktion, wenn nötig, um B und C zu füllen (oder zu löschen).

Aber es gibt eine Regel. Wenn ein Feld durch den Server-Abruf gefüllt wird, muss es deaktiviert werden, so dass der Wert nicht direkt vom Benutzer geändert werden kann. Wenn nicht, muss es aktiviert bleiben, damit der Benutzer es füllen kann.

Was denken Sie, ist der beste Weg, um die Felder zu verfolgen, die deaktiviert werden müssen?

Soweit ich gesucht habe, Redux-Form tun dies nicht direkt.

Sollte ich diese Informationen auf einer getrennten Struktur im Redux-Zustand halten? Soll ich den reduktiven Zustand mit einem Reducer-Plugin erweitern? Wie soll ich einen neuen Aktionstyp zur Deaktivierung der einzelnen Felder senden?

Andere Option besteht darin, "AutoFill" anstelle von "Ändern" zu verwenden und Felder zu deaktivieren, die als automatisch ausgefüllt markiert sind.

Fehle ich eine wirklich einfache Lösung?

Dank

Antwort

0

Ich bin mir nicht sicher, ob eine „einfache“ Lösung dieses Problems gibt. Persönlich würde ich einen Zustand Reagieren schaffen, die den Überblick über den Zustand der B und C zu halten, vielleicht so etwas wie

{ 
    BGenerated: true, 
    CGenerated: true 
} 

und wenn Sie Ihre Field Eingabe machen, fügen Requisiten disabled={this.state.BGenerated}

Verwandte Themen