日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Vue 基于 vuedraggable 實現選中、拖拽、排序效果

瀏覽:35日期:2023-01-20 14:52:45

今天有個朋友說要做個效果:Vue實現拖拽排序,要有 checked,輸出結果是排序后的,要全選,未選中的不能拖動。

其實我之前基于 Sortable 做過一個類似的效果。也給他看過了,沒看太明白,他就自己基于 vuedraggable 實現了一下。

正好有點問題給他解決了一下。廢話不多說,先上最終效果:Vue 拖拽排序效果 測試地址。下面就是最終效果圖。

Vue 基于 vuedraggable 實現選中、拖拽、排序效果

效果一:實現選中 和 全選效果

就下面這樣,elementUI 官方 Demo。很簡單毫無挑戰呀。

<el-checkbox :indeterminate='isIndeterminate' v-model='checkAll' @change='handleCheckAllChange' >全部</el-checkbox><el-checkbox-group v-model='checkedCities' @change='handleCheckedCitiesChange'> <el-checkbox : v-for='city in cities' :label='city' :key='city'>{{ city }}</el-checkbox></el-checkbox-group>

效果二:實現拖拽效果

拖拽效果基于 vuedraggable 實現。

問題

這里我憑借我的資深經(踩)驗(坑),先提出幾個可能存在的問題。

<el-checkbox-group v-model='checkedCities'> 實現的效果只是記錄選中的項,無排序 vue 和 jQuery 做起來最大的區別是什么?基于如下描述,會出現視圖顯示和數據對不上。

vue 通過數據驅動視圖,也可以理解為數據改變,視圖自動改變。

jQuery 通過改變直接視圖先反饋數據。

基于上面兩點,就可以看到基本上操作 DOM 的庫,Vue 在使用的時候都有問題。

因為他們只操作了 DOM,而 Vue 需要是的你修改數據。

解決方案 & 代碼

<el-checkbox-group v-model='checkedCities'> 的問題比較好解決。我們在數據的時候根據數據源排序一把就 ok。

因為問題是庫只修改 DOM,未修改數據,那么我們可以考慮監聽他的回調事件,然后手動的去修改數據(Sortable 我就這樣做的)。Vue.Draggable 的封裝還是有點東西的,他提供了 :list='cities' 讓你傳入數據源,然后操作的時候替你修改數據。

<el-checkbox :indeterminate='isIndeterminate' v-model='checkAll' @change='handleCheckAllChange'>全部</el-checkbox><el-checkbox-group v-model='checkedCities' @change='handleCheckedCitiesChange'> <draggable draggable='.item' :list='cities'> <el-checkbox : v-for='city in cities' :label='city' :key='city'>{{ city }}</el-checkbox> </draggable></el-checkbox-group>

效果三:只有選中的才能拖拽

上面我們已經實現了拖拽。但是未選中也能拖拽排序就感覺怪怪的。這里有兩個做法

我是記得有提供這樣的功能,找了找文檔果然有 draggable='.item' ,指定可拖拽元素的 class。 但是它這個效果很詭異,未選中的的確不能拖動了,但是你也不能拖動已選中的占據他的位置。 所以我又加了個處理。我對數據源做了排序,這樣選中和未選中就分堆了。 接下來說第二種方案。那就是在他提供的鉤子函數上去自己判斷當前 DOM 該不該執行拖拽。

Vue 的庫在使用中要注意操作元數據,而不是只修改 DOM。

ps:下面在看下vue + vuedraggable 實現拖拽排序

安裝

npm install vuedraggable

引入

import draggable from ’vuedraggable’

注冊

components: { draggable}

html

<draggable v-model='modules' :clone='clone' :options='{ group: { name: ’layout’, pull: ’clone’, put: false }, draggable: ’.item’, forceFallback: true, sort: false, animation: 50 }'> <transition-group tag='ul'> <li v-for='(item, index) in modules' :key='index' class='item'> <div class='holder'> <img :src='http://www.b3g6.com/bcjs/item.icon' /> <h3>{{item.text}}</h3> </div> </li> </transition-group></draggable>

相關文檔

官方地址:https://sortablejs.github.io/Vue.Draggable/#/simple

Github:https://github.com/SortableJS/Vue.Draggable

Demo:https://david-desmaisons.github.io/draggable-example/

