【发布时间】:2016-02-10 10:10:05
【问题描述】:
我正在使用 ReactJS 和 ES2015
我通过 props 将一个按钮向下传递到子组件中。
我看不到如何从孩子那里获取数据到按钮的onClick函数中
谁能建议我需要做什么才能将子组件中的数据导入 onCLick 函数?
doDeleteItem = (blah) => {
console.log('the item to delete is: ', blah);
};
deleteButton = (
<button
className="btn btn-expand btn-stroke btn-success mr-5"
type="primary"
onClick={this.doDeleteItem}Delete item
</button>
)
render() {
return (
<TableContainer
deleteButton={this.deleteButton}
doDeleteItem={this.doDeleteItem}
/>
);
更新:cmets 说这有点不清楚。 以下是上下文:
TableContainer 组件显示数据行。
我通过道具将 Button 组件向下推入 TableContainer。
TableContainer 呈现按钮。
我还向下推了一个函数,以便 Button 调用其 onClick 事件。
这个想法是用户选择表中的行,他们按下按钮(例如删除),按钮运行其 onClick 函数删除选定的行。
问题是我看不到如何将定义所选行的数据获取到 onClick 函数中。
看来onClick函数的“作用域”实际上是父组件,而不是TableContainer组件,所以它看不到定义用户选择删除哪些数据行的变量。
这样更清楚吗?如果没有,请告诉我。谢谢
【问题讨论】:
-
我正在编辑我自己的评论。您希望将 TableContainer 中的数据放入
testButton? -
你能扩展一下@Henrik吗?
-
有点不清楚。你需要这个 onClick={this.doDeleteItem.bind(this,item)} 吗?
标签: javascript reactjs