1.0.4 • Published 1 year ago

rect-selection v1.0.4

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

rect-selection

介绍

vue 鼠标框选
在页面中按住鼠标左键并拖动行成一个矩形的选择框
释放鼠标按键返回选中节点的视图key

RUNOOB 图标

LOG

2023年4月24日 14:10:44 修改了一个在父标签有position: relative;时会出现定位不准的BUG

安装教程

npm i -S rect-selection

属性(Attributes)

参数说明类型默认值
rectCss选择框的样式String'position:absolute... ...'
selectedClass选中子节点的类名String'rect-selected'

事件(Events)

Event NameDescriptionParameters
rectSelected返回选中节点的视图的keyArray

使用说明

<template>
  <rect-selection @rectSelected="rectSelected">
    <div v-for="(item, idx) in list" :key="idx">
      {{ item.name }}
    </div>
  </rect-selection>
</template>

<script>
import RectSelection from 'rect-selection'
export default {
  components: {
    RectSelection,
  },

  data() {
    let list = []
    for (let i = 0; i < 12; i++) {
      list.push({ name: `name${i}` })
    }
    return {
      list,
    }
  },

  methods: {
    rectSelected(key) {
      let r = []
      for (let item of key) {
        r.push(this.list[item])
      }

      // 返回选中节点的数据集合
      console.log('r', r)
      return r
    },
  },
}
</script>

注意

Vue的设计理念是"数据->视图",但鼠标框选是 "视图->数据" 所以无法直接返回"数据". 只能返回视图的key,其父级通过key查找相应数据

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago