【VueDraggablePlus】拖拽功能组件使用三部曲

第一步 下载

npm install vue-draggable-plus --save

第二步 引入页面注册使用

<template>
  <div id="app">
    <h4>简易版Vue3拖拽功能【VueDraggablePlus】案例</h4>
    <VueDraggable ref="el" v-model="imgList" :animation="150" style="display: flex;flex-wrap: wrap;padding: 0 10px;border: 1px solid red;" >
      <div  v-for="item in imgList" :key="item.id" style="border:1px solid #afa9a9;cursor: pointer;padding: 2%;margin: 3%;border-radius: 5px">
        {{item.text}}
      </div>
    </VueDraggable>
  </div>
</template>


<script>
import { VueDraggable } from 'vue-draggable-plus'
export default {
  name: 'App',
  components: {
    VueDraggable
  },
  data(){
    return{
      imgList:[
        { id: 1, text: 'Item 1' },
        { id: 2, text: 'Item 2' },
        { id: 3, text: 'Item 3' },
      ],
    }
  }
}
</script>

第三步

保存,看效果!

完事~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
React中实现拖拽组件的方法有多种,其中比较常用的是使用react-dnd库。下面是一个简单的使用示例: 1. 安装react-dnd和react-dnd-html5-backend: ``` npm install --save react-dnd react-dnd-html5-backend ``` 2. 创建可拖拽和可放置的组件: ```jsx import { useDrag, useDrop } from 'react-dnd'; function DraggableItem(props) { const [{ isDragging }, drag] = useDrag({ item: { type: 'item', id: props.id }, collect: monitor => ({ isDragging: monitor.isDragging(), }), }); return ( <div ref={drag} style={{ opacity: isDragging ? 0.5 : 1 }}> {props.children} </div> ); } function DroppableArea(props) { const [{ isOver }, drop] = useDrop({ accept: 'item', drop: (item, monitor) => { props.onDrop(item.id); }, collect: monitor => ({ isOver: monitor.isOver(), }), }); return ( <div ref={drop} style={{ backgroundColor: isOver ? 'lightgreen' : 'white' }}> {props.children} </div> ); } ``` 3. 在父组件使用拖拽和可放置的组件: ```jsx function App() { const [items, setItems] = useState([1, 2, 3]); const handleDrop = (id) => { setItems(items.filter(item => item !== id)); }; return ( <div> {items.map(item => ( <DraggableItem key={item} id={item}> Item {item} </DraggableItem> ))} <DroppableArea onDrop={handleDrop}> Drop here </DroppableArea> </div> ); } ``` 在上面的示例中,`DraggableItem`组件是可拖拽的,`DroppableArea`组件是可放置的。当`DraggableItem`被拖拽到`DroppableArea`上时,会调用`handleDrop`函数删除该项。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值