位置: IT常识 - 正文

【uniapp小程序开发】—— 组件封装之【自定义轮播图】(小程序uniacid)

编辑:rootadmin
【uniapp小程序开发】—— 组件封装之【自定义轮播图】 文章目录🍋前言:🍍正文1、首先了解`swiper`组件1.1、小小的demo示例:1.2、自定义轮播图效果展示说明2、完成自定义轮播图效果3、组件封装——自定义轮播图3.1、创建`swiper-doc.vue`组件3.2、组件调用,封装完成🎃专栏分享:🍋前言:

推荐整理分享【uniapp小程序开发】—— 组件封装之【自定义轮播图】(小程序uniacid),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uniapp 打开小程序,uniapp小程序云开发,uniapp 小程序,uni app开发小程序,uniapp打开微信小程序,小程序uniacid,uni app开发小程序,uni app开发小程序,内容如对您有帮助,希望把文章链接给更多的朋友!

本文主要展示小程序端封装轮播图组件,使用的是uniapp进行的开发,主要使用的是uniapp官网提供的swiper组件,可以参考官方文档,查看一些相关API。

效果图一睹为快:

话不多说直接上正文一起来学习一下封装轮播图组件吧!

🍍正文1、首先了解swiper组件

滑块视图容器。

一般用于左右滑动或上下滑动,比如banner轮播图。

注意滑动切换和滚动的区别,滑动切换是一屏一屏的切换。swiper下的每个swiper-item是一个滑动切换区域,不能停留在2个滑动区域之间。

1.1、小小的demo示例:<template><view class="uni-margin-wrap"> <swiper class="swiper" circular :indicator-dots="true" :autoplay="true" :interval="2000" :duration="500"> <swiper-item> <view class="swiper-item uni-bg-red">A</view></swiper-item><swiper-item> <view class="swiper-item uni-bg-green">B</view></swiper-item><swiper-item> <view class="swiper-item uni-bg-blue">C</view></swiper-item></swiper></view></template><style>.uni-margin-wrap {width: 690rpx;width: 100%;}.swiper {height: 300rpx;}.swiper-item {display: block;height: 300rpx;line-height: 300rpx;text-align: center;}</style>

效果图如下:

1.2、自定义轮播图效果展示说明

我们要做的是:

轮播图底部颜色渐变

左下方包含对应图片的一行文字说明

指示点在右下方,选中颜色为白色,未选中为灰色

效果图如下:

2、完成自定义轮播图效果【uniapp小程序开发】—— 组件封装之【自定义轮播图】(小程序uniacid)

我们先完成效果再去探讨如何封装成组件。如下示例代码展示了自定义轮播图的效果:

swiper常用属性介绍:

