0
我在React正在访问组件的Rails数据库中有对象。 React将这些对象的两个属性显示为列表。我想根据其中一个未显示的属性对列表进行排序,但通过Rails数据库可用于React。该属性是“updated_at”值。理想情况下,我希望最近更新的对象显示在列表顶部。如何对React组件中的Rails数据库对象进行排序
数据可通过该电话反应:
document.addEventListener('DOMContentLoaded',() => {
const node = document.getElementById('projects_data')
const data = JSON.parse(node.getAttribute('data'))
ReactDOM.render(
<Projects projects={data} />,
destination)
})
以下是我正在试图现在没有成功列表进行排序。没有错误,但它不起作用。目标是每次将新对象(称为“项目”)添加到数据库时重新对列表进行排序。
addNewProject(project){
const projects = update(this.state.projects, { $push: [project]});
this.setState({
projects: projects.sort(function(a,b){
return new Date(a['updated_at']) - new Date(b['updated_at']);
})
});
}
这里的列表组件:
export const Project_list = ({projects}) =>
<table className="table">
<tbody>
<tr>
<th>Project Name</th>
<th>Project Status</th>
<th>Action</th>
</tr>
{projects.map(function(project){
return (
<Project project={project} key={project.id} />
)
})}
</tbody>
</table>
我可以向你介绍一个伟大的表格与排序,搜索,... .... http://allenfang.github.io/react-bootstrap-table/我不知道你想要什么在未来做,但我认为我救了你从重新定义轮:) – Nocebo
你确定你正在返回'updated_at'为新增项目? – Ozgur
@OzgurGUL我已经将对象信息添加到上述问题中,但“updated_at”确实出现在每个对象的对象div中。 – JohnOHFS