跳到主要内容

useFileDialog

轻松选取文件

Usage

实时编辑器

function Demo() {
  const [files, open, reset] = useFileDialog();

  return (
    <div>
      <button onClick={() => open()}> Choose files</button>
      <button
        style={{ marginLeft: 20 }}
        disabled={!files}
        onClick={() => {
          reset();
        }}
      >
        Reset
      </button>
      {files && (
        <div>
          <p>
            You have selected: <b>{files.length} files</b>
            {Array.from(files).map((file) => {
              return <li key={file.name}>{file.name}</li>;
            })}
          </p>
        </div>
      )}
    </div>
  );
};

结果
Loading...

API

useFileDialog

Returns

readonly [FileList | null, (localOptions?: Partial<UseFileDialogOptions> | undefined) => Promise<FileList | null | undefined>, () => void]: 包含以下元素的元组:

  • 文件数组。
  • 打开文件选择器函数。
  • 重置函数。

Arguments

参数名描述类型默认值
options-UseFileDialogOptions | undefined-

UseFileDialogOptions

参数名描述类型默认值
multiple选择多个文件booleantrue
accept可以接受的文件类型string'*'
capture指定设备,可以从麦克风或者摄像头中获取文件string-