How vue renders components with variable names

novice to vue, there is a list of different components to be used for each piece in the list, and a bunch of if else feels very unsightly, so I would like to ask if there are any ways to load different components according to variables.
as shown in the following figure, you need to render different components according to the component variable. You have tried render, but all you have learned so far are render html entity tags, which will prompt you that the < online > tag is not registered properly (it is no problem to write the online tag directly in template). I wonder if my old friend can give me some advice

.
Dec.03,2021


        <component :is="panel.component"/>
    </div>
</template>
<script>
    export default {
        data(){
            return {
                panels: []
            }
        }
    }
</script>
Menu