Saya mengalami masalah untuk memperbarui status kotak centang setelah ditetapkan dengan nilai default checked="checked"
di Bereaksi.
var rCheck = React.createElement('input',
{type: 'checkbox', checked:'checked', value: true},
'Check here');
Setelah menetapkan checked="checked"
, saya tidak dapat berinteraksi dengan kotak centang dengan mengklik untuk menghapus centang / centang.
Jawaban:
Untuk berinteraksi dengan kotak, Anda perlu memperbarui status untuk kotak centang setelah Anda mengubahnya. Dan untuk memiliki pengaturan default bisa Anda gunakan
defaultChecked
.Sebuah contoh:
sumber
render
dengan<input>
elemen di atas . ThedefaultChecked
dapat diberikan sebagai param sepertichecked
is.Ada beberapa cara untuk mencapai ini, inilah beberapa:
Ditulis menggunakan State Hooks :
Berikut ini adalah demo langsung di JSBin .
Ditulis menggunakan Komponen :
Berikut ini adalah demo langsung di JSBin .
sumber
Jika kotak centang dibuat hanya dengan
React.createElement
properti makadefaultChecked
digunakan.Kredit ke @nash_ag
sumber
Atau
Silakan cek lebih detail mengenai
defaultChecked
kotak centang di bawah ini: https://reactjs.org/docs/uncontrolled-components.html#default-valuessumber
selain jawaban yang benar Anda bisa melakukan: P
sumber
checked
.Itu berhasil
Dan berfungsi di dalamnya
sumber
Anda dapat meneruskan "true" atau "" ke properti yang dicentang dari kotak centang masukan. Kutipan kosong ("") akan dipahami sebagai salah dan item tidak akan dicentang.
sumber
true
untuk atribut booleanchecked
. Meskipun ini berfungsi, itu tidak akan berfungsi seperti yang diharapkan jika Anda meneruskan string" false ". Maksud Anda checked = {true}? "Dalam kasus saya, saya merasa bahwa "defaultChecked" tidak berfungsi dengan benar dengan kondisi / kondisi. Jadi saya menggunakan "diperiksa" dengan "onChange" untuk mengubah status.
Misalnya.
sumber
Ini kode yang saya lakukan beberapa waktu lalu, mungkin berguna. Anda harus bermain dengan baris ini => this.state = {checked: false, checked2: true};
CSS
HTML
inilah codepen => http://codepen.io/parlop/pen/EKmaWM
sumber
Jangan membuatnya terlalu sulit. Pertama, pahami contoh sederhana yang diberikan di bawah ini. Ini akan jelas bagi Anda. Dalam hal ini, tepat setelah menekan kotak centang, kami akan mengambil nilai dari keadaan (awalnya itu salah), mengubahnya ke nilai lain (awalnya itu benar) & mengatur negara sesuai. Jika kotak centang ditekan untuk kedua kalinya, itu akan melakukan proses yang sama lagi. Meraih nilainya (sekarang benar), ubah (menjadi salah) & kemudian setel statusnya (sekarang salah lagi. Kode dibagikan di bawah ini.
Bagian 1
Bagian 2
Bagian 3
sumber
ini dapat dilakukan dengan js murni
sumber
pegangan Di Atas memberi Anda nilai benar atau salah pada saat dicentang atau tidak dicentang
sumber
Saya menetapkan status sebagai tipe [] apa pun. dan dalam konstruktor atur status ke nol.
Pada elemen input
this.onServiceChange (e)} /> this.onServiceChange (e)} /> this.onServiceChange (e)} /> this.onServiceChange (e)} />
Saya menemukan jawabannya setelah beberapa waktu. Kupikir itu mungkin membantu kalian semua :)
sumber