-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unexpected sorting behavior arises due to the implementation in the @tanstack/table-core library #5832
Comments
I believe we're running into the same issue when utilizing server-based sorting. We're seeing scenarios where, depending on the column type, the sort will do one of the following.
The expected behavior is one of the following, respectively:
|
For the time being, it looks like we're able to work around this by specifying a boolean value for |
While I plan to set The default sorting direction currently depends on the data type of the first row in the column:
This inconsistency can cause sorting toggles to behave unpredictably, especially in dynamic datasets. Although |
Our tables are server rendered and can contain null values so it's possible that the first value is We prefer it to always start from "asc" and decided to overwrite the Here's an example: header: ({ column }) => {
column.getAutoSortDir = () => {
return 'asc'
}
} Also, in some cases we used |
TanStack Table version
8.20.5
Framework/Library version
"react": "^18.2.0",
Describe the bug and the steps to reproduce it
Code Logic: The getAutoSortDir function dynamically determines the initial sort direction based on the type of the first row's value in the column.
If it's a string, the sort direction is asc.
If it's not a string (e.g., null or number), the sort direction defaults to desc.
Problem: When the first row's value changes due to sorting, the logic re-evaluates, potentially toggling between sort states unpredictably. In your case:
Initial value in the first row is not a string → sort starts as desc.
After sorting, the first value changes to a string → subsequent toggle resets or disables sorting.
table/packages/table-core/src/features/RowSorting.ts
Line 335 in 6b4d616
Your Minimal, Reproducible Example - (Sandbox Highly Recommended)
nda
Screenshots or Videos (Optional)
No response
Do you intend to try to help solve this bug with your own PR?
None
Terms & Code of Conduct
The text was updated successfully, but these errors were encountered: