当前位置:首页 > VUE

vue缺省页实现

2026-03-07 23:27:14VUE

Vue 缺省页实现方法

使用条件渲染控制显示

通过 v-ifv-show 指令控制缺省页的显示时机,当数据为空或加载失败时展示缺省页。

<template>
  <div>
    <div v-if="dataList.length > 0">
      <!-- 正常内容 -->
    </div>
    <div v-else class="empty-page">
      <img src="@/assets/empty.png" alt="暂无数据">
      <p>暂无数据</p>
    </div>
  </div>
</template>

封装可复用组件

将缺省页封装为独立组件,通过 props 控制不同状态的显示。

vue缺省页实现

<!-- EmptyState.vue -->
<template>
  <div class="empty-state">
    <img :src="image" :alt="title">
    <h3>{{ title }}</h3>
    <p>{{ description }}</p>
    <button v-if="showButton" @click="$emit('action')">{{ buttonText }}</button>
  </div>
</template>

<script>
export default {
  props: {
    image: String,
    title: String,
    description: String,
    showButton: Boolean,
    buttonText: String
  }
}
</script>

结合路由实现全屏缺省页

在路由层面处理缺省页,适用于无权限或404等情况。

// router.js
{
  path: '/empty',
  component: () => import('@/views/EmptyStateView.vue'),
  meta: { requiresAuth: false }
}

使用第三方UI库

Element UI、Ant Design Vue 等库提供现成的空状态组件。

vue缺省页实现

<template>
  <a-empty description="暂无数据" />
</template>

<script>
import { Empty } from 'ant-design-vue';
export default {
  components: { 'a-empty': Empty }
}
</script>

动态缺省内容

根据不同类型动态显示缺省内容,增强用户体验。

computed: {
  emptyConfig() {
    if (this.error) {
      return {
        image: require('@/assets/error.png'),
        title: '加载失败',
        buttonText: '重试'
      }
    }
    return {
      image: require('@/assets/empty.png'),
      title: '暂无数据',
      buttonText: '刷新'
    }
  }
}

动画效果增强

为缺省页添加过渡动画,提升视觉体验。

.empty-page {
  transition: all 0.3s ease;
}
.fade-enter-active, .fade-leave-active {
  transition: opacity .5s;
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}

标签: vue
分享给朋友:

相关文章

vue实现绑卡的原理

vue实现绑卡的原理

Vue 实现绑卡的原理 Vue 实现绑卡功能通常涉及前端表单处理、数据绑定、验证以及和后端 API 的交互。以下是实现绑卡功能的核心原理和步骤: 数据绑定与表单处理 Vue 通过 v-model 指…

vue 实现注册

vue 实现注册

Vue 实现注册功能 注册功能通常包括表单验证、数据提交和用户反馈。以下是实现注册功能的步骤: 1. 创建注册表单组件 在 Vue 项目中创建一个注册表单组件,包含用户名、邮箱、密码等输入字段。…

vue滚动实现

vue滚动实现

Vue 滚动实现方法 使用原生滚动 在 Vue 中可以通过 ref 获取 DOM 元素,调用原生滚动方法实现滚动效果。适用于简单场景。 <template> <div ref=…

vue环境实现

vue环境实现

Vue 环境搭建 安装 Node.js 和 npm Node.js 是运行 Vue 的基础环境,npm 是包管理工具。从 Node.js 官网 下载并安装最新稳定版本。安装完成后,在终端运行以下命令验…

vue cli 实现

vue cli 实现

Vue CLI 实现步骤 安装 Vue CLI 确保 Node.js 版本在 8.9 或以上。通过 npm 全局安装 Vue CLI: npm install -g @vue/cli 创建新项目 使…

vue 实现ztree

vue 实现ztree

在Vue中实现类似ZTree的功能,可以通过集成第三方库或自定义组件完成。以下是两种常见方法: 使用vue-tree组件 vue-tree是一个轻量级的Vue树形组件,支持复选框、懒加载等功能,适合…