indicator-dots:轮播图正前方的小圆点(此案例没有使用官方提供的,是自定义的在右下角附近)autoplay:是否自动切换interval:图片轮播间隔此处为3秒duration:图片轮播动画时长 此处为0.5秒circular:是否开启无缝轮播(此处为到第三张图片后无缝播放第一张图片)<template><!-- 轮播图组件 --><view class="px-3 py-2 "><view class="position-relative"><swiper :autoplay="true" :interval="3000" :duration="500" circular style="height: 250rpx;"@change="changeIndicatorDots"><swiper-item v-for="(item,index) in swipers" :key="index"><image :src="item.src" mode="sapectFill" style="height:250rpx;width: 100%;" class="rounded-lg"></image></swiper-item></swiper><view class="flex align-center text-white rounded-bottom-lg px-2 pb-1" style="position: absolute; bottom: 0; left: 0; right: 0;background-image: linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,0.8));"><view style="width: 80%;" class="text-ellipsis"><!-- 获取当前指示点的位置,获取对应的title --><text>{{swipers[current].title}}</text></view><view style="width: 20%;" class="flex align-center justify-end flex-shrink"><!-- 指示点选中当前图片为白色 未选中为灰色 --><view v-for="(item,index) in swipers" :key="index" style="height: 16rpx;width: 16rpx ; "class="rounded-circle ml-1":style="index===current?'background-color:rgba(255,255,255,1)':'background-color:rgba(255,255,255,0.5)'"></view></view></view></view></view></view></template><script>export default {data() {return {current: 0, // 标识当前选中的图片序列号swipers: [{src: '/static/swiper/1.jpg',title: '自定义轮播图组件图片一'}, {src: '/static/swiper/2.jpg',title: '自定义轮播图组件图片二名字很长测试用'}, {src: '/static/swiper/3.jpg',title: '自定义轮播图组件图片三'}]}},onLoad() {},methods: { // changeIndicatorDots方法会在轮播的图片切换后调用,e.detail.current表示当前所在滑块的 index changeIndicatorDots(e) {this.current = e.detail.current}}}</script>

示例代码中的class类中的类名样式是我已经在全局配置好的,由于篇幅比较长,之后的小程序文章也会经常使用,我已经上传到了CSDN资源(免费),点击链接跳转下载可查看相对应的样式。

点击跳转下载free.css文件

3、组件封装——自定义轮播图3.1、创建swiper-doc.vue组件

3.2、组件调用,封装完成

首先我们要清楚,我们封装的内容为我们自定义的部分,swiper滑块区域是不需要封装的是通用的,我们使用插槽站位。我们只需要将我们自定义的指示点、介绍文字、渐变模块封装即可。

示例代码如下:

swiper-doc.vue文件:

<template><view class="position-relative"><!-- 轮播图组件不需要直接使用插槽 --><slot></slot><view class="flex align-center text-white rounded-bottom-lg px-2 pb-1" style="position: absolute; bottom: 0; left: 0; right: 0; background-image: linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,0.8));"><view style="width: 80%;" class="text-ellipsis"><!-- 获取当前指示点的位置,获取对应的title --><text>{{info[current].title}}</text></view><view style="width: 20%;" class="flex align-center justify-end flex-shrink"><!-- 指示点选中当前图片为白色 未选中为灰色 --><view v-for="(item,index) in info" :key="index" style="height: 16rpx;width: 16rpx ; "class="rounded-circle ml-1":style="index===current?'background-color:rgba(255,255,255,1)':'background-color:rgba(255,255,255,0.5)'"></view></view></view></view></template><script>export default{props:{info:Array,current:{type:Number,default:0}}}</script>

info表示我们所需的轮播图片数据;

current表示那个轮播图片的索引,用于获取title和指示点。

index.vue文件:

<view class="px-3 py-2 "><swiperDot class="position-relative" :current="current" :info="swipers"><!--swiper常用属性介绍:indicator-dots:轮播图正前方的小圆点(此案例没有使用官方提供的,是自定义的在右下角附近)autoplay:是否自动切换interval:图片轮播间隔此处为3秒duration:图片轮播动画时长 此处为0.5秒circular:是否开启无缝轮播(此处为到第三张图片后无缝播放第一张图片) --><swiper :autoplay="true" :interval="3000" :duration="500" circular style="height: 250rpx;"@change="changeIndicatorDots"><swiper-item v-for="(item,index) in swipers" :key="index"><image :src="item.src" mode="sapectFill" style="height:250rpx;width: 100%;" class="rounded-lg"></image></swiper-item></swiper></swiperDot></view><script> // 引入指示点组件,注册并使用 import swiperDot from '@/components/comon/swiper-doc.vue'export default {components: {swiperDot},data() {return {current: 0, // 标识当前选中的图片序列号swipers: [{src: '/static/swiper/1.jpg',title: '自定义轮播图组件图片一'}, {src: '/static/swiper/2.jpg',title: '自定义轮播图组件图片二名字很长测试用'}, {src: '/static/swiper/3.jpg',title: '自定义轮播图组件图片三'}]}},onLoad() {},methods: {// changeIndicatorDots方法会在轮播的图片切换后调用,e.detail.current表示当前所在滑块的 indexchangeIndicatorDots(e) {this.current = e.detail.current}}}</script>

注意:文章案例中的swipers数组在实际开发中应该是从后端获取的,我们这里是自己直接定义的。

🎃专栏分享:

小程序项目实战专栏:《uniapp小程序开发》 前端面试专栏地址:《面试必看》

⏳ 名言警句:说能做的,做说过的\textcolor{red} {名言警句:说能做的,做说过的}名言警句:说能做的,做说过的

✨ 原创不易,还希望各位大佬支持一下\textcolor{blue}{原创不易,还希望各位大佬支持一下}原创不易,还希望各位大佬支持一下

👍 点赞,你的认可是我创作的动力!\textcolor{green}{点赞,你的认可是我创作的动力!}点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!\textcolor{green}{收藏,你的青睐是我努力的方向!}收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!\textcolor{green}{评论,你的意见是我进步的财富!}评论,你的意见是我进步的财富!

本文链接地址:https://www.jiuchutong.com/zhishi/293102.html 转载请保留说明!

上一篇:详解 HttpServletResponse

下一篇:兰鲁斯特一座名为Pont Fawr的石拱桥,英国威尔士 (© Pajor Pawel/Shutterstock)(兰斯洛特)

  • 菜鸟驿站怎么取件(菜鸟驿站怎么取件扫码)

    菜鸟驿站怎么取件(菜鸟驿站怎么取件扫码)

  • 苹果11采用的是高通基带吗(苹果11是啥)

    苹果11采用的是高通基带吗(苹果11是啥)

  • 抖音手机号换了收不到验证码怎么办(抖音手机号换了怎么找回以前的抖音号)

    抖音手机号换了收不到验证码怎么办(抖音手机号换了怎么找回以前的抖音号)

  • 解锁bl是什么(解锁bl有什么影响)

    解锁bl是什么(解锁bl有什么影响)

  • 华为手机调返回键模式怎么调(华为手机调返回键怎么调)

    华为手机调返回键模式怎么调(华为手机调返回键怎么调)

  • 在windows中,对文件的确切定义应该是(在windows中对文件或文件夹进行更名)

    在windows中,对文件的确切定义应该是(在windows中对文件或文件夹进行更名)

  • 小米10充电要多久呀(小米10充电要多少分钟)

    小米10充电要多久呀(小米10充电要多少分钟)

  • 三星s8怎么退出安全模式(三星s8怎么退出刷机界面)

    三星s8怎么退出安全模式(三星s8怎么退出刷机界面)

  • wechat是微信吗(wechat属于腾讯吗)

    wechat是微信吗(wechat属于腾讯吗)

  • rpt文件用什么软件打开(rp文件可以用什么打开)

    rpt文件用什么软件打开(rp文件可以用什么打开)

  • 终止幻灯片按什么键(如要终止幻灯片放映)

    终止幻灯片按什么键(如要终止幻灯片放映)

  • 如何制作抖音短视频(如何制作抖音短视频照片)

    如何制作抖音短视频(如何制作抖音短视频照片)

  • 华为m30和m30pro有什么不同(华为m30pro和m30e pro区别)

    华为m30和m30pro有什么不同(华为m30pro和m30e pro区别)

  • 平板wlan和cellular有什么区别(平板wlan和5g区别)

    平板wlan和cellular有什么区别(平板wlan和5g区别)

  • oppoa31手机忘记锁屏密码怎么办(oppoa31手机忘记密码了怎么解锁)

    oppoa31手机忘记锁屏密码怎么办(oppoa31手机忘记密码了怎么解锁)

  • 淘宝怎么取消实名制(淘宝怎么取消实人认证)

    淘宝怎么取消实名制(淘宝怎么取消实人认证)

  • 数组名是一个不可变的什么量(数组名不可以自加怎么理解)

    数组名是一个不可变的什么量(数组名不可以自加怎么理解)

  • 手机qq怎么改群头像(手机QQ怎么改群名片)

    手机qq怎么改群头像(手机QQ怎么改群名片)

  • 天猫魔盒怎么关闭自动升级(天猫魔盒怎么关闭)

    天猫魔盒怎么关闭自动升级(天猫魔盒怎么关闭)

  • vivos5怎么传文件到电脑(vivo如何传输文件)

    vivos5怎么传文件到电脑(vivo如何传输文件)

  • 座机电话怎么设置时间(座机电话怎么设置黑名单)

    座机电话怎么设置时间(座机电话怎么设置黑名单)

  • 鼠标坏了怎么修

    鼠标坏了怎么修

  • 隐身访问加访客数量吗(隐身访问访客量会增加吗)

    隐身访问加访客数量吗(隐身访问访客量会增加吗)

  • vivoy93相机水印怎么设置(vivo手机相机水印)

    vivoy93相机水印怎么设置(vivo手机相机水印)

  • 戴尔g3键盘灯怎么开(戴尔G3键盘灯怎么开不了)

    戴尔g3键盘灯怎么开(戴尔G3键盘灯怎么开不了)

  • 华为p0t一al00a是什么型号(华为pot_al00a)

    华为p0t一al00a是什么型号(华为pot_al00a)

  • 工商名称变更后多久网上可以查到记录
  • 土地 税
  • 固定资产报废收入
  • 注册税务师的报名条件、时间及考试
  • 增值税纳税义务发生地点的规定
  • 营业外收入需要结转到本年利润吗
  • 小规模租金可以按1%
  • 季节性临时工是不是可以不上社保
  • 个人独资企业可以核定征收吗
  • 小企业会计准则和一般企业会计准则的区别
  • 残值要不要做分录
  • 企业购买的商业保险赔偿多少
  • 装饰行业可否用石灰代替
  • 客户能把货款打给个人吗
  • 商品销售赠送部分要交税吗
  • 融资租赁承租人和出租人的会计处理
  • 产品质量赔款的账务处理
  • 资产的税务处理要注意什么
  • 上月开票次月开红票销项税额有什么影响?
  • 2021年7月1日执行
  • 红字发票怎么申报?
  • 同一控制下企业合并入账价值
  • 利润表资产处置损益怎么填
  • 企业购买设备可以税前扣除吗
  • 防洪保安基金应用范围
  • 收到退回的投标保证金
  • 清算期间未申报债权
  • 收入负数怎么分录
  • 广告公司怎么结转成本
  • 多抵扣的进项如何做分录
  • itunes无法链接
  • win10隐藏功能大全
  • 长期借款利率怎么算
  • 投标保证金利息怎么做账
  • 公司换基本户需要多久
  • win10打开txt
  • 一般纳税人做账报税的整个流程详细
  • 企业购入固定资产一次性税前扣除
  • 何为职工
  • 不动产进项税额转出计算公式
  • 股权交易的重要性
  • 营业税改增值税的过程
  • 库存股会计处理 会计视野
  • 运城盐湖中国死海养生城
  • 浅谈中国式现代化3000字论文
  • 安卓京东抢购
  • 有趣的html简单代码
  • 林场苗圃工作有哪些
  • 劳务支出和应付职工薪酬
  • cgroup限制内存
  • 外贸客户付款方式
  • 企业所得税季报人数季度初值
  • 深入分析的成语
  • 带薪年假一般是什么时候
  • 农民专业合作社属于什么经济类型
  • 小微企业有什么优惠政策
  • 其他收益会计科目核算什么
  • 出售资产时递延所得税转回是全部收入吗
  • 医保卡收到钱
  • 企业办公楼房产税如何征收
  • 4s店出售试驾车的增值税是多少
  • 微软6月24号
  • 系统之家一键重装系统教程
  • win7系统玩游戏好吗
  • xp系统java环境变量配置
  • linux系统文件压缩命令
  • windows8使用教程
  • centos安装问题
  • 64位win7安装kb3038314补丁更新失败临时解决方法
  • windows开发教程
  • linux常用网络工具
  • win10qq在哪里启动
  • 批处理文件可用记事本
  • javascript教程chm
  • imageview tint
  • 广东增值税电子专用发票
  • 年终绩效奖金发放方案
  • 资源税的税目有7个,其中不包括
  • 我们是小规模纳税人,有个人所得税代扣代缴的业务吗
  • 城市维护建设税,教育费附加,地方教育费附加
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设