unbestimmtes Kontrollkästchen in JSX reaktivieren

8

Wie rende ich ein unbestimmtes Kontrollkästchen in JSX?

Folgendes habe ich versucht:

%Vor%

indeterminate ist jedoch kein Attribut für HTMLElement , sondern eine Eigenschaft . Wie setze ich Eigenschaften von React / JSX?

    
Peter V 21.08.2015, 11:43
quelle

5 Antworten

6

Sie können den Schritt componentDidMount (der nach dem anfänglichen Rendern aufgerufen wird) verwenden, um diese Eigenschaft festzulegen:

%Vor%

Wenn Sie möchten, dass diese Eigenschaft mit nachfolgenden Renderern aktualisiert wird, machen Sie dasselbe in componentDidUpdate auch.

    
manji 21.08.2015, 11:48
quelle
9

Ich würde wahrscheinlich eine zusammengesetzte Komponente erstellen, die die notwendigen Hooks einkapselt, um die Eigenschaft indeterminate des Kontrollkästchens zu setzen oder zu deaktivieren. Es sieht so aus, als ob Sie die ES2015-Syntax verwenden. Daher werde ich einige dieser Funktionen hier verwenden.

%Vor%

Arbeitsbeispiel: Ссылка

    
Michelle Tilley 21.08.2015 16:17
quelle
2

Eine Alternative wäre, ein Attribut ref mit einem Callback zu verwenden, um die Eigenschaft auf dem DOM-Knoten festzulegen. Zum Beispiel:

%Vor%     
Paul Weaver 14.01.2016 18:32
quelle
1

Ich würde vorschlagen, eine einfache Komponente zu erstellen (Code portiert von coffeescript, damit Sie sich Gedanken machen, vielleicht ein paar einfache Tippfehler):

%Vor%

Jetzt haben Sie eine einfache Komponente, die sich genau wie eine Checkbox verhält und die indeterminate prop unterstützt. Beachten Sie, dass hier viel Raum für Verbesserungen besteht, nämlich das Festlegen von propTypes und die richtigen Standardeinstellungen für einige Requisiten und natürlich das Implementieren von componentShouldUpdate , um nur bei Bedarf etwas zu tun.

    
kastermester 31.05.2016 09:56
quelle
-1

Reagieren v15-Implementierung:

%Vor%     
mpen 18.10.2016 04:12
quelle

Tags und Links