如何在反应中获取地图返回按钮的值
how to get the value of a map returned button in react
return (
<div>
{
countries.map((country)=>
<div key={country.ccn3}>
{country.name.common}<button className="button" value={country} onClick={ChangeDisplay}>show</button>
</div>
)
}
</div>
);
}
如代码所示:如何获取“button”的值,在我的例子中,value 应该是“country”obj,可以使用 onClick 函数“ChangeDisplay”呈现。
数据属性是个好方法。
对于一个按钮:
<button data-value={country} onClick={changeDisplay}>show</button>
点击处理程序:
const changeDisplay = (e) => {
const { value } = e.target.dataset;
console.log(value);
};
您可以简单地从 e.target.value
获取值,就像您处理表单字段的方式一样。值必须是字符串。
const App = () => {
const onClick = (e) => alert(e.target.value)
return (<button onClick={onClick} value="my button value">MyButton</button>)
}
ReactDOM.render(
<App />,
document.getElementById("root")
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>
如果你想传递一个对象。然后你可以不用 event
只需将对象传递给函数即可。
<button onClick={()=> ChangeDisplay(country)} />
return (
<div>
{
countries.map((country)=>
<div key={country.ccn3}>
{country.name.common}<button className="button" value={country} onClick={ChangeDisplay}>show</button>
</div>
)
}
</div>
);
}
如代码所示:如何获取“button”的值,在我的例子中,value 应该是“country”obj,可以使用 onClick 函数“ChangeDisplay”呈现。
数据属性是个好方法。
对于一个按钮:
<button data-value={country} onClick={changeDisplay}>show</button>
点击处理程序:
const changeDisplay = (e) => {
const { value } = e.target.dataset;
console.log(value);
};
您可以简单地从 e.target.value
获取值,就像您处理表单字段的方式一样。值必须是字符串。
const App = () => {
const onClick = (e) => alert(e.target.value)
return (<button onClick={onClick} value="my button value">MyButton</button>)
}
ReactDOM.render(
<App />,
document.getElementById("root")
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>
如果你想传递一个对象。然后你可以不用 event
只需将对象传递给函数即可。
<button onClick={()=> ChangeDisplay(country)} />