Mam problem ze zaktualizowaniem stanu pola wyboru po przypisaniu mu wartości domyślnej checked="checked"
w Reakcie.
var rCheck = React.createElement('input',
{type: 'checkbox', checked:'checked', value: true},
'Check here');
Po przypisaniu checked="checked"
nie mogę zmienić stanu pola wyboru, klikając, aby odznaczyć / zaznaczyć.
Odpowiedzi:
Aby wejść w interakcję z polem, musisz zaktualizować stan pola wyboru po jego zmianie. I mieć domyślne ustawienie, którego możesz użyć
defaultChecked
.Przykład:
źródło
render
z powyższym<input>
elementem.defaultChecked
Mogą być dostarczone jako param jakchecked
JEST.Można to osiągnąć na kilka sposobów, oto kilka:
Napisane przy użyciu hooków stanu :
Oto prezentacja na żywo w JSBin .
Napisane przy użyciu składników :
Oto prezentacja na żywo w JSBin .
źródło
Jeśli pole wyboru jest utworzone tylko za
React.createElement
pomocą,defaultChecked
używana jest właściwość .Kredyt dla @nash_ag
źródło
Lub
Sprawdź więcej szczegółów dotyczących
defaultChecked
pola wyboru poniżej: https://reactjs.org/docs/uncontrolled-components.html#default-valuesźródło
oprócz poprawnej odpowiedzi możesz po prostu zrobić: P
źródło
checked
.Działa
I uruchom go
źródło
Możesz przekazać "true" lub "" do zaznaczonej właściwości pola wyboru wejścia. Puste cudzysłowy („”) zostaną uznane za fałsz i pozycja zostanie odznaczona.
źródło
true
dla atrybutu logicznegochecked
. Chociaż to działa, nie będzie działać zgodnie z oczekiwaniami, jeśli przekażesz ciąg„ fałsz ”. Czy chodziło Ci o zaznaczone = {prawda}? "W moim przypadku czułem, że „defaultChecked” nie działa poprawnie ze stanami / warunkami. Więc użyłem "zaznaczone" z "onChange" do przełączania stanu.
Na przykład.
źródło
Oto kod, który zrobiłem jakiś czas temu, może się przydać. musisz grać z tą linią => this.state = {zaznaczone: fałszywe, sprawdzone2: prawdziwe};
CSS
HTML
oto codepen => http://codepen.io/parlop/pen/EKmaWM
źródło
Nie utrudniaj tego zbytnio. Najpierw zrozum prosty przykład podany poniżej. To będzie dla ciebie jasne. W takim przypadku zaraz po naciśnięciu checkboxa pobierzemy wartość ze stanu (początkowo jest to fałsz), zmienimy na inną wartość (początkowo jest to prawda) i odpowiednio ustawimy stan. Jeśli pole wyboru zostanie naciśnięte po raz drugi, powtórzy ten sam proces. Pobierając wartość (teraz jest to prawda), zmień ją (na fałsz), a następnie ustaw odpowiednio stan (teraz znowu jest fałszywa. Kod jest udostępniony poniżej.
Część 1
Część 2
Część 3
źródło
można to zrobić za pomocą czystego js
źródło
uchwyt Powyższe podaje wartość true lub false po zaznaczeniu lub unChecked
źródło
Ustawiam stan jako dowolny typ []. iw konstruktorze ustaw stan na null.
W elemencie wejściowym
this.onServiceChange (e)} /> this.onServiceChange (e)} /> this.onServiceChange (e)} /> this.onServiceChange (e)} />
Po jakimś czasie doszedłem do tego. Pomyślałem, że to może wam pomóc :)
źródło