我有一个简单的任务,我试图完成:每当单选按钮在组之间切换时触发一个函数。无线电输入onChange只会触发一次?
class App extends Component {
onButtonClick() {
console.log('something was clicked!')
}
return (
<div>
<button onClick={this.onButtonClick.bind(this)}>
Click me
</button>
<input
type="checkbox"
onChange={this.onButtonClick.bind(this)}
/>
<input
type="radio"
value="yes"
name="answer"
onChange={this.onButtonClick.bind(this)}
/>
<input
type="radio"
value="no"
name="answer"
onChange={this.onButtonClick.bind(this)}
/>
</div>
)
}
按钮和复选框工作得很好。如果你点击它,它会多次触发该功能。单选按钮触发一次然后停止。
就好像ReactJS由于某种原因停止收看单选按钮的onChange一样。任何帮助将不胜感激。谢谢!
UPDATE
现在看来似乎正常工作在https://codesandbox.io/s/rGMGzJNL,但不是在我的本地环境,这是完全令人费解的正常工作。如果我知道发生了什么,将会更新,但如果有人遇到过这种情况,希望得到任何指导!
尝试移动处理程序绑定到构造'this.handleWeddingRsvp.bind(这)' – Umesh
不遗憾的是改变任何东西。让我以我的榜样来帮助说明问题。 – BenCodeZen
尝试使用'onclick'作为你的事件 - 在原生JS你不能使用'onchange' https://stackoverflow.com/questions/8838648/onchange-event-handler-for-radio-button-input-type-radio -doesnt-work-as-one – Toastrackenigma