更新记录

1.0.2(2025-05-19) 下载此版本

清理无用文件

1.0.1(2025-05-19) 下载此版本

上传示例项目

1.0.0(2025-05-19) 下载此版本

发布插件

查看更多

平台兼容性

uni-app

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

其他

多语言 暗黑模式 宽屏模式
× ×

cjx-previewOffice

说明

因为在uniapp生态上找不到同时适合H5端,安卓,ios预览pdf-excel-word-txt文件的插件,所以开发了兼容多端的预览插件。该插件是纯前端开发;

可以配合cjx-upload插件 进行任意文件的选择

使用

Attributes

参数 说明 类型 默认值 最低版本
value 文件地址(支持网络地址和base64数据) string - -
name 文件名称 string - -
type 接受的文件类型 FileType( 'word' | 'excel' | 'pdf' | 'txt') - -
closeOnClickModal 点击遮罩是否关闭 boolean true -

Exposes

事件名 说明 参数 最低版本
open 打开预览弹窗 - -
close 关闭预览弹窗 - -

Slot插槽

插槽名 说明 参数 最低版本
default 默认插槽 点击打开预览弹窗的占位 - -
header 预览弹窗头部插槽 - -

vue:

<view class="content">
    <view class="list" style="display: flex;margin-top: 40rpx;">
        <view class="label">
            pdf
        </view>
         <CjxUpload :multiple="true" accept="pdf/*,.pdf"  v-model="pdfValue" @change="uploadChange" >
             <template #file="{ file }">
                 <cjx-previewOffice
                    ref="previewOfficeRef"
                    :value="file.url || file.base64Url"
                    :name="file.name"
                    type="pdf"
                >
                    {{ file.name }}
                 </cjx-previewOffice>
             </template>

         </CjxUpload>
    </view>

    <view class="list" style="display: flex;margin-top: 40rpx;">
        <view class="label">
            excel
        </view>
         <CjxUpload :multiple="true" accept="xlsl/*,.xls,.xlsl" v-model="excelValue" @change="uploadChange" >
             <template #file="{ file }">
                 <cjx-previewOffice
                    ref="previewOfficeRef"
                    :value="file.url || file.base64Url"
                    :name="file.name"
                    type="excel"
                >
                    {{ file.name }}
                 </cjx-previewOffice>
             </template>

         </CjxUpload>
    </view>

    <view class="list" style="display: flex;margin-top: 40rpx;">
        <view class="label">
            word
        </view>
         <CjxUpload :multiple="true" accept="docx/*,.docx" v-model="wordValue" @change="uploadChange" >
             <template #file="{ file }">
                 <cjx-previewOffice
                    ref="previewOfficeRef"
                    :value="file.url || file.base64Url"
                    :name="file.name"
                    type="word"
                >
                    {{ file.name }}
                 </cjx-previewOffice>
             </template>

         </CjxUpload>
    </view>

    <view class="list" style="display: flex;margin-top: 40rpx;">
        <view class="label">
            txt
        </view>
         <CjxUpload :multiple="true" accept="txt/*,.txt" v-model="txtValue" @change="uploadChange" >
             <template #file="{ file }">
                 <cjx-previewOffice
                    ref="previewOfficeRef"
                    :value="file.url || file.base64Url"
                    :name="file.name"
                    type="txt"
                >
                    {{ file.name }}
                 </cjx-previewOffice>
             </template>

         </CjxUpload>
    </view>

温馨提示

  • 文件上传
    1. 如说明表达还不够清楚,不清楚怎么使用可导入完整示例项目运行体验和查看
    2. 如果想使组件支持更多功能请留言

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问