uniapp 实现滑动元素删除效果

news/2024/7/10 2:58:03 标签: uni-app, 前端, 笔记, vue, vue.js

官网地址:uni-app官网 (dcloud.net.cn)

最终效果如下图: 

滑动删除需要用到 uni-ui 的 uni-swipe-action 组件和 uni-swipe-action-item

属性名类型可选值默认值是否必填说明
left-optionsArray/Object--左侧选项内容及样式
right-optionsArray/Object--右侧选项内容及样式
    下面的 block 元素,循环出所有的商品元素

    <!-- uni-swipe-action 是最外层包裹性质的容器 -->
    <uni-swipe-action>
      <block v-for="(goods, i) in cart" :key="i">
          <!-- uni-swipe-action-item 可以为其子节点提供滑动操作的效果。需要通过 options 属性来指定操作按钮的配置信息 -->
          <uni-swipe-action-item :right-options="options" @click="onClick(goods)">
            <!-- ================================== -->
            <view style="height: 300rpx;background-color: pink;">
              根据自己需要,配置 需要的样式
            </view>
            <!-- ================================== -->
          </uni-swipe-action-item>
      </block>
    </uni-swipe-action>

配置option项、所有商品对象: 

参数类型是否必填说明
textString按钮的文字
styleObject按钮样式{backgroundColor,color,fontSize},backgroundColor默认为:#C7C6CD,color默认为:#FFFFFF,fontSize默认为:14px
    data() {
      return {
        // 这个是所有商品对象
        cart: [{
            goods_id: 1,
        },{
            good_id: 2
        }],

        // 这个是滑动后的配置项
        options: [{
          text: '删除', // 显示的文本内容
          style: {
            backgroundColor: '#C00000' // 按钮的背景颜色
          }
        }]
      }
    },

可用的事件:【我们需要的是滑动点击删除,用了 @click 事件,并传递 货品 id】

事件称名说明返回值
@click点击选项按钮时触发事件e = {content,index} ,content(点击内容)、index(下标)、position (位置信息)
@change组件打开或关闭时触发left:左侧 ,right:右侧,none:关闭
得到下面的效果图:

 

使用 filter 方法,使返回值为 不存在 刚刚传进来滑动删除 对应货品id 的对象

  methods: {
    // 根据 Id 从购物车中删除对应的商品信息
    onClick(goods_id) {
      // 调用数组的 filter 方法进行过滤
      this.cart = this.cart.filter(x => x.goods_id !== goods_id)
    },
  }


http://www.niftyadmin.cn/n/4995473.html

相关文章

docker进阶作业

一、使用mysql:5.6和 owncloud 镜像&#xff0c;构建一个个人网盘。 安装Docker&#xff1a;确保已在CentOS 7.5上安装了Docker。 拉取MySQL 5.6镜像&#xff1a;使用以下命令从Docker Hub上拉取MySQL 5.6镜像。 docker pull mysql:5.6 运行MySQL容器&#xff1a;使用以下命令…

Web框架Beego

beego简介第一个beego项目beego项目结构分析bee 工具简介beego参数配置beego路由设置beego控制器介绍beego获取参数beego ORMbeego orm高级查询beego 原生sql查询beego 模板语法指南beego模板处理

Qt —UDP通信QUdpSocket 简介 +案例

1. UDP通信概述 UDP是无连接、不可靠、面向数据报&#xff08;datagram&#xff09;的协议&#xff0c;可以应用于对可靠性要求不高的场合。与TCP通信不同&#xff0c;UDP通信无需预先建立持久的socket连接&#xff0c;UDP每次发送数据报都需要指定目标地址和端口。 QUdpSocket…

图神经网络教程之GraphSAGE(pyG)

图神经网络-pyG-GAT 在上一章节介绍了pyG-GAT的使用&#xff0c;本文将介绍GraphSage模型的构建 实现了一个使用GraphSAGE&#xff08;Graph Sample and Aggregated&#xff09;的节点分类模型&#xff0c;该模型在Cora数据集上进行训练和测试。以下是代码的详细解释&#xff1…

Rest和Http什么关系?

分析&回答 REST 定义了一组体系架构原则&#xff0c;您可以根据这些&#xff0c;包括使用不同语言编写的客户端如何通过 HTTP 处理和传输资源状态。 REST只是一种风格&#xff0c;不是一种标准REST是以资源为中心的 用不同的 HTTP 请求方法来处理对资源的 CRUD&#xff0…

Django(10)-项目实战-对发布会管理系统进行测试并获取测试覆盖率

在发布会签到系统中使用django开发了发布会签到系统&#xff0c; 本文对该系统进行测试。 django.test django.test是Django框架中的一个模块&#xff0c;提供了用于编写和运行测试的工具和类。 django.test模块包含了一些用于测试的类和函数&#xff0c;如&#xff1a; Tes…

React笔记(五)hook

一、函数组件 1、函数组件的创建 函数组件&#xff1a;使用JS的函数&#xff08;或箭头函数&#xff09;创建的组件称为函数组件&#xff0c;函数组件有如下约定 函数名称必须以大写字母开头 函数组件必须有返回值&#xff0c;返回JSX表达式 渲染函数组件&#xff1a;用函数…

2309C++连接宏

枚 哈哈型{啊啊,哈哈};整 哈哈啊(整 i){中 2*i; } #define 新啊(i) \整 新##i(i##型 k){ \整 ji##啊(k);中 j; \}新啊(哈哈);空 主(){整 k新哈哈(啊啊);打印(k); }