#typescript #inheritance #enums
Вопрос:
У меня есть приложение для углового/машинописного текста. У меня есть компонент кнопки сортировки (кнопка, которая при нажатии на нее открывает меню с полями для сортировки). У меня в приложении есть целая куча страниц со списками (страницы с сетками, содержащими разные столбцы). На каждой странице есть кнопка сортировки. Когда пользователь нажимает на кнопку сортировки, он получает меню из нескольких (но не всех) столбцов в таблице на этой странице. Какой бы столбец они ни выбрали, он сортирует сетку по этому столбцу.
Проблема в том, что для каждой страницы содержимое меню должно быть разным (потому что столбцы сетки будут разными). Я хотел бы реализовать это таким образом, чтобы создать перечисления для каждой страницы, которые в основном являются именами столбцов, по которым мы хотим иметь возможность сортировать. И в компоненте кнопки сортировки я хотел бы иметь элемент, тип которого является перечислением, которому я могу назначить различные перечисления каждой страницы. Другими словами, что-то эквивалентное базовому классу, которому я могу назначить различные производные классы. Но мое исследование до сих пор говорит о том, что я не могу создать базовое перечисление (перечисление в компоненте кнопки сортировки), из которого могут быть получены дочерние перечисления (перечисления с каждой страницы).
Есть ли обходной способ выполнить то, что я пытаюсь сделать? Или другой подход? Большое спасибо.
Комментарии:
1. Компонент кнопки/меню может отображать список строк. Когда один из них выбран, он может выдавать выбранное значение. Родительский компонент будет управлять тем, что представляет собой этот список и что делать с выбранным значением. С другой стороны, рассмотрим другой UX: щелчок по заголовку столбца-довольно стандартный способ сортировки списка, а затем компонент сетки должен обработать его.