# 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 String Y - item 的标识
    imageSrc String Y '' 图片 url
    label String Y '' 文本描述
    isEditable Boolean N 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 }