Skip to main content
Vuetify0 Logo
Theme
Mode
Palettes
Accessibility
Vuetify One
Sign in to Vuetify One

Access premium tools across the Vuetify ecosystem — Bin, Play, Studio, and more.

Not a subscriber? See what's included

Kanban API

Headless board of movable items in columns, with v-model per column, pointer drag, keyboard pick-up and move, and live-region announcements. Built on createKanban.

Explore these related pages for additional context and usage patterns.

PageCategory
KanbanData
createKanbanData
createSortableData
useDragDropSystem

Kanban.Root

Props

disabled

boolean | undefined

Disable every move on the board

Default: false

orientation

KanbanOrientation | undefined

Axis the columns flow along (default: 'horizontal')

Default: "horizontal"

label

string | undefined

Accessible name for the board

namespace

string | undefined

Namespace for context provision

Default: "v0:kanban"

Events

move

[payload: KanbanMovePayload]

Slots

default

KanbanRootSlotProps

Kanban.Column

Props

id

any

Column id, used in move payloads. Auto-generated when omitted.

Default: useId()

value

unknown

The column's own data

label

string | undefined

Accessible name; also used in announcements

disabled

boolean | undefined

Block moves into, out of, and within this column

Default: false

accept

((value: T, from: ID, index: number) => boolean) | undefined

Veto incoming cross-column moves. Synchronous; return false to reject. Same-column reorders bypass it.

namespace

string | undefined

Namespace for context injection from Kanban.Root

Default: "v0:kanban"

modelValue

T[] | undefined

Default: []

Events

update:model-value

[value: T[]]

Slots

default

KanbanColumnSlotProps<T>

Kanban.Instructions

Props

id

string | undefined

Element id. Auto-generated when omitted.

Default: useId()

namespace

string | undefined

Namespace for context injection from Kanban.Root

Default: "v0:kanban"

Slots

default

KanbanInstructionsSlotProps

Kanban.Item

Props

value required

T

The item's value — must be an entry of the parent Column's v-model

label

string | undefined

Accessible name used in move announcements

disabled

boolean | undefined

Prevent this item from being moved

Default: false

namespace

string | undefined

Namespace for context injection from Kanban.Root

Default: "v0:kanban"

Slots

default

KanbanItemSlotProps

Kanban.List

Props

namespace

string | undefined

Namespace for context injection from Kanban.Root

Default: "v0:kanban"

Slots

default

KanbanListSlotProps

Kanban.LiveRegion

Props

namespace

string | undefined

Namespace for context injection from Kanban.Root

Default: "v0:kanban"

Slots

default

KanbanLiveRegionSlotProps
Was this page helpful?

© 2016-1970 Vuetify, LLC
Services
Ctrl+/