肖强的博客 肖强的博客
Home
Guide
Web Document
  • Plugins
  • Case
  • Animation
Components
  • Categories
  • Tags
  • Archives
Website Tools

xiaoQiang

因为爱所以爱
Home
Guide
Web Document
  • Plugins
  • Case
  • Animation
Components
  • Categories
  • Tags
  • Archives
Website Tools
  • 快速上手
    • 安装
    • datePicker
    • serialAnimation
    • icon
    • loading
    • scrollbar
    • drag
      • 拖动组件
        • PC和H5都适用
      • Props
      • movesList 数据结构说明
      • Methods
  • views
xiaoQiang
2021-12-22

drag

# 拖动组件

# PC和H5都适用

es6
javaScript
typeScript
vue
more
other
react
<template>
  <div class="demo-drag">
    <xiao-drag
      class="drag-component"
      :movesList="movesList"
      :iconTextStyle="iconTextStyle"
      :iconStyle="iconStyle"
      :itemContentStyle="itemContentStyle"
      @moveData="moveData"
    />
  </div>
</template>

<script>
export default {
  name: 'demo-drag',
  props: {},
  data() {
    return {
      iconTextStyle: {
        // fontSize: '20px',
        color: 'blue',
      },
      iconStyle: {
        width: '50%',
      },
      itemContentStyle: {
        // background: 'pink',
      },
      movesList: [
        {
          src: 'http://yaru.vip:8080/images/icon/ES6.png',
          text: 'es6',
        },
        {
          src: 'http://yaru.vip:8080/images/icon/js.png',
          text: 'javaScript',
        },
        {
          src: 'http://yaru.vip:8080/images/icon/git.png',
          // text: 'git',
        },
        {
          src: 'http://yaru.vip:8080/images/icon/ts.png',
          text: 'typeScript',
        },
        {
          src: 'http://yaru.vip:8080/images/icon/vue.png',
          text: 'vue',
        },
        {
          src: 'http://yaru.vip:8080/images/icon/more.png',
          text: 'more',
        },
        {
          src: 'http://yaru.vip:8080/images/icon/other.png',
          text: 'other',
        },
        {
          src: 'http://yaru.vip:8080/images/icon/react.svg',
          text: 'react',
        },
      ],
    }
  },
  methods: {
    moveData(data) {
      console.log('拖动后的数据', data)
    },
  },
}
</script>
<style lang="less" scoped>
.demo-drag {
  position: relative;
  margin-top: 100px;
  padding: 15px;
}
.drag-component {
  // background: chartreuse;
}
</style>

# Props

参数 说明 类型 默认值 可选值
movesList 图标数据 arrayObject - -
col 列 number 4 -
itemContentStyle 整个图标的样式 object - -
iconStyle 图标中图片的样式 object - -
iconTextStyle 图标中文字的样式 object - -

col 相关说明 根据col列数和父元素的宽度计算得出图标的宽度,然后让高度和宽度相等 行数根据movesList数据的数量和col列数计算得出

# movesList 数据结构说明

// 图标下方的文字是否展示,取决于有没有传入text
movesList = [
        {
          src: 'http://yaru.vip:8080/images/icon/ES6.png',
          text: 'es6',
        },
        {
          src: 'http://yaru.vip:8080/images/icon/js.png',
          text: 'javaScript',
        },
        {
          src: 'http://yaru.vip:8080/images/icon/git.png',
          // text: 'git',
        },
]

# Methods

参数 说明 类型 参数
moveData 拖动后触发的函数 function 拖动后的数据通过参数接收
#components
上次更新: 2021-12-22 16:05:40
scrollbar

← scrollbar

最近更新
01
入场/出场05
10-16
02
入场/出场04
10-16
03
入场/出场03
10-16
更多文章>
icon组件不能用
时间左侧 © 2021-2021 时间右侧
冀公网安备 13108202000744号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
欢迎来到我的家
Back