quasar框架切换Tab页使用<keep-alive>缓存

写法1 : 使用quasar的q-tabs组件使用方法

//布局样式根据需求自己设置
<template>
	<div class="all-Tabs">
		 <q-tabs v-model="activeTabName"  @update:model-value="selectedChange">
		   <q-tab
		     v-for="(item, index) in cardArr"
		     :key="index"
		     :label="item.label"
		     :name="item.activeTabName"></q-tab>
		 </q-tabs>
		 <div class="bottom">
		    <!-- 放置动态组件... -->
            <!-- keep-alive缓存组件,这样的话,组件就不会被销毁,DOM就不会被重新渲染 -->
		  	<keep-alive>
				 <component
				     :is="activeTabName"
				   ></component>
			</keep-alive>
		 </div>
</div>
</template>
<script>
import { ref, shallowRef, watch, nextTick, onMounted, inject,reactive ,computed,toRefs,getCurrentInstance,onUnmounted,watchEffect} from 'vue'
import hourlyQueryCom from './hourlyQueryCom'
import journalQueryCom from './journalQueryCom'
import historicalDataCom from './historicalDataCom'
import historicalDataMoreCom from './historicalDataMoreCom'
export default {
  name: "index",
  components:{
    hourlyQueryCom,
    journalQueryCom,
    historicalDataCom,
    historicalDataMoreCom
  },
   setup(){
   	 const state = reactive({
      activeTabName:'hourlyQueryCom',
      cardArr: [
        {
          label: "观测部查询",
          activeTabName: "hourlyQueryCom",
        },
        {
          label: "日纪要查询",
          activeTabName: "journalQueryCom",
        },
        {
          label: "历史数据单表查询",
          activeTabName: "historicalDataCom",
        },
        {
          label: "历史数据多表查询",
          activeTabName: "historicalDataMoreCom",
        },
      ],
    })
    
	 const selectedChange = (value)=>{
	      state.activeTabName = value
	 }
   return{
   selectedChange,
	...toRefs(state),
	}
   }
</script>

写法2 :手动创建tab切换效果

//自行设置样式
<template>
  <div class="all-Tabs">
      <div class="top">
        <div class="crad"
             :class="{ highLight: whichIndex == index }"
             v-for="(item, index) in cardArr"
             :key="index"
             @click="
             whichIndex = index;
             activeTabName = item.activeTabName;
          ">
          {{ item.label }}
        </div>
      </div>
      <div class="bottom">
        <!-- 放置动态组件... -->
        <!-- keep-alive缓存组件,这样的话,组件就不会被销毁,DOM就不会被重新渲染 -->
        <keep-alive>
          <component :is="activeTabName"></component>
        </keep-alive>
     </div>
  </div>
</template>
<script>
import { ref, shallowRef, watch, nextTick, onMounted, inject,reactive ,computed,toRefs,getCurrentInstance,onUnmounted,watchEffect} from 'vue'
import hourlyQueryCom from './hourlyQueryCom'
import journalQueryCom from './journalQueryCom'
import historicalDataCom from './historicalDataCom'
import historicalDataMoreCom from './historicalDataMoreCom'
export default {
  name: "index",
  components:{
    hourlyQueryCom,
    journalQueryCom,
    historicalDataCom,
    historicalDataMoreCom
  },
   setup(){
   	 const state = reactive({
      whichIndex:0,
      activeTabName:'hourlyQueryCom',
      cardArr: [
        {
          label: "观测部查询",
          activeTabName: "hourlyQueryCom",
        },
        {
          label: "日纪要查询",
          activeTabName: "journalQueryCom",
        },
        {
          label: "历史数据单表查询",
          activeTabName: "historicalDataCom",
        },
        {
          label: "历史数据多表查询",
          activeTabName: "historicalDataMoreCom",
        },
      ],
    })
  
   return{
	...toRefs(state),
	}
   }
</script>
<style  scoped lang="scss">
	.highLight{
		border:1px solid red;///自行设置  高亮	
	}
	//自行设置样式
	.bottom{
		
	}
</style>

相关推荐

  1. quasar框架切换Tab使用keep-alive缓存

    2024-04-25 09:28:01       13 阅读
  2. Vue-组件缓存-keep-alive

    2024-04-25 09:28:01       31 阅读
  3. 如何清除keep-alive缓存

    2024-04-25 09:28:01       21 阅读
  4. 在Vue3中使用缓存组件keep-alive vue3缓存组件

    2024-04-25 09:28:01       41 阅读
  5. 前端基础 keep-alive使用(Vue)

    2024-04-25 09:28:01       41 阅读
  6. Vue中的keep-alive缓存组件的理解

    2024-04-25 09:28:01       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-25 09:28:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-25 09:28:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-25 09:28:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-25 09:28:01       18 阅读

热门阅读

  1. 贪心算法练习day.5

    2024-04-25 09:28:01       9 阅读
  2. Element-plus使用记录

    2024-04-25 09:28:01       14 阅读
  3. FFmpeg常用实例详解

    2024-04-25 09:28:01       13 阅读
  4. watchEffect的使用

    2024-04-25 09:28:01       13 阅读
  5. IDEA->EasyCode(mapper.xml) 字段无逗号分割问题

    2024-04-25 09:28:01       15 阅读
  6. 执法记录仪如何防抖

    2024-04-25 09:28:01       13 阅读
  7. TiDB-PCTP考试复习

    2024-04-25 09:28:01       14 阅读
  8. STM32_警报装置

    2024-04-25 09:28:01       12 阅读
  9. 开发语言漫谈-ABAP

    2024-04-25 09:28:01       13 阅读