k8ordo
  • UI
  • Form
  • State
  • Router
  • Static
  • Server
ダークモードに切り替え
  • Get Started
  • Theming
  • i18n
  • Components
  • Hooks
  • Helpers
  • AI
ナビゲーションを開く
Buttons
  • Button
  • IconButton
Navigation
  • Anchor
  • Tabs
  • Breadcrumb
  • Pagination
Forms
  • TextField
  • Textarea
  • NumberField
  • Select
  • Checkbox
  • CheckboxCard
  • CheckboxGroup
  • Switch
  • PasswordInput
  • Radio
  • RadioCard
  • Autocomplete
  • Slider
  • FileField
  • FormControl
  • Form
Data Display
  • Accordion
  • Avatar
  • Badge
  • Card
  • Code
  • Table
  • Heading
Feedback
  • Alert
  • Skeleton
  • Spinner
  • Toast
  • Progress
Overlays
  • Dialog
  • Drawer
  • Modal
  • Popover
  • DropdownMenu
  • Tooltip
  • ListBox
Layout
  • Stack
  • Grid
  • Separator
  • ScrollLinked
Media
  • Icons
k8ordo

Baselineに入った機能を、制限なく使うReactのライブラリ群。

パッケージ
  • @k8ordo/ui
  • @k8ordo/form
  • @k8ordo/state
  • @k8ordo/router
  • @k8ordo/static
  • @k8ordo/server
UI
  • Get Started
  • Theming
  • i18n
  • Components
  • Hooks
  • Helpers
  • AIチャット
  • Generative UI
  • AIエージェント
  • Storybook
リソース
  • GitHub
  • npm

© 2026 k8o — MIT License

組版 — Noto Sans JP / M PLUS 2

Components

Buttons
  • Button
  • IconButton
Navigation
  • Anchor
  • Tabs
  • Breadcrumb
  • Pagination
Forms
  • TextField
  • Textarea
  • NumberField
  • Select
  • Checkbox
  • CheckboxCard
  • CheckboxGroup
  • Switch
  • PasswordInput
  • Radio
  • RadioCard
  • Autocomplete
  • Slider
  • FileField
  • FormControl
  • Form
Data Display
  • Accordion
  • Avatar
  • Badge
  • Card
  • Code
  • Table
  • Heading
Feedback
  • Alert
  • Skeleton
  • Spinner
  • Toast
  • Progress
Overlays
  • Dialog
  • Drawer
  • Modal
  • Popover
  • DropdownMenu
  • Tooltip
  • ListBox
Layout
  • Stack
  • Grid
  • Separator
  • ScrollLinked
Media
  • Icons

FileField

ファイルアップロードフィールド

Storybookで確認

インポート

使い方

縦書きプレビューに切り替え

受け入れタイプ

縦書きプレビューに切り替え

複数ファイル

縦書きプレビューに切り替え

無効

縦書きプレビューに切り替え

エラー

縦書きプレビューに切り替え

Props

FileField.Root

children?
Type: ReactNode
Default: -
defaultValue?
Type: File[]
Default: -
invalid?
Type: boolean
Default: false
maxFiles?
Type: number
Default: -
onChange?
Type: (files: FileList | null, event?: ChangeEvent<HTMLInputElement>) => void
Default: -
ref?
Type: Ref<HTMLInputElement>
Default:
-
webkitDirectory?
Type: boolean
Default: false
PropTypeDefault
children?ReactNode-
defaultValue?File[]-
invalid?booleanfalse
maxFiles?number-
onChange?(files: FileList | null, event?: ChangeEvent<HTMLInputElement>) => void-
ref?Ref<HTMLInputElement>-
webkitDirectory?booleanfalse

型ベース(内部で固定する一部attrsは除外): InputHTMLAttributes<HTMLInputElement>

FileField.Trigger

renderItem
Type: (props: { onClick: () => void; disabled: boolean; invalid: boolean; }) => ReactElement
Default: -
PropTypeDefault
renderItem(props: { onClick: () => void; disabled: boolean; invalid: boolean; }) => ReactElement-

FileField.ItemList

clearable?
Type: boolean
Default: -
showWebkitRelativePath?
Type: boolean
Default: -
PropTypeDefault
clearable?boolean-
showWebkitRelativePath?boolean-
import { FileField } from '@k8ordo/ui';
<FileField.Root accept="image/*" multiple={false}>
  <FileField.Trigger
    renderItem={({ disabled, onClick }) => (
      <Button disabled={disabled} onClick={onClick}>
        Select File
      </Button>
    )}
  />
  <FileField.ItemList clearable />
</FileField.Root>
{/* Accept only PDF and Word documents */}
<FileField.Root accept=".pdf,.doc,.docx" multiple={false}>
  <FileField.Trigger
    renderItem={({ disabled, onClick }) => (
      <Button disabled={disabled} onClick={onClick}>
        Select Document
      </Button>
    )}
  />
  <FileField.ItemList clearable />
</FileField.Root>
<FileField.Root maxFiles={3} multiple>
  <FileField.Trigger
    renderItem={({ disabled, onClick }) => (
      <Button disabled={disabled} onClick={onClick}>
        Select Files (max 3)
      </Button>
    )}
  />
  <FileField.ItemList clearable />
</FileField.Root>
<FileField.Root disabled multiple={false}>
  <FileField.Trigger
    renderItem={({ disabled, onClick }) => (
      <Button disabled={disabled} onClick={onClick}>
        Select File
      </Button>
    )}
  />
  <FileField.ItemList clearable />
</FileField.Root>
<FileField.Root invalid multiple={false}>
  <FileField.Trigger
    renderItem={({ disabled, onClick }) => (
      <Button disabled={disabled} onClick={onClick}>
        Select File
      </Button>
    )}
  />
  <FileField.ItemList clearable />
</FileField.Root>