TLDR:使用defaultChecked而不是已检查的工作jsbin。

尝试设置一个简单的复选框,该复选框将在选中时划掉其标签文本。由于某些原因,当我使用组件时,不会触发handleChange。谁能解释我在做什么错?

var CrossoutCheckbox = React.createClass({

getInitialState: function () {

return {

complete: (!!this.props.complete) || false

};

},

handleChange: function(){

console.log('handleChange', this.refs.complete.checked); // Never gets logged

this.setState({

complete: this.refs.complete.checked

});

},

render: function(){

var labelStyle={

'text-decoration': this.state.complete?'line-through':''

};

return (

type="checkbox"

checked={this.state.complete}

ref="complete"

onChange={this.handleChange}

/>

{this.props.text}

);

}

});

用法:

React.renderComponent(CrossoutCheckbox({text: "Text Text", complete: false}), mountNode);

解:

使用checked不会使基础值(显然)发生变化,因此不会调用onChange处理程序。切换到defaultChecked似乎可以解决此问题:

var CrossoutCheckbox = React.createClass({

getInitialState: function () {

return {

complete: (!!this.props.complete) || false

};

},

handleChange: function(){

this.setState({

complete: !this.state.complete

});

},

render: function(){

var labelStyle={

'text-decoration': this.state.complete?'line-through':''

};

return (

type="checkbox"

defaultChecked={this.state.complete}

ref="complete"

onChange={this.handleChange}

/>

{this.props.text}

);

}

});

react改变checkbox的文字类型_React Checkbox不发送onChange相关推荐

  1. react改变checkbox的文字类型_reactjs – React复选框事件和处理程序的Typescript类型?...

    我在Typescript中构建类似 this React example的东西.目标是让父项具有状态,并创建几个无状态子组件,将其点击返回到父组件. 由于示例是在Javascript中,我不知道输入框 ...

  2. html 勾选框点击文字勾选,ztree点击文字勾选checkbox,radio实现方法

    ztree的复选框checkbok,单选框radio是用背景图片来模拟的,所以点击文字即使用label括起checkbox,radio文字一起,点击文字也是无法勾选checkbox. 要想点击ztre ...

  3. SecureCR 改变背景色和文字颜色

    SecureCR 改变背景色和文字颜色 1.打开SecureCR链接Linux服务器,Options->Session Options->Emulation->Terminal 选择 ...

  4. JQuery 判断checkbox是否选中,checkbox全选,获取checkbox选中值

    2019独角兽企业重金招聘Python工程师标准>>> JQuery是一个非常容易上手的框架,但是有很多东西需要我们深入学习的. 判断checkbox是否被选中网上有选多种写法,这里 ...

  5. android listview 中的checkbox,Android中ListView与CheckBox的使用,及问题解决

    最近自己在编写有关SIM卡管理的软件做练习,其中使用到了ListView与CheckBox的的组合,遇到了和大家有同样的问题: 1.选中一个checkbox对应位置的其他checkbox也会被选中 2 ...

  6. Overload重載和Override重写的区别。Overloaded的方法是否可以改变返回值的类型?

    Overload是重载的意思,Override是覆盖的意思,也就是重写. 重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同). 重写Ove ...

  7. PHP中获取CHECKBOX提交的内容及checkbox全选

    提交页 //js控制全选/取消全选 <script type="text/javascript"> function check_all(obj,cName) { va ...

  8. 找不到模块“react”或其相应的类型声明。ts(2307)

    开发过程中发现ts报错如下: 找不到模块"react"或其相应的类型声明.ts(2307) 解决办法: 这种ts报错是项目中ts版本与vscode中的ts版本不匹配导致的; 不要使 ...

  9. 改变输出的文字的字体格式

    在ObjectARX对CAD进行二次开发时,如果你想改变输出的文字的字体格式,可以用下面语句进行设置  AcDbTextStyleTable *pTextStyleTbl;     acdbHostA ...

最新文章

  1. [转] 视频直播前端方案
  2. Tensorflow矩阵过大问题的解决
  3. Condition.doSignal
  4. UVA 11100 The Trip, 2007
  5. php format tool,iFormatTool
  6. C++移动构造函数以及move语句简单介绍
  7. 算法竞赛入门经典(第二版)答案——第一部分
  8. Linux内核研究系列之可执行文件格式(转)
  9. ROBOGUIDE软件:FANUC机器人弧焊焊接系统配置与虚拟仿真
  10. 音乐推荐系统协同过滤算法解释
  11. 提高效率5款多功能实用软件推荐
  12. cad线性标注样式修改在哪里_自定义设置CAD标注样式教程
  13. 百度推送网站url到搜索引擎方式 : 主动推送sitemap
  14. java replica set_kubernetes ReplicaSet的简单使用
  15. 摊铺机基本参数介绍(鼎盛天工WTD9501A)
  16. ChinaSoft 论坛巡礼 | 高可信嵌入式软件工程技术论坛
  17. 永信至诚蓝莲花绽放2016“启明星辰杯”四川大学生信息安全技术大赛
  18. 老板心血来潮要自己搞低代码平台?这个开源项目试一试!
  19. python面向对象:光学元件类的实现
  20. 直接从硬盘安装 win10 系统

热门文章

  1. 设计灵感|纯文字排版也能让海报引人注目
  2. 电商页面设计需要的素材模板|好的模板就是好的参考
  3. 设计师交流分享社区|灵感并非凭空得来,积累在集设网
  4. 限时抢购促销海报设计没想法,看这里!眼见的倒计时紧迫感
  5. 设计干货|菜单 - 导航UI移动版模板
  6. 使用持久内存开发工具包 (PMDK) 创建持久内存感知队列
  7. CPU Cache Line伪共享问题的总结和分析
  8. C MySql封装类 高性能连接池_在vc中通过连接池操作mysql(api方式),附c++访问mysql的封装类...
  9. centos网络隔一段时间就断_如果是中专学历,以后做网络工程师会有瓶颈吗?
  10. OpenCV之图像的运算(笔记05)