Понадобятся два свойства - массив имён компонентов и имя выбранного в данный момент компонента:
data: () => ({
items: [ 'имя-компонента-1', 'имя-компонента-2', 'имя-компонента-3' ],
selected: null,
}),
На основе массива с именами создаётся список, элементам которого назначается обработчик клика, устанавливающий текущее имя компонента в качестве выбранного:
<li
v-for="n in items"
v-text="n"
@click="selected = n"
></li>
Если что-то выбрано, рендерим это что-то:
<component v-if="selected" :is="selected"></component>