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