@liang2uv/file-viewer-vue3

vue3-仿微信的文件/图片预览组件,支持图片、txt、pdf、word、excel、ppt预览
1,477
Install
npm install @liang2uv/file-viewer-vue3
Latest Version:1.0.13
Vue:3
License:MIT
Last Updated:Oct 15, 2026
Links: GitHub  ·  npm
Maintainer: liang2uv

文件预览

说明

vue3-仿微信的文件/图片预览组件,支持图片、txt、pdf、word、excel、ppt预览

安装

npm i @liang2uv/file-viewer-vue3 -S

# 或
pnpm i @liang2uv/file-viewer-vue3 -S

使用

<template> 
  <LbFileViewer
    :visible="filePreviewShow"
    :initial-index="filePreviewIndex"
    @close="onClose"
    :fileList="filePreviewList"
  />
</template>
<script lang="ts" setup>
  import { LbFileViewer } from '@liang2uv/file-viewer-vue3'
  // 建议全局(main.ts)引入样式
  import '@liang2uv/file-viewer-vue3/dist/style.css'

  interface FileInfo {
    /**
     * 文件URL
     */
    url: string
    /**
     * 文件名
     */
    name: string
  }

  const filePreviewShow = ref(false)
  const filePreviewIndex = ref(0)
  const filePreviewList = ref<FileInfo[]>([{
    url: 'https://xxx.pdf',
    name: '测试.pdf'
  }])

  function onClose() {
    filePreviewShow.value = false
  }
</script>

属性(Props)

属性名 类型 说明 默认值
visible boolean 是否显示预览框 false
fileList FileInfo[] 文件信息列表 []
initialIndex number 初始显示文件的索引 0
teleport boolean 是否使用 teleport true
customFileViewer (file: FileInfo) => string 自定义文件预览iframe的src地址 -

FileInfo 类型说明:

字段 类型 说明
url string 文件URL
name string 文件名

方法(通过 defineExpose 暴露)

方法名 说明 参数
handleClose 关闭预览框 无
prevFile 切换到上一个文件 无
nextFile 切换到下一个文件 无

事件(Emits)

事件名 说明 回调参数
close 关闭预览框时 无

Related Packages

v3-img-preview

vue3图片预览插件

2,740 31
vue3-image-preview

Vue3图片预览的组件、函数及命令

8,886
@docviewkit/viewer

Frontend-local, read-only Office, PDF and OFD Viewer Web Component

7,172 1
vue

The progressive JavaScript framework for building modern web UI.

588,019,132 54,801
vue
@vueuse/shared
372,738,348 22,398

Version History

Version Released Vue License
1.0.13 ^3.3.7 MIT
1.0.12 ^3.3.7 MIT
1.0.11 ^3.3.7 MIT
1.0.10 ^3.3.7 MIT
1.0.9 ^3.3.7 MIT