中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue拖拽排序組件Vue-Slicksort怎么使用

發布時間:2023-03-10 15:42:03 來源:億速云 閱讀:181 作者:iii 欄目:開發技術

這篇“Vue拖拽排序組件Vue-Slicksort怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Vue拖拽排序組件Vue-Slicksort怎么使用”文章吧。

    一、效果圖

    Vue拖拽排序組件Vue-Slicksort怎么使用

    二、安裝組件

    npm i vue-slicksort -S

    三、使用組件

    <div class="maintenance_img mt50 mb50 pl20 pr20" >
        <!-- 拖拽 -->
        <SlickList
            :lockToContainerEdges="true"
            lockAxis="x"
            axis="x"
            v-model="maintenanceData.img_list"
            @input="getChangeLists"
            
            >
            <SlickItem  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 >
            <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) {
                    // 拖拽完成后返回新的排序數組
                    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;
    }

    四、組件參數

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

    五、組件方法

    名稱參數說明
    sortStartevent, node, index, collection當拖拽開始時觸發
    sortMoveevent當拖拽時鼠標移動時觸發
    sortEndevent, newIndex, oldIndex, collection當拖拽結束時觸發
    inputnewList當拖拽結束后產生新的列表時觸發

    HandleDirective

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

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

    這里有關于此的一個簡單元素的例子:

    <template>
    	<li class="list-item">
    	    <!-- 拖動只在 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>

    以上就是關于“Vue拖拽排序組件Vue-Slicksort怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    太仆寺旗| 嵊州市| 台中市| 旬邑县| 深水埗区| 安溪县| 平阳县| 黄骅市| 鄂托克旗| 玛沁县| 隆昌县| 建德市| 长治市| 米泉市| 六安市| 连南| 新宁县| 邢台市| 四会市| 乌海市| 都匀市| 二连浩特市| 汶上县| 兴海县| 长治县| 拜泉县| 崇义县| 瑞安市| 抚远县| 洛浦县| 同德县| 灌阳县| 夏津县| 平乡县| 周至县| 越西县| 漳浦县| 扎赉特旗| 马公市| 神农架林区| 南部县|