Javascript 如何从react元素中的自定义属性中获取值?

Javascript 如何从react元素中的自定义属性中获取值?,javascript,reactjs,Javascript,Reactjs,下面是我的html看起来像 <select onclick={this.handleClick}> <option key="1" value="aaa" data-plan-id="test"></option> </select> 我的问题是如何从“数据计划id”属性(即“测试”)中获取值?您需要遍历的所有,并检查值是否相同。如果是,请检查是否有数据集。这将有计划id Ps.Javascript将虚线数据属性转换为camelCasep

下面是我的html看起来像

<select onclick={this.handleClick}>
    <option key="1" value="aaa" data-plan-id="test"></option>
</select>

我的问题是如何从“数据计划id”属性(即“测试”)中获取值?

您需要遍历
的所有
,并检查值是否相同。如果是,请检查是否有数据集。这将有
计划id

Ps.Javascript将虚线数据属性转换为camelCase
planId->planId

希望这有帮助

类应用程序扩展了React.Component{
构造函数(){
超级()
this.onChange=this.onChange.bind(this)
此.state={
组成部分:“A”
}
}
onChange(e){
[…e.target.childNodes].forEach((el)=>{//将HTML集合转换为数组
如果(el.value==e.target.value)
console.log(el.dataset.planId)
})
这是我的国家({
组成部分:e.target.value
})
}
render(){
返回
A.
B
}
}
ReactDOM.render(,document.getElementById('app'))

只需阅读
选择选项
HTMLCollection并从中选择第一个选项:

console.log(e.target.selectedOptions[0].getAttribute('data-plan-id');
使用现代浏览器(IE11+,请参阅),您可以使用界面而不是
getAttribute

console.log(e.target.selectedOptions[0].dataset.planId);

很抱歉输入错误,我确实在select标记中放置了onClick事件,我想得到的是数据计划id,非常感谢您的帮助。
console.log(e.target.value);   // this will output aaa