请看一下这个代码沙箱示例。
如果您在Line #186
上看到Advanced
上传器,则multiple属性设置为false:
<div className="card">
<h5>Advanced</h5>
<FileUpload
multiple={false}
name="demo[]"
url="https://primefaces.org/primereact/showcase/upload.php"
onUpload={onUpload}
accept="image/*"
maxFileSize={1000000}
emptyTemplate={
<p className="p-m-0">Drag and drop files to here to upload.</p>
}
/>
因此,这将不允许我按"SHIFT + Down Arrow Key"
来选择多个文件。但是,如果我使用Choose
按钮选择一个文件并单击Open
,它就会显示在列表中。如果我再次单击Choose
按钮并选择另一个文件并单击Open
,则会显示该文件。因此,多个文件仍在一次上传一个。如何解决此问题?
我想知道在第一个文件出现在列表中之后是否有任何事件被触发,以便我可以在那时禁用"选择"按钮?
第页。S.我不知道如何将代码沙盒转换为react的代码片段,因此分享了上面的代码沙盒示例链接。
将多选设置为false是为了防止用户选择多个文件,但除非在文件上传成功后禁用该按钮,否则无法阻止用户再次单击该按钮。我建议您将一个变量设置为flag=0,一旦您从用户处成功上传,则将flag=1设置为if条件,如果flag=1,则禁用按钮单击。
如果这对你来说是一个好的解决方案,我会检查代码,稍后调整我的答案,并为你写代码。