Hiện tại, tôi hiển thị <Table>'s
<TableRow>
(http://www.material-ui.com/#/components/table) của Material-UI với một mảng <TableRow>s
và bằng cách sử dụng .map()
. Mỗi <TableRow>
có một số <TableRowColumn>
đại diện cho tên đầu tiên, như vậy <TableRowColumn>Josh</TableRowColumn>
.ReactJS với Material-UI: Cách sắp xếp một mảng Material-UI's <TableRow> theo thứ tự abc?
Nhưng nếu người dùng nhấn một nút, tôi muốn sắp xếp <TableRow>
mảng theo thứ tự bảng chữ cái theo tên <TableRowColumn>'s
. Vì vậy, ví dụ như trong số 10 <TableRow>s
, nếu mảng [0] có tên đầu tiên là Conny và mảng [1] có Adrian, muốn mảng [1] trở thành mảng [0].
Cách tiếp cận phù hợp với điều này là gì? Bất kỳ hướng dẫn hoặc cái nhìn sâu sắc nào sẽ được đánh giá rất cao.
EDIT
Mỗi hàng sẽ được trả lại như vậy với mảng rows
, có đối tượng với tính firstName
và favColor
:
{
rows.map((row) => {
return(
<UserRow
firstName={row.firstName}
favColor={row.favColor}
/>
)
})
}
Và mỗi hàng được định nghĩa như sau:
const UserRow = (props) => {
const {firstName, favColor} = props
return (
<TableRow>
<TableRowColumn>{firstName}</TableRowColumn>
<TableRowColumn>{favColor}</TableRowColumn>
</TableRow>
)
}
Bạn có phiền giải thích những gì 'a.firstname> b.firstname -1: 1' đang làm, và làm thế nào tôi có thể làm cho nó áp dụng đối với số lượng khác nhau của hàng? –
Tôi đã chỉnh sửa câu trả lời của mình. Đây chỉ là hàm so sánh mà tôi sử dụng để sắp xếp mảng dữ liệu bảng của mình. Để mở rộng điều này sang số lượng thô khác nhau, bạn sẽ cần phải sử dụng một cái gì đó khác với boolean để xác định cột nào bạn muốn sắp xếp theo. –
Tôi đã cập nhật ví dụ của mình để sử dụng lựa chọn thay vì nút radio. Tôi hy vọng nó sẽ giúp. –