禁用多个文件选择,即使在使用属性multiple={false}不起作用之后也是如此



请看一下这个代码沙箱示例。

如果您在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,则禁用按钮单击。

如果这对你来说是一个好的解决方案,我会检查代码,稍后调整我的答案,并为你写代码。

相关内容

最新更新