Skip to content

🎁 Apis

参数类型

ts
interface LayoutItem {
    id: string
    x: number
    y: number
    h: number
    w: number
    static?: boolean
}

type Layout = LayoutItem[]

GridLayout

Props

ts
interface PropsData {
    data: Layout // 布局数据
    col?: number | string, // 列数
    rowH?: number | string // 行高
    gutter?: number | string // 网格间距
    drage?: boolean // 是否可拖拽
    resize?: boolean // 是否可拖拽
    remove?: boolean // 是否可拖拽
    isDrawGridLines?: boolean // 是否绘制网格线
    isCollision?: boolean // 是否碰撞
}
属性类型默认值说明
dataLayout[]布局数据,支持双向绑定(v-model:data="layoutData")
colnumber/string12列数
rowHnumber/string50行高
gutternumber/string10网格间距
dragebooleantrue是否可拖拽
resizebooleantrue是否可缩放
removebooleantrue是否可删除
isDrawGridLinesbooleantrue是否绘制网格线
isCollisionbooleantrue是否碰撞

🪢 事件

事件名说明类型
draggableStart拖拽开始时触发(index: string) => void
draggableHandle拖拽中触发(id: string, newItem: LayoutItem) => void
draggableEnd拖拽结束时触发(id: string, newItem: LayoutItem) => void
remove删除方块时触发(index: string) => void

GridItem

Props

ts
interface GridItem {
    id: string // 唯一标识
    draggableFrom?: string // 拖拽源,触发拖拽的元素id
}
名称类型默认值说明
idstring``子元素的唯一标识
draggableFromstring``触发拖拽的元素id

🎍 插槽

名称说明
default自定义每个元素的内容
resize自定义缩放
remove自定义删除