Anonymous
Это не работает для высокого до низкого использования сортировки
Сообщение
Anonymous » 01 апр 2025, 07:41
Код: Выделить всё
useEffect(() => {
//for duration
if (
filtering?.durationInMinutes &&
selectedFilterItems.find((item) => item.type === 'durationInMinutes')
?.code !==
`${filtering?.durationInMinutes?.from || '-'}${
filtering?.durationInMinutes?.to
}`
) {
setSelectedFilterItems((prev) => {
prev = prev.filter((items) => items.type !== 'durationInMinutes');
return [
...prev,
{
displayItem: (
{!!filtering?.durationInMinutes?.from && (
from{' '}
[b]
{convertDuration(filtering?.durationInMinutes?.from)}
[/b]
)}{' '}
{!!filtering?.durationInMinutes?.to && (
{!!filtering?.durationInMinutes?.from ? 'to ' : 'upto '}
[b]
{convertDuration(filtering?.durationInMinutes?.to)}
[/b]
)}
),
type: 'durationInMinutes',
code: `${filtering?.durationInMinutes?.from || '-'}${
filtering?.durationInMinutes?.to
}`,
},
];
});
} else if (!filtering?.durationInMinutes) {
setSelectedFilterItems(
(prev) =>
(prev = prev.filter((items) => items.type !== 'durationInMinutes'))
);
}
if (
(sortType.sort !== 'DEFAULT' &&
selectedFilterItems.find((item) => item.type === 'sort')?.code !==
sortType.sort) ||
selectedFilterItems.find((item) => item.type === 'sort')?.code ===
sortType.sort
) {
setSelectedFilterItems((prev) => {
prev = prev.filter((items) => items.type !== 'sort');
return [
...prev,
{
displayItem: (
Sort by [b]{sortType.name}[/b]
),
type: 'sort',
code: sortType.sort,
},
];
});
} else if (sortType.sort === 'DEFAULT') {
setSelectedFilterItems(
(prev) => (prev = prev.filter((items) => items.type !== 'sort'))
);
}
Я ожидал, что это будет работать как на низком, так и высоком, так и высоком
Подробнее здесь:
https://stackoverflow.com/questions/795 ... using-sort
1743482483
Anonymous
[code]useEffect(() => { //for duration if ( filtering?.durationInMinutes && selectedFilterItems.find((item) => item.type === 'durationInMinutes') ?.code !== `${filtering?.durationInMinutes?.from || '-'}${ filtering?.durationInMinutes?.to }` ) { setSelectedFilterItems((prev) => { prev = prev.filter((items) => items.type !== 'durationInMinutes'); return [ ...prev, { displayItem: ( {!!filtering?.durationInMinutes?.from && ( from{' '} [b] {convertDuration(filtering?.durationInMinutes?.from)} [/b] )}{' '} {!!filtering?.durationInMinutes?.to && ( {!!filtering?.durationInMinutes?.from ? 'to ' : 'upto '} [b] {convertDuration(filtering?.durationInMinutes?.to)} [/b] )} ), type: 'durationInMinutes', code: `${filtering?.durationInMinutes?.from || '-'}${ filtering?.durationInMinutes?.to }`, }, ]; }); } else if (!filtering?.durationInMinutes) { setSelectedFilterItems( (prev) => (prev = prev.filter((items) => items.type !== 'durationInMinutes')) ); } if ( (sortType.sort !== 'DEFAULT' && selectedFilterItems.find((item) => item.type === 'sort')?.code !== sortType.sort) || selectedFilterItems.find((item) => item.type === 'sort')?.code === sortType.sort ) { setSelectedFilterItems((prev) => { prev = prev.filter((items) => items.type !== 'sort'); return [ ...prev, { displayItem: ( Sort by [b]{sortType.name}[/b] ), type: 'sort', code: sortType.sort, }, ]; }); } else if (sortType.sort === 'DEFAULT') { setSelectedFilterItems( (prev) => (prev = prev.filter((items) => items.type !== 'sort')) ); } [/code] Я ожидал, что это будет работать как на низком, так и высоком, так и высоком Подробнее здесь: [url]https://stackoverflow.com/questions/79547721/this-is-not-working-for-high-to-low-using-sort[/url]