javascript - reactjs 更改defaultChecked无效
PHPz
PHPz 2017-04-10 15:53:28
[JavaScript讨论组]

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

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

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

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


感谢回复.

PHPz
PHPz

学习是最好的投资!

全部回复(3)
黄舟

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

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

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

PHPz

没人知道吗?

ringa_lee

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


像这样

 <input type="checkbox" defaultChecked={data.selected} checked={data.selected} onClick={clickHandler}/>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号