![](/img/trans.png)
[英]How to ensure entire Button component in material-ui returns the same ID value for an onClick event?
[英]Why value from a Material-UI Button is not being passed to the onClick event handler?
我試圖從 Material-UI 按鈕單擊它的單擊處理程序時傳遞一個值,但它始終顯示undefined
的value
。 早些時候,當我使用一個簡單的按鈕時,我獲得了value
,但之后卻沒有。
const categoryChangedHandler = (e) => {
console.log("category choosed ========= " + e.target.value);
setCategory(e.target.value);
};
<Button className="CategoryButton" variant="outlined" color="primary"
value={category}
onClick={e => categoryChangedHandler(e)}
style={{ textAlign: 'center' }}
>
{category}
</Button>
我得到了結果:
category choosed ========= undefined
您需要使用event.currentTarget.value
而不是event.target.value
。
Material-UI Button
的文本位於<button>
元素內的<span>
內。 當你點擊文本時, event.target
將引用 span 元素; 而event.currentTarget
將引用附加了事件處理程序的元素(即按鈕元素),單擊事件冒泡到該元素。
這是一個簡單的工作示例:
import Button from "@material-ui/core/Button";
export default function App() {
return (
<Button value="hello" onClick={(e) => console.log(e.currentTarget.value)}>
Hello World
</Button>
);
}
相關答案:
文檔:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.