
Security News
The Changelog Podcast: Practical Steps to Stay Safe on npm
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.
@lazycatcloud/lzc-file-pickers
Advanced tools
一个用于快速实现网盘文件选择和保存功能的Vue组件。
npm install --save @lazycatcloud/lzc-file-pickers
在 main.ts 或 main.js 中导入组件:
import "@lazycatcloud/lzc-file-pickers"
<template>
<lzc-file-picker
type="file"
base-url="/_lzc/files/home"
accept="video/*"
:multiple="true"
:is-modal="true"
:choice-file-only="true"
title="选择视频文件"
confirm-button-title="确认选择"
@close="handleClose"
@submit="handleSubmit"
/>
</template>
<script>
export default {
methods: {
handleClose() {
console.log('文件选择器已关闭')
},
handleSubmit(files) {
console.log('选中的文件:', files)
}
}
}
</script>
组件提供完整的TypeScript类型支持:
import type {
filePickerPropsType,
filePickerType,
tableListType
} from '@lazycatcloud/lzc-file-pickers'
// 使用类型
const props: filePickerPropsType = {
type: filePickerType.file,
title: '选择文件',
multiple: true
}
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
type | filePickerType | - | 选择类型:file 或 directory |
title | string | - | 选择器标题 |
rootpath | string | - | 根路径,如 /home/pictures |
rootname | string | - | 根路径显示名称 |
accept | string | - | 文件类型过滤(MIME类型) |
confirmButtonTitle | string | - | 确认按钮文本 |
tableList | tableListType[] | - | 显示的标签页类型 |
multiple | boolean | false | 是否支持多选 |
isModal | boolean | false | 是否以弹窗形式显示 |
choiceFileOnly | boolean | false | 是否只允许选择文件 |
choiceDirOnly | boolean | false | 是否只允许选择目录 |
boxId | string | - | 懒猫微服名称 |
// 选择器类型
export enum filePickerType {
file = "file", // 文件选择
directory = "directory" // 目录选择
}
// 标签页类型
export enum tableListType {
collect = "collect", // 收藏
networkDir = "networkDir", // 全部文件
externalHardDrive = "externalHardDrive", // 外接硬盘
appData = "appData", // 应用数据
fileMount = "fileMount" // 远程挂载
}
// 组件属性接口
export interface filePickerPropsType {
boxId?: string;
type: filePickerType;
title?: string;
rootpath?: string;
rootname?: string;
accept?: string;
confirmButtonTitle?: string;
tableList?: tableListType[];
multiple?: boolean;
isModal?: boolean;
choiceFileOnly?: boolean;
choiceDirOnly?: boolean;
}
| 事件名 | 参数 | 说明 |
|---|---|---|
@close | - | 选择器点击取消时触发 |
@submit | files: File[] | 确认选择时触发,返回选中的文件列表 |
<lzc-file-picker
type="file"
title="选择文件"
@submit="handleFileSelect"
/>
<lzc-file-picker
type="file"
accept="video/*"
:multiple="true"
title="选择视频文件"
confirm-button-title="确认选择"
@submit="handleVideoSelect"
/>
<lzc-file-picker
type="directory"
:choice-dir-only="true"
title="选择目录"
@submit="handleDirSelect"
/>
<lzc-file-picker
type="file"
:is-modal="true"
title="选择文件"
@close="handleClose"
@submit="handleSubmit"
/>
<template>
<lzc-file-picker
:type="pickerType"
:title="pickerTitle"
:multiple="isMultiple"
:accept="fileTypes"
@submit="onFileSelect"
@close="onClose"
/>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import type { filePickerType, filePickerPropsType } from '@lazycatcloud/lzc-file-pickers'
const pickerType = ref<filePickerType>(filePickerType.file)
const pickerTitle = ref('选择文件')
const isMultiple = ref(true)
const fileTypes = ref('image/*,video/*')
const onFileSelect = (files: File[]) => {
console.log('选中的文件:', files)
}
const onClose = () => {
console.log('选择器已关闭')
}
</script>
MIT License
FAQs
懒猫文件选择器 - 一个用于快速实现网盘文件选择和保存功能的Vue组件
The npm package @lazycatcloud/lzc-file-pickers receives a total of 6 weekly downloads. As such, @lazycatcloud/lzc-file-pickers popularity was classified as not popular.
We found that @lazycatcloud/lzc-file-pickers demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 12 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.

Security News
Ruby's creator Matz assumes control of RubyGems and Bundler repositories while former maintainers agree to step back and transfer all rights to end the dispute.