event.target
- это select
, а не option
.Вам нужно получить option
:
onIndustryChangeOption(event, index, value) {
const {target} = event;
const option = target.options[target.selectedIndex];
if (option) {
console.log(option.getAttribute('data-industry'));
//this.props.setRootState({selectedIndustry: event.target.value});
}
}
Live Пример:
class Example extends React.Component {
render() {
return <select onChange={(e) => this.onIndustryChangeOption(e)} value={this.props.selectedIndustry}>
<option value="" data-industry="industry1">Select Industry</option>
<option value="" data-industry="industry2">Select Industry 2</option>
</select>;
}
onIndustryChangeOption(event, index, value) {
const {target} = event;
const option = target.options[target.selectedIndex];
if (option) {
console.log(option.getAttribute('data-industry'));
//this.props.setRootState({selectedIndustry: event.target.value});
}
}
}
ReactDOM.render(
<Example />,
document.getElementById("root")
);
<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
Тем не менее, в данном примере непонятно, почему бы вместо этого не использовать value
.: -)