Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React数据表组件,将单击行的信息传递到模式_Javascript_Reactjs_React Data Table Component - Fatal编程技术网

Javascript React数据表组件,将单击行的信息传递到模式

Javascript React数据表组件,将单击行的信息传递到模式,javascript,reactjs,react-data-table-component,Javascript,Reactjs,React Data Table Component,我正在用ReactJS制作一个离线PWA,并且我已经开始使用react数据表组件,这到目前为止非常好 我已经将表设置为有一个onRowClicked函数,该函数可以在任何时候单击一行时调用,到目前为止,我只使用该函数在单击时打开一个确实有效的模式 我的问题是,我希望模式包含来自所单击行的行元素的信息。因此,基本上,如果我单击标题为“Hello There”(element.title)的第一行,我希望模态也包含该行的元素 这段代码显示了我所拥有的一切,包括我如何将文档从PockDB映射到elem

我正在用ReactJS制作一个离线PWA,并且我已经开始使用react数据表组件,这到目前为止非常好

我已经将表设置为有一个
onRowClicked
函数,该函数可以在任何时候单击一行时调用,到目前为止,我只使用该函数在单击时打开一个确实有效的模式

我的问题是,我希望模式包含来自所单击行的行元素的信息。因此,基本上,如果我单击标题为“Hello There”(element.title)的第一行,我希望模态也包含该行的元素

这段代码显示了我所拥有的一切,包括我如何将文档从PockDB映射到elements对象,elements对象将通知数据表中的行

我需要做什么才能将单击行的信息传递到模式中

import React,{useState,usemo}来自“React”;
从“简单flexbox”导入{列,行};
从“aphrodite/no-important”导入{StyleSheet,css};
常量列=[
{
姓名:'头衔',
可排序:是的,
单元格:row=>({row.title}),
},
{
姓名:'入境日期',
选择器:“createdAt”,
可排序:是的,
对:对,
},
];
类MedJournalComponent扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
加载:对,
元素:null,
notebookDisplayOpen:错误
};
this.fetchData.bind(this);
}
componentDidMount(){
这是fetchData();
}
fetchData=()=>{
这是我的国家({
加载:对,
元素:null,
});
this.props.notes.db.allDocs({
包含文档:true,
})。然后(结果=>{
const rows=result.rows;
这是我的国家({
加载:false,
元素:rows.map(row=>row.doc),
});
}).catch((错误)=>{
控制台日志(err);
});
}
notebookEntryHandler=()=>{
this.setState({notebookDisplayOpen:true});
}
closeNotebookEntry=()=>{
this.setState({notebookDisplayOpen:false});
}
render(){
const{notebookDisplayOpen}=this.state;
if(this.state.loading | | this.state.elements===null){
返回“正在加载…”;
}
返回(
试验
);
}
}
导出默认MedJournalComponent;
更改:

notebookEntryHandler = () => {
  this.setState({notebookDisplayOpen: true});
}
致:


表示单击的行,您可以将其存储在状态并在模式中使用。

您可以始终在rources中搜索。。。正如预期的那样,处理程序获取
等待,出于某种原因,我没有在任何地方看到它。所以我应该能够保持onRowClicked行的方式,但是在我调用的函数中,默认情况下应该是row?这是合乎逻辑的,不是吗?没有它的处理程序不可用,不需要?@xadm我想我的问题是如何在我的函数中访问它?我仍然是一个反应迟钝的人,所以我只是想从那个来源弄清楚,我怎样才能访问我的
notebookEntryHandler
?试试
notebookEntryHandler=(row,e)=>
?明白了,谢谢!在阅读了@xadm指出的源代码之后,这一点现在也更有意义了
notebookEntryHandler = row => {
  this.setState({notebookDisplayOpen: true});
}