Yes, you can achieve this in TypeScript by using generic components and extracting the shared logic. While TypeScript doesn't directly support generic components, you can simulate them using interfaces, inputs, and dependency injection. Here’s how you can create a reusable app-select-item component: