前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实现一个文件选择组件

实现一个文件选择组件

作者头像
神奇的程序员
发布2022-10-30 14:17:11
4030
发布2022-10-30 14:17:11
举报

前言

花了点时间利用广度与深度优先搜索算法实现了一个文件选择插件,支持无限层次的文件夹嵌套,已开源并打包上传到了npm。

本文将跟大家分享一下这个插件,欢迎各位感兴趣的开发者阅读本文。

插件安装

代码语言:javascript
复制
yarn add file-folder-selector

# or

npm install file-folder-selector --save

插件使用

在你需要使用此插件的业务代码中导入插件。

代码语言:javascript
复制
<script setup lang="ts">
  import { FileSelect } from "file-folder-selector";
  // 组件的样式文件,可以在项目的业务代码内导入,也可以在项目的入口文件导入
  import "file-folder-selector/dist/style.css";
</script>

template中使用即可。

代码语言:javascript
复制
<template>
  <file-select />
</template>

完成上述步骤后,启动项目即可看到如下所示的效果🤗

效果图

参数说明

插件接收5个可选参数:

  • fileData 文件树结构数据
    • title 文件名, 值为string 类型
    • id 文件id, 值为string 类型
    • type 文件类型, 值为"file"或"folder"
    • imgSrc 文件图片地址(可选参数),值为string 类型
    • childData 子文件数据(可选参数),值为array类型,如果type为"folder",则传此参数,数组中的每一项类型就为fileData的类型。
  • defaultFolderImage 默认的文件夹图标,值为string 类型
  • defaultFileImage 默认的文件图标,值为string 类型
  • defaultSearchImage 默认的搜索图标,值为string 类型
  • defaultFolderPathImage 默认的文件夹路径图标,值为string 类型

注意:插件默认的图标更换不支持svg格式的图片,插件的fileData参数可参考源码中的FileConfig.json文件

插件提供了1个回调函数:

  • getSelectedFile 获取已选择的文件,它有1个参数selectedArray,它值为array类型,数组中的每一项类型为:{title: string; id: string; type: string }

具体的使用方法可以参考源码中的 file-select-test.vue 文件。

写在最后

至此,插件的所有使用方法就介绍完了。

我是神奇的程序员,一位前端开发工程师。

如果你对我感兴趣,请移步我的个人网站,进一步了解。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 神奇的程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 插件安装
  • 插件使用
  • 参数说明
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档