這篇文章主要介紹了小程序怎么實(shí)現(xiàn)左滑刪除效果,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
10年積累的網(wǎng)站設(shè)計(jì)、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有天寧免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
小程序?qū)崿F(xiàn)左滑刪除效果的具體內(nèi)容如下
1、movable-area基本概念
實(shí)現(xiàn)思路:
大家仔細(xì)去看看官網(wǎng)的文檔后再來(lái)看我寫的這篇文章可能會(huì)更好理解。
(1)movable-area這個(gè)就是定義了一個(gè)移動(dòng)的區(qū)域,跟普通的<view></view>的含義是一樣的,不同在于,接著往下看;
注意:movable-area 必須設(shè)置width和height屬性,不設(shè)置默認(rèn)為10px
(2)movable-view這個(gè)就是一個(gè)可移動(dòng)的視圖容器,可以在頁(yè)面中拖拽滑動(dòng)。
movable-view 必須設(shè)置width和height屬性,不設(shè)置默認(rèn)為10px
movable-view 默認(rèn)為絕對(duì)定位,top和left屬性為0px
當(dāng)movable-view小于movable-area時(shí),movable-view的移動(dòng)范圍是在movable-area內(nèi);當(dāng)movable-view大于movable-area時(shí),movable-view的移動(dòng)范圍必須包含movable-area(x軸方向和y軸方向分開考慮)
但是要注意: movable-view必須在<movable-area/>組件中,并且必須是直接子節(jié)點(diǎn),否則不能移動(dòng)。
有這么一些屬性看微信小程序api
OK,這就是關(guān)于movable-area組件的一些基本概念的介紹,接下來(lái)我們實(shí)踐實(shí)踐。
2、頁(yè)面結(jié)構(gòu)
(1)這是我們html基本頁(yè)面結(jié)構(gòu),我主要來(lái)解釋一下movable-view的屬性起到了一些什么作用。
首先我們定義了direction方向?yàn)閔orizontal(橫向);
然后x就是偏移方向,這里我們給個(gè)默認(rèn)值為0;
out-of-bounds定義當(dāng)超過(guò)可移動(dòng)區(qū)域后,還可以移動(dòng);
damping為阻尼系數(shù),設(shè)置為100就是讓它移動(dòng)快點(diǎn);
最后綁定了一個(gè)在拖動(dòng)過(guò)程中觸發(fā)的事件、觸摸開始和結(jié)束事件。
<movable-view damping="100" out-of-bounds="true" direction="horizontal" x="{{x}}" animation="false" bindchange="handleMovableChange" capture-bind:touchstart="handleTouchestart" capture-bind:touchend="handleTouchend">
代碼如下:
html
<view class="container"> <view class="main"> <view class="main_item"> <movable-area> <movable-view damping="100" out-of-bounds="true" direction="horizontal" x="{{x}}" animation="false" bindchange="handleMovableChange" capture-bind:touchstart="handleTouchestart" capture-bind:touchend="handleTouchend"> <view class="main_item_content "> 左滑刪除 </view> </movable-view> </movable-area> <view class="delete_btn " data-productIndex="{{index}} " bindtap="handleDeleteProduct ">刪除</view> </view> </view> </view>
css:
.container { padding: 0; } page { padding: 0; } .main { display: flex; flex-direction: column; align-items: center; } .main_item { display: flex; flex-direction: row; background: #fff; overflow: hidden; } movable-area { width: 532rpx; height: 201rpx; background: #fff; } movable-view { width: 716rpx; height: 201rpx; } .main_item_content { box-sizing: border-box; height: 201rpx; border-radius: 10rpx; line-height: 201rpx; color: #8e8e8e; padding-left: 10px; background: #eee; } .delete_btn { width: 184rpx; height: 201rpx; background-color: #8FC31F; border-top-right-radius: 10px; border-bottom-right-radius: 10px; color: #fff; font-size: 28rpx; text-align: center; line-height: 201rpx; }
js:
// pages/listDel/index.js Page({ /** * 頁(yè)面的初始數(shù)據(jù) */ data: { // x軸方向的偏移 x: 0, // 當(dāng)前x的值 currentX: 0 }, handleMovableChange: function(e) { // this.data.currentX = e.detail.x; this.data.currentX = e.detail.x; }, handleTouchend: function(e) { this.isMove = true; if (this.data.currentX < -46) { this.data.x = -92; this.setData({ x: this.data.x }); } else { this.data.x = 0; this.setData({ x: this.data.x }); } }, handleTouchestart: function(e) {}, /** * 生命周期函數(shù)--監(jiān)聽頁(yè)面加載 */ onLoad: function(options) { // let _this = this; // wx.createSelectorQuery().selectAll('.delBtn ').boundingClientRect(function(rect) { // _this.data.delWidth = rect[0].width; // }).exec(); }, /** * 生命周期函數(shù)--監(jiān)聽頁(yè)面初次渲染完成 */ onReady: function() { }, /** * 生命周期函數(shù)--監(jiān)聽頁(yè)面顯示 */ onShow: function() { }, /** * 生命周期函數(shù)--監(jiān)聽頁(yè)面隱藏 */ onHide: function() { }, /** * 生命周期函數(shù)--監(jiān)聽頁(yè)面卸載 */ onUnload: function() { }, /** * 頁(yè)面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動(dòng)作 */ onPullDownRefresh: function() { }, /** * 頁(yè)面上拉觸底事件的處理函數(shù) */ onReachBottom: function() { }, /** * 用戶點(diǎn)擊右上角分享 */ onShareAppMessage: function() { } })
2:touchstart、touchmove 如果大家想了解的更清楚可以查看幫助文檔的哦
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“小程序怎么實(shí)現(xiàn)左滑刪除效果”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
網(wǎng)站題目:小程序怎么實(shí)現(xiàn)左滑刪除效果
文章起源:http://aaarwkj.com/article26/jeiejg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站策劃、、網(wǎng)站設(shè)計(jì)、建站公司、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)