vue3项目中组件切换不起作用

以下这种方式写页面中组件切换,不起作用。

javascript 复制代码
<component :is="steps[compIndex].comp" />

解决:使用shallowReactive或者shallowRef把对应的组件名称重新定义下。

javascript 复制代码
<component :is="compNames[steps[compIndex].comp]" />
<el-button v-for="(item,index) in boxes" @click="compIndex = index">点击切换组件</el-button>

<script setup lang="ts">
import comp1 from './components/comp1.vue'
import comp2 from './components/comp2.vue'
const boxes = [{title:'标题1',comp:'comp1'},{title:'标题2',comp:'comp2'}]

const compIndex = ref(0)
type compName = {
    [key:string]:any
}
const compNames = shallowReactive<compName>({comp1,comp2})
</script>

不清楚还有没有其它解决办法,暂时就这样吧!

相关推荐
neter.asia8 分钟前
vue中如何关闭eslint检测?
前端·javascript·vue.js
~甲壳虫9 分钟前
说说webpack中常见的Plugin?解决了什么问题?
前端·webpack·node.js
十一吖i27 分钟前
前端将后端返回的文件下载到本地
vue.js·elementplus
光影少年28 分钟前
vue2与vue3的全局通信插件,如何实现自定义的插件
前端·javascript·vue.js
As977_29 分钟前
前端学习Day12 CSS盒子的定位(相对定位篇“附练习”)
前端·css·学习
susu108301891131 分钟前
vue3 css的样式如果background没有,如何覆盖有background的样式
前端·css
Ocean☾33 分钟前
前端基础-html-注册界面
前端·算法·html
Rattenking33 分钟前
React 源码学习01 ---- React.Children.map 的实现与应用
javascript·学习·react.js
Dragon Wu35 分钟前
前端 Canvas 绘画 总结
前端
CodeToGym39 分钟前
Webpack性能优化指南:从构建到部署的全方位策略
前端·webpack·性能优化