QFile 是一个组件,它处理用户选择文件(s) 的交互。
提示
如果您还需要一个组件来处理上传,请考虑使用 QUploader 代替。
设计
警告
对于您的 QFile,您只能使用一种主要设计(filled
、outlined
、standout
、borderless
)。您不能使用多种设计,因为它们是互斥的。
装饰器
颜色
可清除
作为辅助,您可以使用 clearable
属性,以便用户可以通过附加的图标将模型重置为 null
。下面示例中的第二个 QFile 等同于使用 clearable
。
禁用和只读
用法
警告
在内部,QFile 使用原生输入。由于浏览器安全策略,不允许以编程方式使用值填充此类输入。因此,即使您从一开始就将 v-model 设置为某个值,组件也会显示这些文件,但输入标签本身不会填充该值。用户交互(点击/轻触/ENTER 键/SPACE 键)绝对是必要的,才能让原生输入包含它们。最好始终将模型的初始值设置为 null
或 undefined/void 0
。
基本
附加文件
默认情况下,每次用户通过弹出窗口选择任何文件时,QFile 都会替换模型。但是,当您接受多个文件(multiple
属性)时,您可以更改此行为,将新选择附加到模型,而不是替换其旧值。
您可以在下面多次选择文件,QFile 会将它们持续附加到模型。
计数器
使用芯片
使用文件插槽
以下示例突出显示了如何自定义每个文件的显示,甚至可以包含可能的上传进度指示器。
限制文件
您甚至可以组合上述限制。
提示
在上面的示例中,我们使用的是 accept
属性。其值必须是唯一的文件类型说明符的逗号分隔列表。映射到原生输入 type=file 元素的 'accept' 属性。更多信息.
警告
推荐用于 accept
属性的格式是 <mediatype>/<extension>
。示例:“image/png”、“image/png”。QFile 在内部使用 <input type="file">
,并且完全依赖于主机浏览器触发文件选择器。如果 accept
属性(应用于输入)不正确,屏幕上不会出现任何文件选择器,或者会显示,但会接受所有文件类型。
您还可以应用自定义过滤器(在用户选择文件后执行)。
原生表单提交
当处理具有 action
和 method
的原生表单(例如,当使用带有 ASP.NET 控制器时),您需要在 QFile 上指定 name
属性,否则 formData 不会包含它(如果应该包含的话)。