gpt4 book ai didi

javascript - 使用 React 触发 onchange 事件 - componentDidMount 不起作用

转载 作者:行者123 更新时间:2023-11-28 06:27:15 24 4
gpt4 key购买 nike

我有一个页面,其中包含一堆 react 生成的下拉列表,这些下拉列表在选择选项时执行特定操作。它们使用自己的“onChange”方法工作得很好,但我也想找到一种从外部函数触发它们的方法。我尝试这样做:

var Dropdown = React.createClass({
getInitialState: function () {
return{firstTime: true};
},
onChange: function(event){
if (this.state.firstTime===true) {
if (typeof this.props.onChange === 'function') {
this.props.onChange(event.target, true);
}
}
else {
if (typeof this.props.onChange === 'function') {
this.props.onChange(event.target, false);
}
}
this.setState({firstTime: false});
},
componentDidMount: function() {
var dropdown = this.refs.dropdown;
dropdown.addEventListener('change', this.onChange, false);
},
render: function() {
return (
<select className={this.props.className} onChange={this.onChange} ref='dropdown'>
{this.props.options.map(function(option){
return (
<Option value={option.value} key={option.value}>{option.label}</Option>
);
})}
</select>
);
}
});

然后调用 document.querySelector("select.header").onchange;就在我页面的控制台中,什么也没有发生。想法?

最佳答案

找到答案了。由于某种原因,我能够使用 jQuery $("select.header").change(); 触发它。但不是 document.querySelector("select.header").onchange();

不知道为什么,但至少我找到了解决方案。

关于javascript - 使用 React 触发 onchange 事件 - componentDidMount 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35019257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com