uniapp实战 —— 轮播图【数字下标】(含组件封装,点击图片放大全屏预览)

在这里插入图片描述

组件封装

src\components\SUI_Swiper2.vue

<script setup lang="ts">
import { ref } from 'vue'
const props = defineProps({config: Object,
})const activeIndex = ref(0)
const change: UniHelper.SwiperOnChange = (e) => {activeIndex.value = e.detail.current
}// 点击图片时
const onTapImage = (url: string) => {// 大图预览uni.previewImage({current: url,urls: props.config?.itemList,})
}
</script><template><view class="preview"><swiper@change="change":circular="props.config?.circular || true":autoplay="props.config?.autoplay || false":interval="props.config?.interval || 3000"><swiper-item v-for="(item, index) in props.config?.itemList" :key="index"><image @tap="onTapImage(item)" mode="aspectFill" :src="item" /></swiper-item></swiper><view class="indicator"><text class="current">{{ activeIndex + 1 }}</text><text class="split">/</text><text class="total">{{ props.config?.itemList.length }}</text></view></view>
</template><style lang="scss">
.preview {height: 750rpx;position: relative;.image {width: 750rpx;height: 750rpx;}.indicator {height: 40rpx;padding: 0 24rpx;line-height: 40rpx;border-radius: 30rpx;color: #fff;font-family: Arial, Helvetica, sans-serif;background-color: rgba(0, 0, 0, 0.3);position: absolute;bottom: 30rpx;right: 30rpx;.current {font-size: 26rpx;}.split {font-size: 24rpx;margin: 0 1rpx 0 2rpx;}.total {font-size: 24rpx;}}
}
</style>

页面使用

src\pages\goods\goods.vue

<SUI_Swiper2 :config="swiperConfig" />
let swiperConfig = ref({ itemList: [] })// 获取商品详情信息
const goods = ref<GoodsResult>()
const getGoodsByIdData = async () => {const res = await getGoodsByIdAPI(query.id)goods.value = res.resultswiperConfig.value = {itemList: goods?.value.mainPictures,}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/209511.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python——数据容器

数据容器操作的异同点 项目列表list元组tuple字符串str集合set字典dict元素数量支持多个支持多个支持多个支持多个支持多个元素类型任意任意仅字符任意key&#xff1a;除字典外任意类型&#xff1b;value&#xff1a;任意类型下标索引支持支持支持不支持不支持重复元素支持支持…

yarn link使用(npm link)

使用场景 前端开发中&#xff0c;两个项目相互依赖时&#xff0c;使用yarn link(npm link)链接 例如&#xff1a;A项目依赖于本司自己的UI库B&#xff0c;当我们修改了UI库B中的某些代码时&#xff0c;需本地验证后再发布到私服&#xff0c;此时A项目与UI项目B通过yarn link连…

数据可视化:解锁企业经营的智慧之道

在现代企业管理中&#xff0c;数据可视化已经成为了一项重要的工具。它不仅仅是简单地展示数据&#xff0c;更是提供了深入理解数据、做出更明智决策的方法。作为一名可视化设计从业人员&#xff0c;我经手过一些企业自用的数据可视化项目&#xff0c;今天就来和大家聊聊数据可…

数字化升级,智慧医疗新时代——医院陪诊服务的技术创新

在信息技术飞速发展的今天&#xff0c;医疗服务正迎来数字化升级的新时代。本文将探讨如何通过先进技术的应用&#xff0c;为医院陪诊服务注入更多智慧元素&#xff0c;提升患者和家属的医疗体验。 1. 创新医疗预约系统 # Python代码演示医疗预约系统的简单实现 class Medic…

输入框的透明度影响placeholder的透明度怎么解决

有一个需求是需要写如上图所示的输入框。 首先想到的是调整输入的透明度 <div class"inputDiv"><img src"./images/search.png" /><input type"text" class"myInput" placeholder"请输入标题关键字"/> &…

飞天使-linux操作的一些技巧与知识点

命令行光标移动到行首行尾 ctrl a 跳到首 ctrl e 跳到尾/etc/passwd rpm 包格式 RPM&#xff08;Red Hat Package Manager&#xff09;是一种常用的Linux软件包管理系统&#xff0c;它使用特定的命名规则来标识和命名软件包。RPM包的名称格式通常遵循以下规则&#xff1a;…

Qt基础-修改Qt Creator界面字体

Qt Creator设计时字体太小,有时需要自定义一下,本文讲解如何修改Qt Creator界面字体。 一、创建样式文件 创建CSS文件,定义名称为custom-style.css 编写内容: QWidget { font: 12pt "Microsoft YaHei"; }QPlainTextEdit { font: 12pt "Microsoft YaHei&…

FPGA时序分析与约束(0)——目录与传送门

一、简介 关于时序分析和约束的学习似乎是学习FPGA的一道分水岭&#xff0c;似乎只有理解了时序约束才能算是真正入门了FPGA&#xff0c;对于FPGA从业者或者未来想要从事FPGA开发的工程师来说&#xff0c;时序约束可以说是一道躲不过去的坎&#xff0c;所以这个系列我们会详细介…

Python的sort()与sorted()排序函数的区别

文章目录 一、工具二、需求三、简单的使用例子四、原理分析Timsort算法主要特点&#xff1a;Timsort算法的工作原理&#xff1a;sort() 方法和 sorted() 函数的差异&#xff1a; 五、Python中的单例实现简单示例 一、工具 Python 3.10.0 pycharm 2022 二、需求 最近做项目的…

微服务学习:RestTemplateWebClient发起的http请求实现远程调用

http请求做远程调用是与语言无关的调用&#xff0c;只要知道对方的ip,端口&#xff0c;接口路径&#xff0c;请求参数即可 启动类中配置&#xff1a; Beanpublic RestTemplate restTemplate(){return new RestTemplate();} Sevice中书写方法 get Autowiredprivate RestTemp…

2023-2024 年重庆市职业院校技能大赛 高职组“软件测试”赛项样题

2023-2024 年重庆市职业院校技能大赛 高职组“软件测试”赛项样题 单元测试要求分析、代码设计、设计测试数据、编写测试脚本和 测试执行等&#xff1b;测试计划、测试报告文档设计与编写&#xff1b;Web 端测试用例 设计、测试执行和 Bug 记录&#xff1b; 自动化测试要求分析…

点击按住说话按钮事件有延迟

问题原因&#xff1a; 该问题原因是由于系统的某些手势 delaysTouchesBegan 属性为 YES&#xff0c;当按钮处在某些特定位置时触摸事件会先被这些系统的手势拦截&#xff0c;系统不响应才会继续分发&#xff0c;而按钮的 UIControlEventTouchDown 事件是需要立即响应的&#xf…

Python数据处理的六种方式总结,Python零基础学习

文章目录 前言1、dedup()去重并排序2、traverse()拆分嵌套数组3、filter()数据筛选4、groupby()分组运算5、select()遍历结果集6、sort()数据排序 总结 前言 在 Python 的数据处理方面经常会用到一些比较常用的数据处理方式&#xff0c;比如pandas、numpy等等。 今天介绍的这…

vue图片预览 90度旋转

要在 Vue 3 中实现点击按钮让图片旋转 90 度&#xff0c;你可以使用 CSS 转换和 Vue 的事件处理来完成。这里是一个基本的示例&#xff1a; 首先&#xff0c;在你的组件的模板中&#xff0c;添加一个按钮和一个应用转换的图像&#xff1a; <template> <div> <…

使用粗糙贴图制作粗纹皮革手提包3D模型

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…

UniGui使用CSS优化PageControl

如题直接上代码 .x-tab-bar-default-top{background-image:none!important;background-color:#FFF !important;border-color:#f0f0f0 !important;border-left:none!important;border-right:none!important}.x-tab-bar-strip-default{border-color:#f0f0f0 !important;backgrou…

Redisson出现问题总结

org.redisson.client.RedisAuthRequiredException: NOAUTH Authentication required… channel: 出现此问题的原因为没有redis权限。解决方案在setAddress()后面加上setPassword()方法。 config.useSingleServer().setAddress("redis://localhost:6379").setPasswo…

Hugging Face 给普通用户提供了一个 2 vCPU 16GB 的免费空间

Hugging Face 给普通用户提供了一个 2 vCPU 16GB 的免费空间&#xff0c;并且支持部署 Gradio 构建的应用程序&#xff0c;非常方便&#xff0c;下面我们进入 https://huggingface.co/spaces/ &#xff0c;点击创建空间。

MySQL一 | SQL语句

目录 DDL语句 查询所有数据库 查询当前数据库 切换数据库 创建数据库 创建表 删除表 查询当前数据库所有表 查询表结构 查询指定表的键表语句 添加字段 修改数据类型 修改字段名和字段类型 删除字段 修改表名 删除表 删除指定表&#xff0c;并重新创建该表…

CCF: 202012-2 期末预测之最佳阈值--C++

#include<iostream> #include<bits/stdc.h>using namespace std;int main() {int n;//m位同学的数据int y[100001];//记录m位同学的安全指数int result[100001];//记录m位同学最后的挂科情况cin>>n;for(int i1;i<n;i){cin>>y[i]>>result[i];}…