You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
column.getAutoSortDir = () => {
const firstRow = table.getFilteredRowModel().flatRows[0]
const value = firstRow?.getValue(column.id)
if (typeof value === 'string') {
return 'asc'
}
return 'desc'
}
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
I agree to follow this project's Code of Conduct
I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.
The text was updated successfully, but these errors were encountered:
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.
none → desc → none
none → asc → none
The expected behavior is one of the following, respectively:
While I plan to set sortDescFirst either at the column level or globally via table.options.sortDescFirst, I wanted to highlight the root cause of the unexpected behavior. This sorting issue might appear in unpredictable scenarios if left unaddressed.
The default sorting direction currently depends on the data type of the first row in the column:
If the value is a string, sorting defaults to asc.
Otherwise, it defaults to desc.
This inconsistency can cause sorting toggles to behave unpredictably, especially in dynamic datasets.
Although sortDescFirst resolves the issue explicitly, it's important to be aware of this behavior, as similar issues might occur in other places where sorting logic is indirectly affected.
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: