React select onChange不起作用
React select onChange is not working
JsFiddle: https://jsfiddle.net/69z2wepo/9956/
我在我的react.js
代码的渲染函数中返回一个选择元素。
但是每当我改变select
值时,onChange
中的功能不会被触发。
var Hello = React.createClass({
render: function() {
return <select id="data-type" onChange={changeDataType()}>
<option selected="selected" value="user" data-type="enum">User</option>
<option value="HQ center" data-type="text">HQ Center</option>
<option value="business unit" data-type="boolean">Business Unit</option>
<option value="note" data-type="date">Try on </option>
<option value="con" data-type="number">Con</option>
</select>
}
});
React.render(<Hello/>, document.getElementById('container'));
function changeDataType() {
console.log("entered");
}
这个函数只在select加载时触发一次,随后当我改变值时,它不会被触发。
onChange
取函数。
您正在传递changeDataType()
,它正在运行changeDataType
函数,并将onChange
设置为它的返回值,该值为null。
尝试传递实际的函数,而不是对函数求值。
<select id="data-type" onChange={changeDataType}>
当组件发生变化时触发的函数应该在组件内部定义。
我建议在Hello
组件中定义函数,并将this.changeDataType
传递给onChange
属性,如下所示:
var Hello = React.createClass({
changeDataType: function() {
console.log('entered');
},
render: function() {
return <select id="data-type" onChange={this.changeDataType}>
<option selected="selected" value="user" data-type="enum">User</option>
<option value="HQ center" data-type="text">HQ Center</option>
<option value="business unit" data-type="boolean">Business Unit</option>
<option value="note" data-type="date">Try on </option>
<option value="con" data-type="number">Con</option>
</select>
}
});
下面是一个更新后的JSFiddle,它会产生您期望的行为:https://jsfiddle.net/69z2wepo/9958/
试试这个
<select id="data-type" onChange={()=>changeDataType()}>
相关文章:
- Javascript onchange()函数不起作用
- Javascript变量未定义,onchange不起作用
- JavaScript onChange 事件侦听器对输入表单不起作用
- onchange Jquery 在使用选择器更改值时不起作用
- Javascript onchange(this.value,this.value)在ipad上不起作用
- 下拉列表的onChange()第二次不起作用
- Onchange组合框事件在中不起作用
- Onchange,向上,向下箭头键适用于FF和Chrome,但在IE中不起作用
- jQuery Datepicker onChange 事件不起作用
- 为什么从子窗口调用时父窗口的 OnChange 事件文本框不起作用
- onchange在页面加载时不起作用,直到我删除然后将其添加回代码
- HTML/Javascript onchange不起作用
- JavaScript,PHP,onchange选择框不起作用
- 为什么我的 onChange 事件不起作用
- 使用 React 触发 onchange 事件 - componentDidMount 不起作用
- Php select onchange dons'似乎不起作用
- 为什么不是'我的onchange函数不起作用
- Onchange函数使用laravel5不起作用
- onchange和Select不起作用
- JavaScript 显示/隐藏字段不起作用 - OnChange 不会每次都发生