Open 981377660LMT opened 6 months ago
// 使用隐藏的input来监听paste事件
const hiddenInputRef = useRef<HTMLInputElement>(null);
useEffect(() => {
hiddenInputRef.current?.focus();
}, []);
useDrop(hiddenInputRef, {
onFiles (files) {
handleUpload(files);
}
});
<input ref={hiddenInputRef} style={{ position: 'absolute', opacity: 0 }} type="text" onBlur={() => hiddenInputRef.current?.focus()} />
如何让upload 组件响应 paste 事件
在 Upload 组件内部添加了一个隐藏的 input 元素,并在这个 input 元素上监听 paste 事件。当用户在 Upload 组件上执行粘贴操作时,实际上是在这个隐藏的 input 元素上执行的,因此我们可以在 paste 事件处理函数中获取到用户粘贴的内容。