微信小程序实现左滑删除

效果

实现思路

使用的是官方提供的movable-area 嵌套movable-view

1、movable-area:注意点,需要设置其高度,否则会出现列表内容重叠的现象。

2、由于movable-view需要向右移动,左滑的时候给删除控件展示的空间,故 movable-area 需要左移 left: -180rpx;

3、movable-view右移left: 180rpx;。 通过 width: calc(100% - 180rpx);左划的距离。

4、 需要给movable-view组件设置层级 z-index: 1001;越高越好至少比删除组件层级高,避免被遮住。

源代码如下

.js
javascript 复制代码
 listData: [{
      id: '1',
      name: '这是一个左滑删除功能',
    }, {
      id: '1',
      name: '这是一个左滑删除功能',
    }, {
      id: '1',
      name: '这是一个左滑删除功能',
    }, {
      id: '1',
      name: '这是一个左滑删除功能',
    }, {
      id: '1',
      name: '这是一个左滑删除功能',
    }, ],
.xml
javascript 复制代码
 <scroll-view class='scroll_box' scroll-y='true'>
    <block wx:for="{{listData}}" wx:key="id">
      <movable-area class="moveArea">
        <movable-view class="movableView" direction="horizontal" inertia="{{true}}" out-of-bounds="{{true}}">
          <view style="display: flex;flex-direction: row;width: 100%;height: 100%;">
            <view class="box_item">
              <view class="head_title">
                <text class="before-icon"></text>
                <text>{{item.name}}</text>
              </view>
            </view>
          </view>
        </movable-view>
        <view class="itemDelet">删除</view>
      </movable-area>
    </block>

  </scroll-view>
.css
css 复制代码
.scroll_box {
  /* background-color: #f0f0f0; */
  width: 100%;
  height: calc(100vh - 500rpx);
  margin-top: 28rpx;
  padding: 0 22rpx;
}


/* item盒子 */
.box_item {
  background-color: #fff;
  width: 100%;
  height: 100rpx;
  display: flex;
  align-items: center;
  border-bottom: 2rpx dashed #EDEDED;
  padding-left: 30rpx;
  position: relative;
}


.head_title {
  height: 40rpx;
  font-family: PingFang SC, PingFang SC;
  font-weight: 400;
  font-size: 28rpx;
  color: #14AD00;
  line-height: 38rpx;
  text-align: left;
  font-style: normal;
  display: flex;
  align-items: center;
  text-transform: none;
}

.before-icon {
  display: inline-block;
  width: 9rpx;
  height: 9rpx;
  border-radius: 50%;
  margin-right: 30rpx;
  background: #14AD00;
}

.moveArea {
  display: flex;
  flex-direction: row;
  width: calc(100% + 180rpx);
  justify-content: center;
  left: -180rpx;
  height: 102rpx;
}

.movableView {
  display: flex;
  flex-direction: row;
  width: calc(100% - 180rpx);
  z-index: 1001;
  left: 180rpx;
}

.itemDelet {
  position: absolute;
  right: 0;
  line-height: 100rpx;
  background-color: rgb(252, 65, 65);
  margin-right: 6rpx;
  bottom: 2rpx;
  width: 180rpx;
  text-align: center;
  color: #fff;
}
相关推荐
黄华SJ520it15 小时前
预约上门系统开发:懒人经济下的商业机遇与技术实践
小程序·系统开发
软件技术新观察18 小时前
2026年北京教育医疗小程序与APP定制开发:十大服务商实力测评
大数据·小程序
万岳科技程序员小金18 小时前
真人数字人小程序如何开发?AI数字人平台搭建流程全面解析
人工智能·小程序·ai数字人系统源码·ai数字人平台搭建·ai数字人小程序开发
didiplus1 天前
我在GitHub刷到一个诗词API,顺手写了款小程序
微信小程序
言乐61 天前
Python实现可运行解密游戏游戏框架
python·游戏·小程序·游戏程序·关卡设计
2501_915106322 天前
iOS 软件测试工具性能监控、日志分析 KeyMob、Instruments等
android·ios·小程序·https·uni-app·iphone·webview
云迈科技-软件定制开发2 天前
2026 AI智能体小程序APP开发怎么做:从场景规划到上线交付的完整参考
大数据·人工智能·小程序
小码哥0682 天前
医院陪诊小程序怎么开发-医院陪诊小程序源码功能-微信小程序 医院健康陪诊陪护系统
微信小程序·小程序·医院陪诊·陪诊系统·陪诊陪诊
书中枫叶2 天前
从「上次几点喂奶」到全栈小程序:我做了个喂宝助手
mongodb·微信小程序·node.js
黄华SJ520it2 天前
柯尔嫚商城模式开发:从概念到实现的完整指南
小程序·系统开发