我有这个dropdownList:
<Dropdown
isOpen={this.state.dropdownOpen[3]}
toggle={() => {
this.toggle(3);
}}
>
<DropdownToggle className="my-dropdown" caret>
{" "}
{this.state.dropDownValue}
</DropdownToggle>
<DropdownMenu>
<DropdownItem productid="0">
{" "}
<div onClick={this.changeValue}>
PURE BLACK MAT BLUETOOTH
</div>
</DropdownItem>
<DropdownItem productid="1">
{" "}
<div onClick={this.changeValue}>
PLAYER BLACK MAT FILAIRE
</div>
</DropdownItem>
<DropdownItem productid="2">
{" "}
<div onClick={this.changeValue}>
PURE PLUS BLACK MAT MEMORY 128 G
</div>
</DropdownItem>
<DropdownItem productid="3">
{" "}
<div onClick={this.changeValue}>
PURE LIMITED CHROME GOLD MEMORY 256G
</div>
</DropdownItem>
<DropdownItem productid="4">
{" "}
<div onClick={this.changeValue}>
PURE GOLD MAT BLUETOOTH
</div>
</DropdownItem>
<DropdownItem productid="5">
{" "}
<div onClick={this.changeValue}>
PLAYER GOLD MAT FILAIRE
</div>
</DropdownItem>
<DropdownItem productid="6">
{" "}
<div onClick={this.changeValue}>
PURE PLUS GOLD MAT MEMORY 128 G
</div>
</DropdownItem>
<DropdownItem productid="7">
{" "}
<div onClick={this.changeValue}>GAME ONE WHITE</div>
</DropdownItem>
</DropdownMenu>
</Dropdown>
还有这个onClickListener:
changeValue(e) {
console.log(
"The selected productId is: ",
e.currentTarget.getAttribute("productid")
);
//The selected productId is: null
this.setState({
dropDownValue: e.currentTarget.textContent
});
}
我正在尝试访问所选DropdownItem的productid。但是,由于某种原因,结果始终为null:
console.log(“所选的productId为:”,e.currentTarget.getAttribute(“ productid”));//所选的productId为:null
知道我做错了什么吗?
我通过在div中传递属性productid来解决此问题:
<DropdownItem>
{" "}
<div productid="0" onClick={this.changeValue}>
PURE BLACK MAT BLUETOOTH
</div>
</DropdownItem>