亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

使用微信小程序?qū)崿F(xiàn)拖拽排序功能 示例代碼

剛開始學(xué)習(xí)微信小程序時(shí),我一直以為實(shí)現(xiàn)拖拽排序功能是很困難的事情。然而,通過深入研究官方文檔和嘗試不同的方法,我終于成功地實(shí)現(xiàn)了這一功能。在本篇文章中,我將分享實(shí)現(xiàn)拖拽排序功能的具體代碼示例。

首先,在 wxml 文件中創(chuàng)建一個(gè)包含所有可排序項(xiàng)的列表。例如:

<view class="sortable-list">
  <view wx:for="{{items}}" wx:key="unique-key" wx:for-item="item" wx:for-index="index" class="sortable-item"
    data-index="{{index}}" bindtouchstart="onDragStart" bindtouchmove="onDragging" bindtouchend="onDragEnd"
    bindtouchcancel="onDragEnd">
    {{item}}
  </view>
</view>

登錄后復(fù)制

在樣式文件 wxss 中,我們需要給可排序項(xiàng)添加一些樣式,使其可以拖拽。例如:

.sortable-item {
  padding: 10rpx;
  background-color: #F7F7F7;
  margin-bottom: 10rpx;
  border: 1rpx solid #CCCCCC;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.sortable-item.dragging {
  opacity: 0.6;
  -webkit-transform: scale(0.95);
  transform: scale(0.95);
  z-index: 999;
  border-color: #33CCFF;
}

登錄后復(fù)制

在對(duì)應(yīng)的 js 文件中,我們需要定義一些事件處理函數(shù)來實(shí)現(xiàn)拖拽排序。首先,我們需要在頁面的 data 字段中定義一個(gè)排序列表 items 和一個(gè)正在拖拽中的索引值 draggingIndex:

Page({
  data: {
    items: ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 5'],
    draggingIndex: -1
  },
  // ...
});

登錄后復(fù)制

接下來,我們需要實(shí)現(xiàn)拖拽開始、拖拽過程和拖拽結(jié)束的事件處理函數(shù):

Page({
  data: {
    // ...
  },
  onDragStart(e) {
    this.setData({
      draggingIndex: e.currentTarget.dataset.index
    });
  },
  onDragging(e) {
    const index = e.currentTarget.dataset.index;
    const draggingIndex = this.data.draggingIndex;

    if (draggingIndex !== -1) {
      const items = this.data.items;
      const [item] = items.splice(draggingIndex, 1);
      items.splice(index, 0, item);

      this.setData({
        items
      });
      this.setData({
        draggingIndex: index
      });
    }
  },
  onDragEnd(e) {
    this.setData({
      draggingIndex: -1
    });
  }
});

登錄后復(fù)制

在拖拽開始事件處理函數(shù) onDragStart 中,我們獲取當(dāng)前拖拽項(xiàng)的索引值,并將其保存到數(shù)據(jù)中的 draggingIndex 字段。

在拖拽過程事件處理函數(shù) onDragging 中,我們將拖拽項(xiàng)從原位置移除,并插入到當(dāng)前拖拽位置。最后,我們將修改后的列表保存到數(shù)據(jù)中,同時(shí)更新當(dāng)前拖拽項(xiàng)的索引值。

在拖拽結(jié)束事件處理函數(shù) onDragEnd 中,我們將數(shù)據(jù)中的 draggingIndex 字段重置為 -1,表示拖拽過程結(jié)束。

分享到:
標(biāo)簽:功能 微信小 拖拽 排序 程序
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績?cè)u(píng)定