Прикольная проблема, которая у меня возникла, хотя я держу пари, что есть хитрый способ ее решения.
Дело в том, что у меня есть таблица с тремя состояниями сортировки столбцов: совершенно не отсортированные, в этом случае я не делаю хочу любой значок, отсортированный по возрастанию, в котором я хочу стрелку вверх, и отсортированный по убыванию, в котором я хочу стрелку вниз.
щелкнув заголовок столбца, вы проведете вас через эти три состояния.
starts off => click => ascending => click => descending => click => back to off
Все это прекрасно работает и отлично, за исключением того факта, что я хочу использовать тот же элемент каретки, а затем используйте css переходы , чтобы увеличить его с opacity: 0
до opacity: 1
, затем нажмите rotate it 180deg
, чтобы показать стрелку вниз для спуска, и, наконец, при повторном нажатии для удалите сортировку, я хочу, чтобы она исчезла БЕЗ ВРАЩАЮЩИХСЯ ОБРАТНО К 0 ДЕГ
В этой последней части находится проблема.
РЕДАКТИРОВАТЬ
Я только воссоздал поведение в песочнице, но я действительно использую react-table
, поэтому существует только три возможных состояния, поскольку оно контролируется пакетом:
initial state: {showCaret: false, flipped: false}
first click: {showCaret: true, flipped: false}
second click: {showCaret: true, flipped: true}
third click, back to initial: {showCaret: false, flipped: false}
изменения состояния контролируются react-table
, поэтому я не могу установить setTimeout для перевернутой переменной.
Я ищу чисто CSS способ достижения этой цели без манипулирования способом изменения состояния, если это возможно
END EDIT
Я приложил коды и коробку для демонстрации. Сначала нажмите «Показать каретку», затем «Отразить каретку», затем «Скрыть каретку». css настроен в основном так же, как мой в настоящее время в моем реальном проекте.
https://codesandbox.io/embed/admiring-rain-svsc9?fontsize=14&hidenavigation=1&theme=dark