taro3兼容支付寶/微信小程序的自定義拖拽排序組件

描述:列表可以完成拖拽排序

此組件是根據支付寶原生文檔改編成taro-vue3的形式,只保留了拖拽的部分,其他功能都去除了,測試下來可以兼容支付寶和微信小程序。

支付寶原生文檔: https://opendocs.alipay.com/support/01rb28

一、布局

分成三塊:list, 拖拽按鈕浮層,拖拽時移動clone數據的movable-area/movable-view(movable-view里面的item和list中的一樣)
在這里插入圖片描述

二、思路
  1. 拖拽浮層上的事件touchstart、touchmove、touchend,用event.type判斷
  2. event.type = touchstart時,根據觸發點的pageX、pageY獲取當前的item, 在根據pageY算出movable-view的y(x=0)
  3. event.type = touchmove時
    a. 根據不斷變化的pageY計算movable-view的y
    b. 根據clientY判斷是向上還是向下滑動及所到item的處理
  4. event.type = touchend時,確定list數據,隱藏movable-view部分
三、原生轉taro-vue3時的差異

1、touch事件的大小寫區別
在這里插入圖片描述
在這里插入圖片描述

2、touch事件中獲取坐標
在這里插入圖片描述

3、樣式中的高度-- 有幾個固定高度
a. 如果list上方還有其他元素,這個元素的高度必須是固定的
b. list中item的高度必須是固定的
c. movable-view和里面的item高度必須是固定的
d. 這個組件的list不長,所以把scroll-view高度也固定了,如果超過一屏,可以看原生中的處理

!!!注意:這些固定的高度是寫在行內的,而且是按設計稿375的尺寸設置,單位px, 如果寫在css文件中,按750的尺寸,頁面渲染后的尺寸就有差異,計算就不準

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/10586.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/10586.shtml
英文地址,請注明出處:http://en.pswp.cn/web/10586.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

BGP(border gateway protocol)邊界網關協議初識篇

BGP它是一種路徑矢量協議,用于決定數據包在互聯網中的最佳路徑。 1、工作原理: 自治系統(AS)間路由: BGP主要用于連接不同自治系統之間的路由器,其中每個自治系統(AS)代表一組具有共同路由的網…

編譯 fdk-aac

文章目錄 關于 fdk-aac編譯 fdk-aac在 FFMpeg 編譯中啟用 關于 fdk-aac A standalone library of the Fraunhofer FDK AAC code from Android. github : https://github.com/mstorsjo/fdk-aac代碼托管 : https://sourceforge.net/projects/opencore-am…

最新巨量X-Bogus、_signature參數逆向分析與算法還原

文章目錄 1. 寫在前面2. 接口分析3. 斷點分析4. 扣代碼補環境5. 數據解密 【🏠作者主頁】:吳秋霖 【💼作者介紹】:擅長爬蟲與JS加密逆向分析!Python領域優質創作者、CSDN博客專家、阿里云博客專家、華為云享專家。一路…

# 從淺入深 學習 SpringCloud 微服務架構(十六)

