最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue拖拽排序組件Vue-Slicksort解讀

 更新時(shí)間:2023年03月10日 14:35:13   作者:Right atrium  
這篇文章主要介紹了Vue拖拽排序組件Vue-Slicksort,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、效果圖

二、安裝組件

npm i vue-slicksort -S

三、使用組件

<div class="maintenance_img mt50 mb50 pl20 pr20" style="font-size: 16px;font-weight: 600;position: relative;">
    <!-- 拖拽 -->
    <SlickList
        :lockToContainerEdges="true"
        lockAxis="x"
        axis="x"
        v-model="maintenanceData.img_list"
        @input="getChangeLists"
        style="display: flex"
        >
        <SlickItem style="z-index: 10000" v-for="(item, index) in maintenanceData.img_list" :index="index" :key="index">
            <div class="maintenance_top">
                <img :src="item" @mouseover="changeMask(index)" @mouseout="changeMask(index)" alt="">
            </div>
        </SlickItem>
    </SlickList>
    <div style="display: flex;position: absolute;bottom: -15px;">
        <div class="maintenance_icon" v-for="(item, index) in maintenanceData.img_list" :key="index">
            <div class="img_bg" :ref="'mask' + index" @mouseover="changeMask(index)" @mouseout="changeMask(index)">
                <Icon @click.stop="isImgShow = true;bigImg = item" class="pointer" size="20" color="#000000" type="md-search" />
                <Icon @click.stop="downloadImg(item)" class="pointer" size="20" color="#000000" type="md-download" />
                <Icon @click.stop="movingItems(4, index)" class="pointer" size="20" color="#000000" type="md-trash" />
            </div>
        </div>
    </div>
    <!-- 600*330 -->
    <div class="add-img" v-if="maintenanceData.img_list.length<5">
        <span>
            <Icon type="md-add" size="30"></Icon>
        </span>
        <p>添加圖片</p>
        <input @change="uploadImegs($event, 1)" type="file" accept="image/*" />
    </div>
</div>
    import { SlickList, SlickItem } from "vue-slicksort";
    export default {
        components:{
            SlickItem,
            SlickList
        },
        data() {
            return {
                maintenanceData: {
                    img_list: [], //圖片
                },
            }
        },
        created() {
            
        },
        methods: {
            getChangeLists(vals) {
                // 拖拽完成后返回新的排序數(shù)組
                console.log(vals);
            },
        },
    }
.maintenance_top {
    display: flex;
    z-index: 10000;
}
.maintenance_top {
    width: 140px;
    height: 78px;
    border: 1px dashed #ccc;
    border-radius: 6px;
    display: flex;
    align-items: center;
    position: relative;
    margin-right: 15px;
}
.maintenance_top > img{
    max-width: 138px;
    max-height: 138px;
    border-radius: 6px;
}
.maintenance_icon{
    width: 140px;
    display: flex;
    align-items: center;
    position: relative;
    margin-right: 15px;
}
.maintenance_img{
    display: flex;
}
.maintenance_img>div>div{
    z-index: 10000;
}
.maintenance_img > .add-img{
    display: block;
    width: 140px;
    height: 78px;
    border-radius: 6px;
} 
.img_bg{
    width: 100%;
    height: 40px;
    position: absolute;
    bottom: -20px;
    left: 0;
    border-radius: 6px;
    display: none;
    align-items: center;
    justify-content: space-evenly;
}

四、組件參數(shù)

名稱類型默認(rèn)值說(shuō)明
valueArray-列表的內(nèi)容
axisStringy列表元素可以被橫向拖拽,縱向拖拽還是網(wǎng)格拖拽。用x,y,xy來(lái)表示
lockAxisArray-用于排序時(shí)在坐標(biāo)系中鎖定元素的移動(dòng)
helperClassString-helper的自定義樣式類
transitionDurationNumber300元素移動(dòng)動(dòng)畫的持續(xù)時(shí)間
pressDelayNumber0如果需要當(dāng)元素被按下一段時(shí)間再允許拖拽,可以設(shè)置這個(gè)屬性
pressThresholdNumber5移動(dòng)允許被忽略的閾值,單位是像素
distanceNumber0如果需要在拖拽出一定距離之后才被識(shí)別為正在拖拽的元素,可以設(shè)置這個(gè)屬性
useDragHandleBooleanfalse如果使用HandleDirective,設(shè)置為true
useWindowAsScrollContainerBooleanfalse是否設(shè)置window為可滾動(dòng)的容器
hideSortableGhostBooleantrue是否自動(dòng)隱藏ghost元素
lockToContainerEdgesBooleanfalse是否對(duì)正在拖拽的元素鎖定容器邊緣
lockOffsetString50%對(duì)正在拖拽的元素鎖定容器邊緣的偏移量
shouldCancelStartFunction-在拖拽開始前這個(gè)方法將被調(diào)用
getHelperDimensionsFunction-可選方法({node, index, collection}),用于返回SortableHelper的計(jì)算尺寸

五、組件方法

