recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - reactjs 更改defaultChecked无效

尝试改变 data.selected 的值 true false, 结果无效. 始终是默认第一次状态.

                    <input type="checkbox" defaultChecked={data.selected} onClick={clickHandler}/>

查看chrome的react的结构, 属性defaultChecked已经改变了.

难道只能用 checked 通过state方式改变吗??那样还的监听函数动态设置state值太过繁琐了.


感谢回复.

PHPzPHPz2794 Il y a quelques jours671

répondre à tous(3)je répondrai

  • 黄舟

    黄舟2017-04-10 15:55:28

    defaultChecked 只有在初始化的时候才生效,后期你修改这个值是没用的。
    如果你嫌麻烦可以用 LinkedStateMixin 来实现双向绑定:

    <input type="checkbox" checkedLink={this.linkState('booleanValue')} />

    参考官方文档 - Two-Way Binding Helpers

    répondre
    0
  • PHPz

    PHPz2017-04-10 15:55:28

    没人知道吗?

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-10 15:55:28

    很简单,你再设置一个checked属性,绑定和defaultChecked同样的值,这样在组件第一次渲染的时候显示的是defaultChecked,后面你的state改变defaultChecked无效,checked会生效。


    像这样

     <input type="checkbox" defaultChecked={data.selected} checked={data.selected} onClick={clickHandler}/>
    

    répondre
    0
  • Annulerrépondre