vue动态列表布局(vue项目实现左滑删除功能完整代码)
类别:编程学习 浏览量:1849
时间:2022-04-04 11:47:02 vue动态列表布局
vue项目实现左滑删除功能完整代码实现效果
代码如下
html
<template> <li> <li class="biggestBox"> <ul> <!-- data-type=0 隐藏删除按钮 data-type=1 显示删除按钮 --> <li class="li_vessel" v-for="(item,index) in lists " data-type="0" :key="index"> <!-- "touchstart" 当手指触摸屏幕时候触发 "touchend" 当手指从屏幕上离开的时候触发 "capture" 用于事件捕获--> <li @touchstart.capture="touchStart" @touchend.capture="touchEnd" @click="oneself"> <li class="contant"> <img class="image" :src="item.imgUrl" alt /> <li class="rightBox"> <li>{{item.title}}</li> <li>{{item.subheading}}</li> <li>{{item.faddish}}</li> <li>{{item.price}}</li> </li> </li> </li> <li class="removeBtn" @click="remove" :data-index="index">删除</li> </li> </ul> </li> </li> </template>
js
export default { name: "index", data() { return { lists: [ { title: "标题1", imgUrl: "https://z3.ax1x.com/2021/05/18/gfwKHg.jpg" alt="vue动态列表布局(vue项目实现左滑删除功能完整代码)" border="0" />
css
<style> * { /* 消除默认内外边距 */ margin: 0; padding: 0; } body { background: rgb(246, 245, 250); } .biggestBox { overflow: hidden; /*超出部分隐藏*/ } ul { /* 消除 ul 默认样式 */ list-style: none; padding: 0; margin: 0; } .li_vessel { /* 全部样式 0.2秒 缓动*/ transition: all 0.2s; } /* =0隐藏 */ .li_vessel[data-type="0"] { transform: translate3d(0, 0, 0); } /* =1显示 */ .li_vessel[data-type="1"] { /* -64px 设置的越大可以左滑的距离越远,最好与下面删除按钮的宽度以及定位的距离设置一样的值*/ transform: translate3d(-64px, 0, 0); } /* 删除按钮 */ .li_vessel .removeBtn { width: 64px; height: 103px; background: #ff4949; font-size: 16px; color: #fff; text-align: center; line-height: 22px; position: absolute; top: 0px; right: -64px; line-height: 103px; text-align: center; border-radius: 2px; } /* 左边的图片样式 */ .contant { overflow: hidden; /*消除图片带来的浮动*/ padding: 10px; background: #ffffff; } .contant .image { width: 80px; height: 80px; border-radius: 4px; float: left; } /* 右边的文字信息样式 */ .rightBox { overflow: hidden; padding-left: 8px; } .rightBox li:first-child { font-weight: bold; } .rightBox li:nth-child(2) { margin-top: 4px; font-size: 14px; } .rightBox li:nth-child(3) { width: 24px; background: rgb(219, 91, 113); color: white; font-size: 12px; text-align: center; padding: 2px 4px 2px 4px; margin-left: auto; } .rightBox li:last-child { color: red; font-size: 14px; font-weight: bold; } </style>
完整代码如下
<template> <li> <li class="biggestBox"> <ul> <!-- data-type=0 隐藏删除按钮 data-type=1 显示删除按钮 --> <li class="li_vessel" v-for="(item,index) in lists " data-type="0" :key="index"> <!-- "touchstart" 当手指触摸屏幕时候触发 "touchend" 当手指从屏幕上离开的时候触发 "capture" 用于事件捕获--> <li @touchstart.capture="touchStart" @touchend.capture="touchEnd" @click="oneself"> <li class="contant"> <img class="image" :src="item.imgUrl" alt /> <li class="rightBox"> <li>{{item.title}}</li> <li>{{item.subheading}}</li> <li>{{item.faddish}}</li> <li>{{item.price}}</li> </li> </li> </li> <li class="removeBtn" @click="remove" :data-index="index">删除</li> </li> </ul> </li> </li> </template> <script> export default { name: "index", data() { return { lists: [ { title: "标题1", imgUrl: "https://z3.ax1x.com/2021/05/18/gfwKHg.jpg" alt="vue动态列表布局(vue项目实现左滑删除功能完整代码)" border="0" />
以上就是vue 实现左滑删除功能的详细内容,更多关于vue左滑删除的资料请关注开心学习网其它相关文章!
您可能感兴趣
- vue组件keep-alive的原理是什么(如何理解Vue简单状态管理之store模式)
- vue滚动条下拉翻页(Vue中利用better-scroll组件实现横向滚动功能)
- vue自定义组件定义事件(基于Vue实现自定义组件的方式引入图标)
- vue 设置头部可以左右滑动(vue实现左右滑动效果实例代码)
- vue动态路由实现权限控制(vue2/vue3路由权限管理的方法实例)
- vuevlog制作软件(Vue实现Dialog封装)
- vue自定义列组件(vue自定义表格列的实现过程记录)
- vuex数据持续化(Vuex数据持久化实现的思路与代码)
- vue实现双向绑定原理(vue实现双向数据绑定)
- vue用于动态切换组件的内置组件(Vue 可拖拽组件Vue Smooth DnD的使用详解)
- vue使用elementui框架(总结Vue Element UI使用中遇到的问题)
- ant design 的vue批量操作(ant desing vue table 实现可伸缩列的完整例子)
- vue 排班安排(vue实现钉钉的考勤日历)
- vue 中后台管理系统(Vue实现学生管理功能)
- vue中router的具体用法(vue-router中hash模式与history模式的区别)
- vue中的ref(Vue3.0中Ref与Reactive的区别示例详析)
- 鱿鱼炒蒜苔不是黑暗料理,这样做清香扑鼻,鲜美脆嫩,开胃又下饭(鱿鱼炒蒜苔不是黑暗料理)
- 蒜苔炒鱿鱼(蒜苔炒鱿鱼)
- 远离 五毛食品 洛阳80后妈妈发明的 飞行棋 成校园爆款 玩具(远离五毛食品)
- 失传的古代飞行棋游戏 六博(失传的古代飞行棋游戏)
- 感冒要吃什么药(猫咪感冒要吃什么药)
- 下雪会怎样(下雪怎样画)
热门推荐
- 数组reduce方法的好处(JS使用reduce方法处理树形结构数据)
- 微信小程序静态页面详情(微信小程序基础教程之echart的使用)
- Uncaught TypeError: jQuery.handleError is not a function
- uni app 小程序全局样式没法用(uniapp封装小程序雷达图组件的完整代码)
- html5中datalist标签
- dem高低值怎么调整(dede5.7修改标题title长度方法总结)
- dedecms后台内链如何制作(DedeCMS系统TAG标签和分页伪静态设置教程的实现)
- python如何编写判断正负数程序(Python实现判断一个整数是否为回文数算法示例)
- 怎么用docker中的mysql连接数据库(解决Docker之mysql容器数据库更改不生效的问题)
- tomcatcpu配置(Tomcat进程占用CPU过高的解决方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9