JsFiddle:https://jsfiddle.net/69z2wepo/9956/
在我的react.js
代码中,我在渲染函数中返回一个值时,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");
}
这个函数只在选择框加载时被触发一次,之后当我改变值时,它不再被触发。
changeDataType
设为事件监听器后再定义它是个不好的主意。或许应该将该方法移动到 Hello 对象中(紧挨着 render 方法),并使用this.changeDataType
。 - pherris