react改变checkbox的文字类型_React复选框不发送onChange

本文探讨了在React中如何正确处理复选框(Checkbox)的文本样式更改及其onChange事件。作者遇到的问题是,当尝试根据复选框的状态改变标签文本的划线样式时,onChange事件并未触发。解决方案是使用`defaultChecked`代替`checked`属性,并在`handleChange`函数中更新状态。
摘要由CSDN通过智能技术生成

TLDR:使用defaultChecked而不是选中,在这里工作jsbin

http://jsbin.com/mecimayawe/1/edit?js,output

尝试设置一个简单的复选框,当它被选中将交叉标签文本。由于某种原因,当我使用组件时,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=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值