Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 MBDReact:如何制作<;数据表>;行可点击?_Javascript_Reactjs_Mdbreact - Fatal编程技术网

Javascript MBDReact:如何制作<;数据表>;行可点击?

Javascript MBDReact:如何制作<;数据表>;行可点击?,javascript,reactjs,mdbreact,Javascript,Reactjs,Mdbreact,我已经使用datatable在应用程序的管理端用MDBReact设置了我的表。这张表格显示了我的故事的一些小细节 现在,我必须使行可单击,即添加onClick,以使用作为此函数参数传递的storyid进行函数调用 问题: 如何将onClick事件添加到datatable行 (以下是我的代码。) class Posts扩展组件{ componentDidMount(){ 这是getPosts(); } getPosts=async()=>{ const response=wait fetch(“h

我已经使用
datatable
在应用程序的管理端用
MDBReact
设置了我的
表。这张
表格
显示了我的故事的一些小细节

现在,我必须使
可单击,即添加
onClick
,以使用作为此函数参数传递的story
id
进行函数调用

问题:
如何将
onClick
事件添加到
datatable

(以下是我的代码。)

class Posts扩展组件{
componentDidMount(){
这是getPosts();
}
getPosts=async()=>{
const response=wait fetch(“http://***************/get_posts”);
const post_items=wait response.json();
this.setState({posts:post_items.result},()=>{
log(this.state.posts);
this.setState({tableRows:this.assemblePost()});
});
};
assemblePost=()=>{
让posts=this.state.posts.map((post)=>{
让mongoDate=post.dateAdded.toString();
让mainDate=JSON.stringify(新日期(mongoDate));
返回{
postTitle:post.storyTitle,
//postDescription:post.storyDescription,
dateAdded:mainDate.slice(1,11),
谢谢:post.thankedBy.length,
报告人:post.reportedBy?post.reportedBy.length:“”,
userEmail:post.userEmail[0],
categoryName:post.categoryName[0],
};
});
控制台日志(posts);
返回岗位;
};
状态={
员额:[],
tableRows:[],
};
render(){
常数数据={
栏目:[
{
标签:“故事标题”,
字段:“postTitle”,
},
{标签:“类别名称”,字段:“categoryName”},
{
标签:“用户电子邮件”,
字段:“用户电子邮件”,
},
{
标签:“添加日期”,
字段:“已添加日期”,
},
{
标签:“谢谢”,
字段:“谢谢”,
},
{
标签:“已报告”,
字段:“reportedBy”,
},
],
行:this.state.tableRows,
};
返回(

帖子列表

); } } 导出默认职位;
要实现这一点,以下是我所做的,但您需要感谢这些:

  • MDBDataTable
    要求您手动定义
    列和
  • 为了无缝呈现数据,您可以定义与
    行[键]
    对应的
    列.field
  • 现在,这里是逻辑,如果您定义了一个
    行[key]
    ,而不对应于任何
    列。字段
    ,那么
    行[key]
    是为整个
    行定义的,就像我们在使用
    映射()
    时经常传递的
    索引一样
因此,根据以上观察,
您可以将
单击事件作为
键/值
对传递到

,它将正常工作

/。。。
assemblePost=()=>{
让posts=this.state.posts.map(
(post,i)=>{
让mongoDate=post.dateAdded.toString();
让mainDate=JSON.stringify(新日期(mongoDate));
返回{
索引:i+1,//建议为每个项/行传递唯一标识符
clickEvent:()=>this.handleClick(storyId),//向其传递回调函数
postTitle:post.storyTitle,
//……其他
categoryName:post.categoryName[0],
};
});
控制台日志(posts);
返回岗位;
};
// ...
请注意,
clickEvent:()=>this.handleClick(storyId),
将附加到整个