uniapp实现点击加载更多

article/2025/9/18 2:35:45

使用场景

举个栗子:外卖app当订单商品数量比较多时,不方便一次性展示出来。通常会展示一部分,并在页面给出一个查看更多功能。点击后即可自定义展示剩余内容,比如可以每次点击多展示N个内容,或展示所有。

实现效果

在这里插入图片描述

实现步骤

以下为整个页面的所有代码,涉及到的数据可以自己造一些,此处不再赘述。

vue页面

<template><view class="box"><h3>订单信息</h3><!-- 商品列表--><view class="productlist"><block v-for="(item,index) in cartList" :key="index"><view class="product" v-show="index < max"><!-- 左边商品图片 --><view class="image"><image :src="item.image" mode="aspectFill"></image></view><view class="info"><text>{{item.name}}</text><text>x{{item.count}}</text></view><view class="price">实付¥<text class="red-text">{{item.totalPrice}}</text></view></view></block><view style="text-align: center;color: #737373;" v-show="total > max" @tap="more">查看更多</view></view><view class="summary"><uni-list :border="true"><view class="right-fixed">合计:¥<text class="red-text">{{totalPrice}}</text></view><view class="receive"><view><text>收货地址</text><text class="right-fixed">{{checkedAddress.address}}</text></view><view><text>收货人信息</text><text class="right-fixed">{{checkedAddress.receiver}} {{checkedAddress.contact}}</text></view><view><text>备注</text><!-- <text class="right-fixed">少放辣!</text> --><input type="text" name="remark" v-model="remark"></view></view></uni-list></view><button @click="pay" type="primary">立即支付</button></view>
</template>

JS

