加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
App.vue 1.52 KB
一键复制 编辑 原始数据 按行查看 历史
Hamm 提交于 2023-07-04 11:56 . fix(bugs): 修复了一些已知的BUG
<template>
<div
v-loading="isLoading"
class="airpower"
>
<router-view />
<el-tooltip
ref="tooltipRef"
v-model:visible="isShowTooltip"
:disabled="AirStore().$state.tooltip === ''"
:popper-options="{
modifiers: [
{
name: 'computeStyles',
options: {
adaptive: false,
enabled: false,
},
},
],
}"
:virtual-ref="AirStore().$state.tooltipRef"
virtual-triggering
trigger="hover"
effect="customized"
:content="AirStore().$state.tooltip"
placement="top"
popper-class="air-tooltip"
/>
</div>
</template>
<script lang="ts" setup>
import { onMounted, ref, watch } from 'vue'
import { AirConfig } from './config/AirConfig'
import { AirAlert } from './feedback/AirAlert'
import { AirStore } from './store/AirStore'
const isLoading = ref(true)
const isShowTooltip = ref(false)
const tooltipRef = ref()
onMounted(() => {
isLoading.value = false
})
const airpowerInit = () => {
if (!AirConfig.router) {
AirAlert.error('请在main.ts中配置 AirConfig.router', '请先配置')
}
}
airpowerInit()
let tooltipTimer: number
watch(() => AirStore().tooltipRef, () => {
clearTimeout(tooltipTimer)
tooltipTimer = setTimeout(() => {
isShowTooltip.value = false
}, 2000)
})
</script>
<style scoped lang="scss">
.airpower {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
:deep(.el-loading-mask) {
background-color: white;
}
}
</style>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化