到此這篇關于Vue 基于 vuedraggable 實現選中、拖拽、排序效果的文章就介紹到這了,更多相關vue vuedraggable實現選中、拖拽、排序內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费日韩成人| 欧美日韩18| 老司机免费视频一区二区三区| 美女尤物久久精品| 先锋影音国产一区| 中文字幕乱码亚洲无线精品一区| 老牛国产精品一区的观看方式| 国产精品人人爽人人做我的可爱| 日韩视频免费| 蜜桃传媒麻豆第一区在线观看 | 国产日韩在线观看视频| 一区二区亚洲视频| 国产精品亚洲综合久久| 精品精品国产三级a∨在线| a天堂资源在线| 今天的高清视频免费播放成人| 欧美~级网站不卡| 老司机久久99久久精品播放免费| 亚洲精品三级| 国产精品115| 啪啪国产精品| 丝袜脚交一区二区| 国产精品第一国产精品| 水蜜桃精品av一区二区| 亚洲一区成人| 成人精品视频| 亚洲天堂久久| 国产麻豆一区| 亚洲香蕉网站| 国产精品久久久久久久久久齐齐| 精品视频一二| 中文字幕av一区二区三区四区| 精品国产三区在线| 亚洲理论在线| 精品国模一区二区三区| 欧美亚洲一区二区三区| 婷婷激情综合| 97精品中文字幕| 日本vs亚洲vs韩国一区三区二区| 欧洲av不卡| 另类综合日韩欧美亚洲| 欧美高清一区| 精品日韩一区| 日韩欧美激情电影| 99热免费精品| 久久精品影视| 97视频热人人精品免费| 久久av免费| 国产精品密蕾丝视频下载| 蜜桃久久av一区| 国产精品社区| 午夜一级久久| 噜噜噜躁狠狠躁狠狠精品视频| 国产综合精品| 999国产精品视频| 黑人精品一区| 国产精品天天看天天狠| 日韩精品一区二区三区中文字幕| 午夜欧美精品久久久久久久| 久久精品高清| 伊人影院久久| 亚洲欧美日韩视频二区| 亚洲精品在线观看91| 亚洲午夜视频| 日韩一区二区免费看| 欧美sss在线视频| 伊人久久国产| 99精品美女| 亚洲综合婷婷| 亚洲欧洲av| 久久精品国产99国产精品| 石原莉奈在线亚洲二区| 黄色成人在线网址| 亚洲一区二区三区无吗| 最新国产精品| 欧美激情一区| 成人日韩精品| 视频一区二区中文字幕| 每日更新成人在线视频| 啪啪亚洲精品| 国产精品成人一区二区不卡| 99久久九九| 亚洲九九精品| 四虎8848精品成人免费网站| 欧美日韩一二| 欧美另类中文字幕 | 91欧美日韩| 一区在线免费观看| 日本va欧美va瓶| www.九色在线| 蜜臀久久99精品久久久画质超高清| 日本不卡的三区四区五区| 国际精品欧美精品| 在线一区视频| 久久久精品区| 在线看片日韩| 国产精品115| 免费不卡在线观看| 中文字幕在线官网| 欧美日本久久| 99国产精品久久久久久久| 日本中文字幕视频一区| 91看片一区| 国产精品片aa在线观看| 9国产精品视频| 成人亚洲一区二区| 天堂精品久久久久| 日韩一区二区免费看| 国产va在线视频| 青草久久视频| 免费在线视频一区| 高清在线一区| 国产午夜久久av| 日韩一区二区三区精品视频第3页| 国产 日韩 欧美一区| 国产精品va| 日韩黄色免费网站| 热久久免费视频| 久久性天堂网| 蜜臀a∨国产成人精品| 性一交一乱一区二区洋洋av| 99精品在线| 婷婷激情久久| 99精品在线免费在线观看| 国产一区二区三区亚洲| 里番精品3d一二三区| 欧美亚洲网站| 欧美日韩一视频区二区| 日本色综合中文字幕| 日韩av资源网| 国产伦理久久久久久妇女| 青草综合视频| 国产精品久久久免费| 国产精品传媒麻豆hd| 久久精品国产亚洲aⅴ| 精品成av人一区二区三区 | 欧美高清一区| 99re国产精品| 亚洲专区在线| 亚洲精品在线国产| 久久精品99国产精品| 欧美极品一区二区三区| 91亚洲国产| 日韩午夜免费| 一区二区精彩视频| 国产三级精品三级在线观看国产| 国产精品成人国产| 日韩黄色大片| 国产精品人人爽人人做我的可爱| 一区二区国产在线| 欧美在线首页| 中文字幕在线视频久| 免费观看不卡av| 欧美影院三区| 色狠狠一区二区三区| 国产91在线播放精品| 久久国产66| 成人精品高清在线视频| 巨乳诱惑日韩免费av| 欧美激情一区| 亚洲欧美日韩精品一区二区| 欧美精品91| 爽好久久久欧美精品| 久久精品九色| 视频一区二区三区入口| 国产一区二区三区四区二区| 欧美专区18| 在线看片国产福利你懂的| 好吊日精品视频 | 在线一区视频观看| 国产精品国码视频| 日韩在线播放一区二区| 精品视频一二| 欧美中文高清| 免费观看在线综合色| 国内亚洲精品| 成人小电影网站| 国产美女久久| 日本国产亚洲| 免费欧美在线视频| 欧美1区2区3区| 亚洲综合电影| 69堂精品视频在线播放| 麻豆精品91| 国产亚洲精品自拍| av亚洲在线观看| 成人羞羞在线观看网站| 国产精品视频一区视频二区| 中文字幕一区二区三区四区久久| 欧美二区视频| 亚洲第一区色| 亚洲高清不卡| 日韩av首页| 久久精品影视| 免费精品国产的网站免费观看| 日韩美女一区二区三区在线观看| 高清久久一区| 麻豆91在线播放| 成人午夜亚洲| 日本精品在线中文字幕|