<script>import {mapState,mapMutations} from 'vuex'import {guid} from '../../util/util.js'export default {data(){return{max: 3, //默认展示几条数据remark: ''}},components: {},computed: {...mapState(['cartList']),...mapState({checkedAddress: state => state.checkedAddr,orderShopInfo: state => state.orderShopInfo}),// 计算所有商品总数量totalCount() {return this.cartList.reduce((total, item) => {return total + item.count}, 0)},// 所有商品累积的总价totalPrice() {let amount = this.cartList.reduce((total, item) => {return total + item.totalPrice}, 0)// 加上配送费				return (Math.round((amount+this.orderShopInfo.physical) * 10) / 10).toFixed(1)},// 商品个数total(){return this.cartList.length}},methods: {more() {console.log(this.max)this.max = this.total; //每次点击加1条},pay() {let that = thisuni.showModal({title: '提示',content: '确定支付订单?',success: function (res) {if (res.confirm) {// 遍历购物车中商品信息let items = [];that.cartList.forEach((item)=>{let e = {product_id: item.gid,product_name: item.name,image: item.image,qty: item.count,amount: item.totalPrice}items.push(e)})//console.log(JSON.stringify(items))let mydate = new Date();// 构建订单实体let order = {userid: that.$store.state.loginUser._id,order_no: 'sa'+guid(),shop_id: that.orderShopInfo._id,shop_name: that.orderShopInfo.shop,shop_image: that.orderShopInfo.logo,total_qty: that.totalCount,total_amount: that.totalPrice,deliver_fee: that.orderShopInfo.physical,address: that.checkedAddress.address,receiver: that.checkedAddress.receiver,contact: that.checkedAddress.contact,remark: that.remark,order_time: mydate.toLocaleDateString()+' '+mydate.toLocaleTimeString(),items: items}console.log(order);// 提交订单that.$post('/addOrder', JSON.stringify(order)).then(res => {// 清空购物车that.$store.commit('clearCart')uni.showToast({title:'添加成功!',duration:1000})setTimeout(function () {uni.switchTab({url:'/pages/order/order'})}, 1000);})} else if (res.cancel) {console.log('用户点击取消');}}});}}}
</script>

CSS

<style lang="scss" scoped>$base-color: red;.red-text{color: $base-color;}.box {padding: 10px;color: #898989;}.productlist {justify-content: space-between;margin: 30upx 0;color: #898989;.product {height: 110px;display: flex;}.product .image {width: 100px !important;height: 100px !important;overflow: hidden;}.product .image image {width: 100%;height: 100%;border-radius: 10upx;overflow: hidden;}.product .info {width: 300upx;line-height: 100px;padding-left: 10px;}.product .price {position: fixed;right: 20px;line-height: 100px;}}.summary{view{padding: 5px;}.receive{margin-top: 30px;}}// 右对齐.right-fixed{position: fixed;right: 20px;}
</style>

http://chatgpt.dhexx.cn/article/IXPwTMSL.shtml

相关文章

RecyclerView系列之加载更多

一、背景 很久很久以前简单封装过一次RecyclerView&#xff0c;后来一直开发TV端&#xff0c;列表的需求花样不是很多&#xff0c;主要是解决TV端各种兼容问题&#xff0c;也没怎么琢磨这个美丽的控件了&#xff0c;现在打算重新整理一下&#xff0c;其实网上已经有很多优秀的开…

js页面中实现加载更多功能

分页-如何实现加载更多功能&#xff0c;目前的在很多网站上使用的加载更多功能中&#xff0c;使用最多的是iscroll.js实现的上拉加载更多、下拉刷新功能。但是iscroll.js本身并没有集成加载更多的功能&#xff0c;需要进行自行扩展。 最简单的就是给一个加载更多的按钮&#xf…

微信小程序之加载更多(分页加载)实例

1.业务需求&#xff1a;列表滚动到底部时&#xff0c;继续往上拉&#xff0c;加载更多内容 2.必传参数&#xff1a; &#xff08;1&#xff09;page: 1 //第几次加载 &#xff08;2&#xff09;limit: 5//每次加载的显示数据条数 &#xff08;3&#xff09;total: null //需要返…

自己收藏整理的一些操作系统资源

在CSDN混迹这么多年 感觉在技术宽度和广度都深不可测的C站 Windows方面的技术相对较少一些 今天&#xff0c;借着寻找C站宝藏的活动 介绍一些C站宝藏的 Windows相关资源技术专栏 附带一下猎奇操作系统的资源~~~ 【操作系统资源&#xff1a;吐血整理&#xff0c;建议收藏&a…

写代码爬取了某 Hub 资源,只为撸这个鉴黄平台!

黄色已经是我们所不容然而却防不胜防的&#xff0c;尤其是对于做内容的工具和平台&#xff0c;所以花了30分钟搭建了一个鉴黄平台&#xff0c;分享给大家。 &#xfeff; 数据准备 &#xfeff; 找了 N 多资源都不能解决问题&#xff0c;于是怒爬某 Bub资料&#xff0c;备用…

QGC(QGroundControl)地面站手把手教你改——高德地图的添加和瓦片地图在线资源

如何添加高德地图和瓦片地图在线资源 1. 演示效果2. 代码添加3. 瓦片地图在线资源3.1 高德地图3.2 天地图3.3 其它地图源相关链接 所有的热爱都要不遗余力&#xff0c;真正喜欢它便给它更高的优先级&#xff0c;和更多的时间吧&#xff01; 关于QGC地面站其它文章请点击这里: …

系统硬件资源测算

上一篇写到了架构在规划时&#xff0c;应该做哪些&#xff1f;当项目启动后&#xff0c;资源的需求就会提上议程&#xff0c;包括人力资源、项目所需的软件资源、硬件资源以及其他资源。而今天想探讨的是很少被触及的硬件资源。因为硬件资源的规划往往都是经验值的积累&#xf…

在线学习Java的资源网站

CodeGym&#xff08;https://codegym.cc/&#xff09;&#xff1a;一个在线Java编程课程&#xff0c;80%的内容是练习&#xff0c;适合一窍不通的入门者。 CodeAcademy&#xff08;https://www.codecademy.com/&#xff09;&#xff1a;该课程注重的是在找工作时非常有用的技术…

RTSP在线视频流资源地址

在线视频流地址&#xff1a; rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov 真机显示界面: 模拟器显示界面: 学好一门语言&#xff0c;动手去练&#xff0c;半天上手&#xff0c;一星期炉火纯青。—— 专攻无人车的学长

在线地图资源

一、ARCGIS在线地图资源 1&#xff0c;全球服务地址目录&#xff1a; http://services.arcgisonline.com/arcgis/rest/services 影像&#xff1a; http://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer?fjsapi 电子地图&#xff1a; ht…

【ArcGIS微课1000例】0025:ArcGIS Online当前未连接到在线资源终极解决办法

ArcGIS Online在线资源列表: World Imagery: 底图服务: 中国地图彩色版: 打开ArcGIS时,系统托盘提示“ArcGIS Online当前未连接到在线资源”,如下图所示,如果无法连接到ArcGIS Online,则就无法添加在线资源,如World Imagery等。 关于该问题,网上有多种解决办法,然而…

赶紧收藏3个免费在线资源齐全的网站

非搜 是一个综合搜索网站&#xff0c;能同时获得多个网站上的搜索结果展示&#xff0c;在APP上用户也能自己添加网站&#xff0c;除了看所有影视&#xff0c;还有小说&#xff0c;漫画&#xff0c;招聘&#xff0c;搜索&#xff0c;等搜索类型。 优点&#xff1a;不光包含影视…

arcgis当前未连接到在线资源

显示 arcgis当前未连接到在线资源时图标会打叉&#xff0c;一般按步骤破解的都没问题&#xff0c;这种情况应该是突然出现的&#xff0c;具体原因应该是你下了什么病毒软件或者操作损坏了你的网卡配置&#xff0c;这种缺陷不至于来连不了网&#xff0c;但访问界面可能有异常&am…

8个压箱底的资源网站,一个顶十个,再也不用到处找资源了

分享8个压箱底的资源网站&#xff0c;个个都让人相见恨晚&#xff0c;免费且资源丰富&#xff0c;一个顶几十个&#xff0c;有了它们就有了用不完的资源&#xff01; 1、电子书资源&#xff1a;Libgen 一个超好用的电子书搜索下载网站&#xff0c;里面的资源非常丰富&#xf…

微信排行榜主域和子域的操作

在排行榜列表UI加一个 2D精灵&#xff08;最下方&#xff09;初始化子域舞台 在初始化微信平台的时候调用 3.设置子域属性&#xff08;childCanvas 是第一步创建的2D精灵&#xff09; 在当前类的构造或者初始化调用 打开或者关闭排行榜 向子域发送消息 数据上报的key要和 子域获…

原创谷歌站站群泛目录程序

原创谷歌站群系统&#xff0c;市面仅此一家&#xff0c;请尊重知识产权&#xff0c;盗版者&#xff0c;二次盗卖者必将追究 1、系统采用静态缓冲的形式&#xff0c;亲和搜索引擎&#xff0c;无需数据库&#xff0c;无后台 2、自定义关键词、自定义文章内容&#xff0c;无需采…

discuz 二级域名设置

Discuz! X1.5 提供了对 门户、广场&#xff08;论坛&#xff09;、群组、家园的二级域名绑定功能&#xff01;但是如何正确的设置和正确的绑定二级域名呢&#xff1f;下面我就给大家带来这方面的详细 解释和设置过程&#xff01; 我的设置方法不用通过 FTP 编辑 config_g…

域内环境搭建

前言&#xff1a; 分享学习心得&#xff0c;实操笔记记录 搭建条件&#xff1a; 一台windows server 2012 的机器 任意多台不限版本windows机器 当前条件&#xff1a; windows server 2012 windows10 x64 windows 7 x64 win 2012扮演域控&#xff0c;其他两台扮演域内机器…

公域 vs 私域:哪个更优?

公域与私域是当下互联网营销中的热门话题&#xff0c;两者在营销手段和市场开发中各有优劣。公域指的是社交媒体平台、搜索引擎、电商平台等公共平台&#xff0c;而私域则是指企业自己拥有的客户资源、社群和应用等。下面我们将深入探讨公域与私域的区别和优劣。 一、公域的优…

域内文件服务器访问

五、域内文件服务器访问 克隆win2016纯净命名为文件管理器→配置网络环境&#xff08;指向域控的DNS&#xff09;→在文件管理器中c盘新建一个文件夹命名为“share”→添加角色与功能→选择服务器角色&#xff08;文件与储存服务→文件服务器&#xff09;→安装 将文件服务器添…