vue3 tab切换动态加载组件 性能警告问题
·
Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with markRaw or using shallowRef instead of ref.
示例警告代码
<a-tab-pane v-for="item in tabList" :key="item.key">
<component :is="item.value" :appid="route.query.appid" />
</a-tab-pane>
<script setup>
import AppForm from './components/app.vue'
import App2Form from './components/app2.vue'
import App3Form from './components/app3.vue'
const tabList = [
{
name: app,
value: AppForm,
key: 'app'
},
{
name: app2,
value: App2Form,
key: 'app2'
},
{
name: app3,
value: App3Form,
key: 'app3'
},
]
</script>
修改代码
<script setup>
import { shallowRef } from 'vue'
import AppForm from './components/app.vue'
import App2Form from './components/app2.vue'
import App3Form from './components/app3.vue'
const App = shallowRef(AppForm)
const App2 = shallowRef(App2Form)
const App3 = shallowRef(App3Form)
const tabList = [
{
name: app,
value: App,
key: 'app'
},
{
name: app2,
value: App2,
key: 'app2'
},
{
name: app3,
value: App2,
key: 'app3'
},
]
</script>
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)