# 16.拖拽组件(midea-drag-list-view)
APP 内置组件,可直接在 template 中使用,不需要 import 导入和注册;
# 实例

# 基础用法
<template>
<midea-drag-list-view ref="dragListView" class="drag" :data="data">
</midea-drag-list-view>
</template>
<script>
export default {
data() {
return {
data: {
itemViewHeight: 100, // 行高
itemViewMarginTop: 10, //行间距
imageMarginTop: 10, //图片距离顶部的的距离
textMarginTop: 10, // 文字与图片的距离
textColor: 'blue', //文字颜色
textSize: 16, //文字大小
imageSize: 60, //图片大小
spanCount: 4, //列数
isEditable: false, //控制整个列表是否可编辑,默认是false, 为true时才显示编辑按钮
editIcon: 'https://alifei02.cfp.cn/creative/icon/512/VCG25i3639131.jpg', //编辑按钮图标地址
listData: [
{
id: '1', //item的标识
imageSrc: 'https://alifei02.cfp.cn/creative/icon/512/VCG25i3639131.jpg', //图标url
label: 'test1', //文本描述
isEditable: true //控制是否显示该编辑按钮,默认为false, 为true则显示
},
{
id: '2',
imageSrc: 'https://alifei03.cfp.cn/creative/icon/512/VCG25i3639132.jpg',
label: 'test2'
},
{
id: '3',
imageSrc: 'https://alifei04.cfp.cn/creative/icon/512/VCG25i3639133.jpg',
label: 'test3',
isEditable: true //控制是否显示该编辑按钮,默认为false, 为true则显示
},
{
id: '4',
imageSrc: 'https://alifei05.cfp.cn/creative/icon/512/VCG25i3639134.jpg',
label: 'test4',
isEditable: true //
},
{
id: '5',
imageSrc: 'https://tenfei01.cfp.cn/creative/icon/512/VCG25i3639135.jpg',
label: 'test5',
isEditable: true
}
]
}
}
}
methods: {
methods: {
getDataList(event) {
let that = this
this.$refs.dragListView.getListData(function(data) {
that.data = {
listData: [
{
id: '1',
imageSrc: 'https://alifei02.cfp.cn/creative/icon/512/VCG25i3639131.jpg',
label: 'test1qerqerqwerqwrwerqwerqwrwrqwrwrqwerwr'
},
{
id: '2',
imageSrc: 'https://alifei03.cfp.cn/creative/icon/512/VCG25i3639132.jpg',
label: 'test2'
},
],
itemViewHeight: 100, // 行高
itemViewMarginTop: 10, //行间距
imageMarginTop: 10, //图片距离顶部的的距离
textMarginTop: 10, // 文字与图片的距离
textColor: 'blue', //文字颜色
textSize: 16, //文字大小
imageSize: 40, //图片大小
spanCount: 4, //列数
isEditable: true, //控制整个列表是否可编辑,默认是false, 为true时才显示编辑按钮
editIcon: 'https://alifei02.cfp.cn/creative/icon/512/VCG25i3639131.jpg'
}
}),
}
}
</script>
# Attributes:data
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
| supportRTL | Boolean | N | false | 是否适配阿拉伯语时的样式 |
| itemViewHeight | Number | N | -1 | 行高 |
| itemViewMarginTop | Number | N | 10 | 行间距 |
| imageMarginTop | Number | N | 10 | 图片距离顶部的的距离 |
| textMarginTop | Number | N | 12 | 文字与图片的距离 |
| textColor | String | N | #000000 | 文字颜色 |
| textSize | Number | N | 12 | 文字大小 |
| imageSize | Number | N | 60 | 图片大小 |
| spanCount | Number | N | 4 | 列数 |
| isEditAble | Boolean | N | false | 控制整个列表是否可编辑,为 true 时才显示编辑按钮 |
| editIcon | String | N | '' | 编辑按钮图标地址 |
| listData | Array | N | [] | 列表项(见注 1) |
- 注 1 listData
Prop Type Required Default Description id StringY - item 的标识 imageSrc StringY '' 图片 url label StringY '' 文本描述 isEditable BooleanN false 是否显示该编辑按钮
# 方法 $refs
| 事件名称 | 说明 | 回调参数 |
|---|---|---|
| getListData | 获取拖拽后的列表数据 listData. 返回的是一个 json 数组字符串。返回数据如下 |
{ code:0,
msg: "success",
listData:[
{
id:"1",//item 的标识
"imageSrc":"https://alifei02.cfp.cn/creative/icon/512/VCG25i3639131.jpg", //图标 url
label:"test1",//文本描述
isEditable:true,//控制是否显示该编辑按钮,默认为 false, 为 true 则显示
}
]
}
|## Events
| 事件名称 | 说明 | 回调参数 |
|---|---|---|
| onDeleteEvent | 删除事件通知。返回当前被删除 item 的 id | { id: xxx } |
| onClickEvent | 点击事件通知。返回当前被点击 item 的 id | { id: xxx } |
| onDragEventStart | 开始拖拽事件通知。返回当前被拖拽 item 的 id | { id: xxx } |
| onDragEventEnd | 结束拖拽事件通知。返回当前被拖拽 item 的 id | { id: xxx } |