近用Vue3写了个用于拖拽调整地位和大小的的组件,同时反对冲突检测,元素吸附对齐,实时参考线等个性。

首先git地址 : Vue3DraggableResizable

个性

    • 反对拖拽和缩放,可别离定义开启或敞开**
    • 自定义缩放句柄(缩放时共有八个方位可操作,可别离定义开启或敞开)**
    • 限度组件的拖动和缩放在其父节点内**
    • 自定义组件内各种类名**
    • 缩放句柄的类名也可自定义**
    • 元素吸附对齐**
    • 实时参考线**
    • 自定义参考线**
    • 应用 Vue3 和 ts**

    该组件有几十种参数和事件,可进行各种配置,具体可查看Github的具体文档,这里只说一下简略的应用形式和个性。

    <template>  <div id="app">    <div class="parent">      <DraggableContainer>        <Vue3DraggableResizable>          Test        </Vue3DraggableResizable>        <Vue3DraggableResizable>          Another test        </Vue3DraggableResizable>      </DraggableContainer>    </div>  </div></template><script>import { defineComponent } from 'vue'import { DraggableContainer },Vue3DraggableResizable  from 'vue3-draggable-resizable'//引入默认款式import 'vue3-draggable-resizable/dist/Vue3DraggableResizable.css'export default defineComponent({  components: { Vue3DraggableResizable, DraggableContainer }})</script><style>.parent {  width: 200px;  height: 200px;  position: absolute;  top: 100px;  left: 100px;  border: 1px solid #000;  user-select: none;}</style>

    如上方,简略的引入组件即可,需注意,默认导出的Vue3DraggableResizable组件就是拖拽缩放组件,可独自应用也可和DraggableContainer联合应用,DraggableContainer是另一个容器组件,该组件提供了主动吸附以及参考线等个性的反对,如果你不须要主动吸附的话,间接独自应用Vue3DraggableResizable组件即可,具体props和events可查看git文档。

    如果该组件对你有用的话,在 git上帮我点个star 是最好的了,如果你在应用过程中有什么问题的话,也欢送在issues上发问,我会尽快恢复或解决的。