国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

小程序實現左滑刪除效果

2019-11-19 11:08:24
字體:
來源:轉載
供稿:網友

本文實例為大家分享了小程序實現左滑刪除效果的具體代碼,供大家參考,具體內容如下

1、movable-area基本概念

實現思路:

大家仔細去看看官網的文檔后再來看我寫的這篇文章可能會更好理解。

(1)movable-area這個就是定義了一個移動的區域,跟普通的<view></view>的含義是一樣的,不同在于,接著往下看;

注意:movable-area 必須設置width和height屬性,不設置默認為10px

(2)movable-view這個就是一個可移動的視圖容器,可以在頁面中拖拽滑動。

movable-view 必須設置width和height屬性,不設置默認為10px
movable-view 默認為絕對定位,top和left屬性為0px
當movable-view小于movable-area時,movable-view的移動范圍是在movable-area內;當movable-view大于movable-area時,movable-view的移動范圍必須包含movable-area(x軸方向和y軸方向分開考慮)

但是要注意: movable-view必須在<movable-area/>組件中,并且必須是直接子節點,否則不能移動。
有這么一些屬性看微信小程序api

OK,這就是關于movable-area組件的一些基本概念的介紹,接下來我們實踐實踐。

2、頁面結構

(1)這是我們html基本頁面結構,我主要來解釋一下movable-view的屬性起到了一些什么作用。

  • 首先我們定義了direction方向為horizontal(橫向);
  • 然后x就是偏移方向,這里我們給個默認值為0;
  • out-of-bounds定義當超過可移動區域后,還可以移動;
  • damping為阻尼系數,設置為100就是讓它移動快點;
  • 最后綁定了一個在拖動過程中觸發的事件、觸摸開始和結束事件。

<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.jsPage({  /** * 頁面的初始數據 */ data: { // x軸方向的偏移 x: 0, // 當前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) {}, /** * 生命周期函數--監聽頁面加載 */ onLoad: function(options) { // let _this = this; // wx.createSelectorQuery().selectAll('.delBtn ').boundingClientRect(function(rect) { // _this.data.delWidth = rect[0].width; // }).exec(); },  /** * 生命周期函數--監聽頁面初次渲染完成 */ onReady: function() {  },  /** * 生命周期函數--監聽頁面顯示 */ onShow: function() {  },  /** * 生命周期函數--監聽頁面隱藏 */ onHide: function() {  },  /** * 生命周期函數--監聽頁面卸載 */ onUnload: function() {  },  /** * 頁面相關事件處理函數--監聽用戶下拉動作 */ onPullDownRefresh: function() {  },  /** * 頁面上拉觸底事件的處理函數 */ onReachBottom: function() {  },  /** * 用戶點擊右上角分享 */ onShareAppMessage: function() {  }})

2:touchstart、touchmove 如果大家想了解的更清楚可以查看幫助文檔的哦

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遂宁市| 崇文区| 宁陵县| 林周县| 仙居县| 兴安盟| 巴南区| 肥东县| 大石桥市| 萝北县| 托里县| 鄄城县| 三明市| 桦南县| 定结县| 陇西县| 水富县| 浪卡子县| 江川县| 兴国县| 突泉县| 邵阳县| 克什克腾旗| 工布江达县| 武威市| 崇义县| 剑阁县| 吴堡县| 苏州市| 庆安县| 利川市| 砚山县| 剑河县| 精河县| 东乡| 奎屯市| 东宁县| 长乐市| 蓬溪县| 昌宁县| 托里县|