從淺入深 學習 SpringCloud 微服務架構(十六) 一、SpringCloudStream:自定義消息通道 1、在子工程 stream_product (子模塊)中,創建 自定義的消息通道類 MyProcessor.java /*** spring_cloud_demo\stream_product…

JavaEE概述 + Maven

文章目錄 一、JavaEE 概述二、工具 --- Maven2.1 Maven功能 倉庫 坐標2.2 Maven之項目構建2.3 Maven之依賴管理 三、插件 --- Maven Helper 一、JavaEE 概述 Java SE、JavaEE: Java SE:指Java標準版,適用于各行各業,主要是Java…

【負載均衡式在線OJ項目day5】OJ服務模塊概要

前言 經過四天的努力已經完成了編譯運行這個大模塊,今天將要進入OJ服務模塊設計,該模塊的本質就是建立一個小型網站 一.功能 為用戶提供題目列表頁面為用戶提供網站首頁(用題目列表充當首頁)為用戶提供指定題目的編輯頁面為用戶提供提交代碼判題功能&a…

FFmpeg常用API與示例(二)—— 解封裝與轉封裝

封裝層 封裝格式(container format)可以看作是編碼流(音頻流、視頻流等)數據的一層外殼,將編碼后的數據存儲于此封裝格式的文件之內。 封裝又稱容器,容器的稱法更為形象,所謂容器,就是存放內容的器具,飲料是內容&…

【QT學習】補充:qt使用已經存在的類

1.右鍵項目--》添加現有文件 注意:不是添加新文件!!! 2.添加配置

掌握Android Fragment開發之魂:Fragment的深度解析(上)

Fragment是Android開發中用于構建動態和靈活界面的基石。它不僅提升了應用的模塊化程度,還增強了用戶界面的動態性和交互性,允許開發者將應用界面劃分為多個獨立、可重用的部分,每個部分都可以獨立于其他部分進行操作。本文將從以下幾個方面深…

信息系統項目管理師0102:可行性研究的內容(7項目立項管理—7.2項目可行性研究—7.2.1可行性研究的內容)

點擊查看專欄目錄 文章目錄 7.2項目可行性研究7.2.1可行性研究的內容1.技術可行性分析2.經濟可行性分析3.社會效益可行性分析4.運行環境可行性分析5.其他方面的可行性分析記憶要點總結7.2項目可行性研究 可行性研究是在項目建議書被批準后,從技術、經濟、社會和人員等方面的條…

OpenWrt項目UCI配置介紹

UCI(Unified Configuration Interface)是 OpenWrt 項目中使用的一種配置管理系統。它旨在為嵌入式設備提供一個統一且易于理解的配置接口。UCI 主要用于簡化 OpenWrt 系統的各種配置過程,使得管理網絡、服務和其他系統參數變得更加方便。 1 …

String的substring()方法導致的內存泄露問題

JDK 6的實現 String(int offset, int count, char value[]) {this.value value;this.offset offset;this.count count; }public String substring(int beginIndex, int endIndex) {//check boundaryreturn new String(offset beginIndex, endIndex - beginIndex, value);…

r語言數據分析案例-北京市氣溫預測分析與研究

一、選題背景 近年來,人類大量燃燒煤炭、天然氣等含碳燃料導致溫室氣 體過度排放,大量溫室氣體強烈吸收地面輻射中的紅外線,造 成溫室效應不斷累積,使得地球溫度上升,造成全球氣候變暖。 氣象溫度的預測一直以來都是…

[算法][差分][延遲相差][leetcode]2960. 統計已測試設備

題目地址: https://leetcode.cn/problems/count-tested-devices-after-test-operations/description/ 解法一:暴力解法 class Solution {public int countTestedDevices(int[] batteryPercentages) {//特殊條件判斷if(null batteryPercentages || ba…

JavaScript DOM 對元素進行的操作

DOM(Document Object Model)是一種用于訪問和操作HTML和XML文檔的編程接口。JavaScript通過DOM提供的方法和屬性可以對網頁的元素進行各種操作,比如修改元素的內容、樣式、屬性等。 下面是一些常見的對DOM元素的操作以及相應的代碼示例&…

@RequestMapping path正則規范

RequestMapping 注解是 Spring MVC 中用于映射 HTTP 請求的注解之一。它可以用于處理各種 HTTP 請求,包括 GET、POST、PUT、DELETE 等,并且可以指定請求的路徑、請求方法、請求參數等信息。 在使用 RequestMapping 注解時,可以使用正則表達式…

51單片機入門:串口通信

串行通信的初步認識 通信方式分類 1、按照數據傳送方式: 并行通信:通信時數據的各個位同時傳送,可以實現字節為單位的通信。 但是通信線多,占用資源多,成本高。 串行通信:一次只能發送一位&#xff0c…

python把png轉成jpg

在Python中,你可以使用PIL(Python Imaging Library,也稱為Pillow)庫來讀取PNG圖片并將其轉換為JPG格式。下面是一個簡單的示例代碼: from PIL import Image# 打開PNG圖片 png_image Image.open(input.png)# 保存為JP…

微軟exchange郵箱發送

使用java發送exchange類型的郵件&#xff0c;foxmail中配置如下圖&#xff1a; 需要的maven依賴如下&#xff1a; <dependency><groupId>com.microsoft.ews-java-api</groupId><artifactId>ews-java-api</artifactId><version>2.0</ve…

PCIE協議-2-事務層規范-Message Request Rules

2.2.8 消息請求規則 本文檔定義了以下幾組消息&#xff1a; INTx 中斷信號電源管理錯誤信號鎖定事務支持插槽電源限制支持廠商定義消息延遲容忍度報告&#xff08;LTR&#xff09;消息優化緩沖區沖洗/填充&#xff08;OBFF&#xff09;消息設備就緒狀態&#xff08;DRS&#…