Estou com problemas para atualizar o estado da caixa de seleção depois que ele é atribuído com o valor padrão checked="checked"
em React.
var rCheck = React.createElement('input',
{type: 'checkbox', checked:'checked', value: true},
'Check here');
Após a atribuição checked="checked"
, não consigo interagir com o estado da caixa de seleção clicando para desmarcar / marcar.
Respostas:
Para interagir com a caixa, você precisa atualizar o estado da caixa de seleção depois de alterá-la. E para ter uma configuração padrão, você pode usar
defaultChecked
.Um exemplo:
fonte
render
com o<input>
elemento acima . OdefaultChecked
pode ser fornecido como um parâmetrochecked
.Existem algumas maneiras de conseguir isso, eis algumas:
Escrito usando ganchos de estado :
Aqui está uma demonstração ao vivo no JSBin .
Escrito usando componentes :
Aqui está uma demonstração ao vivo no JSBin .
fonte
Se a caixa de seleção for criada apenas com
React.createElement
, a propriedadedefaultChecked
será usada.Crédito para @nash_ag
fonte
Ou
Confira mais detalhes sobre
defaultChecked
a caixa de seleção abaixo: https://reactjs.org/docs/uncontrolled-components.html#default-valuesfonte
Além da resposta correta, você pode simplesmente fazer: P
fonte
checked
.Está funcionando
E a função init it
fonte
Você pode passar "true" ou "" para a propriedade marcada da caixa de seleção de entrada. As aspas vazias ("") serão entendidas como falsas e o item será desmarcado.
fonte
true
para o atributo booleanochecked
. Embora isso funcione, ela não funcionará conforme o esperado se você passar a sequência" false ". verificado = {verdadeiro}? "No meu caso, senti que "defaultChecked" não estava funcionando corretamente com estados / condições. Então, usei "marcado" com "onChange" para alternar o estado.
Por exemplo.
fonte
Aqui está um código que fiz há algum tempo, pode ser útil. você tem que brincar com esta linha => this.state = {marcada: falsa, verificada2: verdadeira};
CSS
HTML
aqui está o codepen => http://codepen.io/parlop/pen/EKmaWM
fonte
Não dificulte demais. Primeiro, entenda um exemplo simples dado abaixo. Ficará claro para você. Nesse caso, logo após pressionar a caixa de seleção, pegaremos o valor do estado (inicialmente é falso), alteramos para outro valor (inicialmente é verdade) e definiremos o estado de acordo. Se a caixa de seleção for pressionada pela segunda vez, ele fará o mesmo processo novamente. Agarrando o valor (agora é verdadeiro), altere-o (para falso) e defina o estado de acordo (agora é falso novamente. O código é compartilhado abaixo.
Parte 1
Parte 2
Parte 3
fonte
isso pode ser feito com js puros
fonte
o identificador acima fornece o valor de verdadeiro ou falso após verificado ou não verificado
fonte
Defino o estado como qualquer tipo []. e no construtor, defina o estado como nulo.
No elemento de entrada
this.onServiceChange (e)} /> this.onServiceChange (e)} /> this.onServiceChange (e)} /> this.onServiceChange (e)} />
Eu descobri isso depois de algum tempo. Pensei que poderia ajudar vocês :)
fonte