Pour implémenter la fonction de suppression coulissante dans les mini-programmes WeChat, des exemples de code spécifiques sont nécessaires
Avec la popularité des mini-programmes WeChat, les développeurs rencontrent souvent des problèmes de mise en œuvre de certaines fonctions courantes au cours du processus de développement. Parmi eux, la fonction de suppression coulissante est une exigence fonctionnelle courante et couramment utilisée. Cet article présentera en détail comment implémenter la fonction de suppression coulissante dans l'applet WeChat et donnera des exemples de code spécifiques.
1. Analyse des exigences
Dans l'applet WeChat, la mise en œuvre de la fonction de suppression coulissante implique les points suivants :
2. Implémentation du code
<view class="list"> <block wx:for="{{listData}}" wx:for-item="item" wx:key="{{index}}"> <view class="list-item" animation="{{item.animation}}" bindtouchstart="touchStart" bindtouchmove="touchMove" bindtouchend="touchEnd" data-index="{{index}}"> <view>{{item.title}}</view> <view class="btn-delete" bindtap="deleteItem" wx:if="{{item.showDel}}">删除</view> </view> </block> </view>
.list{ padding: 20rpx; } .list-item{ position: relative; height: 100rpx; line-height: 100rpx; background-color: #ffffff; margin-bottom: 20rpx; overflow: hidden; } .btn-delete{ position: absolute; top: 0; right: 0; width: 120rpx; height: 100rpx; background-color: #f5222d; color: #ffffff; line-height: 100rpx; text-align: center; transition: all 0.2s; transform: translateX(120rpx); } .list-item:hover .btn-delete{ transform: translateX(0); }
Page({ data: { listData: [ { title: '列表项1', showDel: false, animation: '' }, { title: '列表项2', showDel: false, animation: '' }, { title: '列表项3', showDel: false, animation: '' }, // 其他列表项... ], startX: 0, // 手指起始X坐标 startY: 0, // 手指起始Y坐标 activeIndex: -1, // 激活的列表项索引 }, touchStart(e) { this.data.activeIndex = e.currentTarget.dataset.index; this.data.startX = e.touches[0].clientX; this.data.startY = e.touches[0].clientY; }, touchMove(e) { let index = e.currentTarget.dataset.index; let startX = this.data.startX; let startY = this.data.startY; let deltaX = e.touches[0].clientX - startX; let deltaY = e.touches[0].clientY - startY; // 水平滑动大于竖直滑动 if (Math.abs(deltaX) > Math.abs(deltaY)) { // 滑动方向向右 if (deltaX > 30) { this.showDelete(index); } // 滑动方向向左 else if (deltaX < -30) { this.hideDelete(); } } }, touchEnd(e) { this.data.startX = 0; this.data.startY = 0; }, showDelete(index) { let listData = this.data.listData; listData[index].showDel = true; listData[index].animation = 'animation: showDelete 0.2s;'; this.setData({ listData: listData }); }, hideDelete() { let listData = this.data.listData; listData[this.data.activeIndex].showDel = false; listData[this.data.activeIndex].animation = ''; this.setData({ listData: listData }); }, deleteItem(e) { let index = e.currentTarget.dataset.index; let listData = this.data.listData; listData.splice(index, 1); this.setData({ listData: listData }); } })
3. Résumé
Grâce aux exemples de code ci-dessus, nous pouvons facilement implémenter la fonction de suppression coulissante dans l'applet WeChat. En WXML, nous avons construit la structure requise pour la fonction de suppression coulissante ; en WXSS, nous avons défini le style en JS, nous avons écrit le code pour implémenter spécifiquement la fonction de suppression coulissante. J'espère que cet article pourra vous aider à implémenter la fonction de suppression coulissante dans les mini-programmes WeChat.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!