Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8f42a92

Browse files
getname1997antfu
andauthored
fix(useDropZone): fix file types filter (#3540)
Co-authored-by: Anthony Fu <[email protected]>
1 parent 3733b8e commit 8f42a92

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

packages/core/useDropZone/index.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { MaybeRef, Ref } from 'vue-demi'
33
// eslint-disable-next-line no-restricted-imports
44
import { ref, shallowRef, unref } from 'vue-demi'
55
import type { MaybeRefOrGetter } from '@vueuse/shared'
6-
import { isClient } from '@vueuse/shared'
6+
import { isClient, notNullish } from '@vueuse/shared'
77

88
// eslint-disable-next-line no-restricted-imports
99
import { useEventListener } from '@vueuse/core'
@@ -41,12 +41,16 @@ export function useDropZone(
4141
}
4242

4343
useEventListener<DragEvent>(target, 'dragenter', (event) => {
44+
const types = Array.from(event?.dataTransfer?.items || [])
45+
.map(i => i.kind === 'file' ? i.type : null)
46+
.filter(notNullish)
47+
4448
if (_options.dataTypes && event.dataTransfer) {
4549
const dataTypes = unref(_options.dataTypes)
4650
isDataTypeIncluded = typeof dataTypes === 'function'
47-
? dataTypes(event.dataTransfer!.types)
51+
? dataTypes(types)
4852
: dataTypes
49-
? dataTypes.some(item => event.dataTransfer!.types.includes(item))
53+
? dataTypes.some(item => types.includes(item))
5054
: true
5155
if (!isDataTypeIncluded)
5256
return

0 commit comments

Comments
 (0)