开发者问题收集

无法使用material-ui访问按钮值

2016-08-04
3318

我必须访问按钮的值,因为它包含进一步操作所需的 ID。

我首先使用带有一些引导样式的普通按钮,一切正常。

 <button
     value={row.vacationRequestID}
     className="btn btn-warning"
     onClick={myRef.handleDeclineClick.bind(myRef)}>No
 </button>

   handleDeclineClick(e, value) {
    console.log("decline");
    console.log(e.target.value) //ID: 120
   // this.props.declineClick(e);
    //dispatch(requestStatusUpdate(e.target.value, declined, reason))
}

现在使用material-ui后,我无法再访问该值。

 <IconButton
    iconClassName="material-icons"
    tooltip="Ablehnen"
    value={row.vacationRequestID}
    ref={"dd"}
    onClick={myRef.handleDeclineClick.bind(myRef)}
     >
        thumb_down
    </IconButton>

我尝试通过ref访问它,但即使这样也不起作用了。有人能解释一下为什么吗?文档没有提到任何有关值的内容。

2个回答

使用 currentTarget 代替 target

handleDeclineClick(e, value) {
    console.log("decline");
    console.log(e.currentTarget.value);
}

原始答案

Anubhav Das
2019-08-08

MaterialUI 不使用任何 value 属性。因此,当您将 value 属性设置为 IconButton 时,它实际上没有任何意义。

如果您想将任何值传递给 onClick 回调函数,请将值绑定到该函数。因此,当调用它时,您将获得它作为第一个参数。

myRef.handleDeclineClick.bind(myRef, row.vacationRequestID)
Abdud Dayan Adeeb
2016-08-04