有時候我們頁面中的元素需要拖拽來改變順序或者替換位置。Vue是個非常強大的JavaScript框架,可以幫助我們很容易實現這種拖拽替換元素的功能。
實現拖放可能需要多個事件標記和DOM更改。我們可以使用拖放事件,如dragstart、dragend、dragenter和dragleave來實現拖拽。
methods: { dragstartHandler(event, index) { event.dataTransfer.setData('index', index); }, dropHandler(event, index) { event.preventDefault(); // 防止瀏覽器默認行為 const sourceIndex = event.dataTransfer.getData('index'); const cards = this.cards; const draggedCard = cards.splice(sourceIndex, 1)[0]; cards.splice(index, 0, draggedCard); }, dragoverHandler(event) { event.preventDefault(); } }
在拖動元素時,我們需要使用dragstart事件來設置被拖動元素的ID或索引。
在目標元素上,我們需要使用dragover事件來防止默認行為和drop事件來執行拖放邏輯。
完整的示例代碼:
{{ card.text }}
在Vue中實現拖拽替換元素非常簡單,只需綁定各個事件并設置對應的邏輯即可。這個實現相當輕松,不過你可以按照自己的需求進行擴展。
下一篇csv文件轉json