名稱參數(shù)說(shuō)明
sortStartevent, node, index, collection當(dāng)拖拽開始時(shí)觸發(fā)
sortMoveevent當(dāng)拖拽時(shí)鼠標(biāo)移動(dòng)時(shí)觸發(fā)
sortEndevent, newIndex, oldIndex, collection當(dāng)拖拽結(jié)束時(shí)觸發(fā)
inputnewList當(dāng)拖拽結(jié)束后產(chǎn)生新的列表時(shí)觸發(fā)

HandleDirective

v-handle 指令在可拖動(dòng)元素內(nèi)部使用。(即用了這個(gè)指令,可以讓拖動(dòng)只在元素的某個(gè)位置生效)

Container 必須由 :useDragHandle 屬性,且設(shè)置為 true 時(shí)才能正常工作。

這里有關(guān)于此的一個(gè)簡(jiǎn)單元素的例子:

<template>
	<li class="list-item">
	    <!-- 拖動(dòng)只在 span 元素上生效 -->
	    <span v-handle class="handle"></span>
	    {{item.value}}
	</li>
</template>

<script>
    import { ElementMixin, HandleDirective } from 'vue-slicksort';

    export default {
        mixins: [ElementMixin],
        directives: { handle: HandleDirective },
    };
</script>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解vue 配合vue-resource調(diào)用接口獲取數(shù)據(jù)

    詳解vue 配合vue-resource調(diào)用接口獲取數(shù)據(jù)

    本篇文章主要介紹了vue 配合vue-resource調(diào)用接口獲取數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Vue vee-validate插件的簡(jiǎn)單使用

    Vue vee-validate插件的簡(jiǎn)單使用

    這個(gè)插件可以用來(lái)在未使用組件庫(kù),沒有自帶好的校驗(yàn)規(guī)則時(shí)使用,進(jìn)行表單校驗(yàn),非常的實(shí)用,感興趣的朋友可以參考下本文,了解該插件的使用方法
    2021-06-06
  • Vue實(shí)現(xiàn)Google第三方登錄的示例代碼

    Vue實(shí)現(xiàn)Google第三方登錄的示例代碼

    本文記錄作者在vue項(xiàng)目中使用到Google第三方登錄,查詢到的資料文檔也不詳細(xì),故此把自己所遇到的坑及問題詳細(xì)的記錄下來(lái)。
    2021-07-07
  • vue遞歸組件實(shí)現(xiàn)樹形結(jié)構(gòu)

    vue遞歸組件實(shí)現(xiàn)樹形結(jié)構(gòu)

    這篇文章主要為大家詳細(xì)介紹了vue遞歸組件實(shí)現(xiàn)樹形結(jié)構(gòu),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • vite vue3 路由配置@找不到文件的問題及解決

    vite vue3 路由配置@找不到文件的問題及解決

    在Vite項(xiàng)目中配置路由時(shí),可能會(huì)遇到文件路徑錯(cuò)誤導(dǎo)致的加載失敗問題,常見的解決辦法包括安裝路徑處理插件、正確設(shè)置vite.config.js中的路徑別名以及重啟項(xiàng)目,通過(guò)正確配置,可以確保路由正確加載對(duì)應(yīng)的界面文件,避免路徑錯(cuò)誤導(dǎo)致的問題
    2024-10-10
  • 基于vue.js實(shí)現(xiàn)側(cè)邊菜單欄

    基于vue.js實(shí)現(xiàn)側(cè)邊菜單欄

    這篇文章主要為大家詳細(xì)介紹了基于vue.js實(shí)現(xiàn)側(cè)邊菜單欄的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 詳解Vue3 Teleport 的實(shí)踐及原理

    詳解Vue3 Teleport 的實(shí)踐及原理

    這篇文章主要介紹了Vue3 Teleport 組件的實(shí)踐及原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • vue如何通過(guò)點(diǎn)擊事件實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)詳解

    vue如何通過(guò)點(diǎn)擊事件實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)詳解

    頁(yè)面跳轉(zhuǎn),我們一般都通過(guò)路由跳轉(zhuǎn)實(shí)現(xiàn),通常情況下可直接使用router-link標(biāo)簽實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn),下面這篇文章主要給大家介紹了關(guān)于vue如何通過(guò)點(diǎn)擊事件實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Vue中的errorHandler異常捕獲問題

    Vue中的errorHandler異常捕獲問題

    這篇文章主要介紹了Vue中的errorHandler異常捕獲問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Vue.js如何利用v-for循環(huán)生成動(dòng)態(tài)標(biāo)簽

    Vue.js如何利用v-for循環(huán)生成動(dòng)態(tài)標(biāo)簽

    這篇文章主要給大家介紹了關(guān)于Vue.js如何利用v-for循環(huán)生成動(dòng)態(tài)標(biāo)簽的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01

最新評(píng)論

西乡县| 临安市| 商南县| 察哈| 黔南| 安徽省| 津市市| 丰原市| 乡城县| 桃园县| 容城县| 乌兰察布市| 富裕县| 天长市| 潜江市| 阜新| 凉城县| 灵璧县| 洪洞县| 娄烦县| 盖州市| 西藏| 保德县| 聂荣县| 邵东县| 黔江区| 安阳市| 镇平县| 罗平县| 巩义市| 大英县| 唐海县| 岳阳县| 海兴县| 乳山市| 黄浦区| 定安县| 荥阳市| 思茅市| 旅游| 绥化市|