uni-app功能 1. 实现点击置顶,滚动吸顶2.swiper一个轮播显示一个半内容且实现无缝滚动3.穿透修改uni-ui的样式

uni-app项目中遇到的功能

文章目录

  • uni-app项目中遇到的功能
  • 一、实现点击置顶,滚动吸顶、
    • 1.1、scroll-view设置不生效的原因和解决办法
    • 1.2 功能代码
  • 二、swiper一个轮播显示一个半内容且实现无缝滚动
  • 三、穿透修改uni-ui的样式


一、实现点击置顶,滚动吸顶、

1.1、scroll-view设置不生效的原因和解决办法

  1. 数据是否准确:scroll-into-view属性指定的id不存在或不可见
    • 如果scroll-into-view属性指定的id在页面中不存在,或者该id所在的区域不可见,那么该属性将会失效。您需要确保该id存在于页面中,并且可见。
    • id的值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素
  2. 生命周期问题:页面没有完全渲染完成
    如果页面没有完全渲染完成,而代码中已经调用了scroll-into-view属性,那么该属性将会失效。您可以将scroll-into-view的设置放在页面渲染完成的回调函数中,以确保该属性生效。
  3. croll-into-view属性的值被重复设置
    如果scroll-into-view属性的值在多个地方被设置,那么它可能会失效。在这种情况下,您需要确保scroll-into-view属性只在一个地方进行设置,并且确保该属性的值唯一。
  4. scroll-view组件的高度设置不正确
    如果scroll-view组件的高度设置不正确或者没有设置高度,那么scroll-into-view属性可能会失效。您可以通过设置scroll-view组件的高度为固定值或通过wx.getSystemInfoSync()获取屏幕高度来解决该问题。
  5. 异步加载问题:如果 scroll-view 或子元素是在异步加载数据后添加到页面的,确保在数据加载完成后设置 scroll-into-view 属性。可以使用异步settimeout或者nextTick

1.2 功能代码

<template>  <view class="content">  <scroll-view scroll-y="true" class="scroll-view"  :scroll-into-view="tracingLeftPoint">  <view>  <view class="body1">我是内容 1 </view>  <view class="header" id="header1" @click="handleScoll('header1')">我是固定标题 1 </view> <view class="body1">我是内容 2</view> <view class="body1">我是内容 3 </view>  <view class="body1">我是内容 4</view>  <view class="body1">我是内容 5</view>  <!-- <view class="header" id="header2" @click="handleScoll('header2')">我是固定标题  2</view> --><view class="body1">我是内容 6</view>  <view class="body1">我是内容 7</view> <!-- <view class="header" id="header3" @click="handleScoll('header3')">我是固定标题  9</view> --></view>  </scroll-view>  </view>  
</template>  
<script>  export default {  data() {  return {  title: 'Hello',  scrollH: 0,tracingLeftPoint:"",//描点id};  },  onLoad() {},  methods: {handleScoll(id) {setTimeout(()=>{this.tracingLeftPoint= id},200)}}  };  
</script>  
<style lang="scss" scoped>  .scroll-view {  height: 100vw;  /* overflow-y: auto; */  position: relative;  color: #fff;  text-align: center;  .header {  background-color: red;  height: 80rpx;  line-height: 80rpx;  position: sticky;  top: 0rpx;  }  .body1 {background-color: green;height: 20vh;  }.body2 {  background-color: green;height: 200vh;  }  .line {  position: absolute;  top: 0;  height: 100%;  background-color: royalblue;  z-index: 2;  }  }  
</style>

初始状态
点击固定标题置顶滚动,固定标题仍然置顶

二、swiper一个轮播显示一个半内容且实现无缝滚动

uni-app中的scroll-view和swiper组件用法的简介

<template><view><scroll-view class="homePageSearch" :scroll-y="true" :scroll-with-animation="true"><view class="tool-version"><swiper class="tool-version-swiper" circular="true" loop="true" autoplay="true"  interval="5000" duration="1000"><swiper-item class="tool-version-swiper-item swiper-item1"v-for="(item,index) in 6" :key="index"><view class="tool-version-item"><view class="tool-version-item-white"><view class="baseBox"><text class="searchHistoryTitle">话题榜</text></view><view class="carListSwiper"><view class="baseYBox carListItem" v-for="(i, k) in 10" :key="k+100"><view class="carIndex"><cover-image v-if="k+1 == 1" class="imgIcon" src="../../static/image/guan.png" /><cover-image v-else-if="k+1 == 2" class="imgIcon" src="../../static/image/ya.png" /><cover-image v-else-if="k+1 == 3" class="imgIcon" src="../../static/image/ji.png" /><text class="minFont" v-else>{{k+1}}</text></view><cover-image class="carImageMini" src="/static/logo.png"></cover-image><view class="carTitle">理想ONE 2021款 增程6...</view></view></view></view></view></swiper-item></swiper></view></scroll-view></view></template><script>export default {options: {styleIsolation: 'shared'},}
</script><style lang="scss" scoped>
.homePageSearch {padding: 0 12px;box-sizing: border-box;background-color: #F6F6F6;
}
.searchHistoryTitle {color: #333333;font-weight: bold;font-size: 16px;
}.love {margin-left: 5px;
}
.carTitle {color: rgba(51, 51, 51, 1);font-size: 12px;font-weight: Bold;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
}.baseYBox {display: flex;align-items: center;
}
.tool-version-swiper {width: 100% !important;height: 900rpx;
}
.tool-version-swiper-item {width: 493rpx !important;padding: 0 32rpx 0 0;
}.carListSwiper {margin-top: 18px;}
.tool-version-item-white {width: 100%;background: #FFFFFF;box-shadow: 0 8rpx 43rpx 0 rgba(17, 72, 129, 0.06);padding: 12px 12px 8px 8px ;box-sizing: border-box;border-radius: 5px;
}
.carImageMini {width: 40px;height: 30px;border-radius: 2px 2px 2px 2px;margin-right: 10px;
}
.carIndex {width: 20px;text-align: center;
}
.carListItem {margin-bottom: 10px;
}
</style>

代码执行效果

三、穿透修改uni-ui的样式

在uni-app中,想要修改uni-ui组件的样式,可以通过以下几种方式实现:

  1. 在组件上使用class或者style直接覆盖默认样式。
  2. 使用Css预处理器(如Sass/Less)修改源码中的变量。
  3. 使用/deep/或::v-deep选择器来穿透组件边界修改子组件样式。
    注意:由于uni-app的编译限制,你可能需要使用/deep/或::v-deep来穿透样式,但这在非Web组件中可能不适用。
  • Vue 组件编译到小程序平台的时候会编译为对应平台的组件,部分小程序平台支持 options 选项(具体选项参考对应小程序平台文档的自定义组件部分),一般情况默认即可,如有特殊需求可在 Vue 组件中增加 options 属性。
    options属性设置
属性类型默认值描述平台兼容
multipleSlotsBooleantrue在组件定义时的选项中启动多slot支持
styleIsolationStringapply-shared组件样式隔离方式,微信小程序
addGlobalClassBooleantrue这个选项等价于设置 styleIsolation: apply-shared ,但设置了 styleIsolation 选项后这个选项会失效微信小程序
virtualHostBooleantrue将自定义节点设置成虚拟的,更加接近Vue组件的表现。我们不希望自定义组件的这个节点本身可以设置样式、响应 flex 布局等,而是希望自定义组件内部的第一层节点能够响应 flex 布局或者样式由自定义组件本身完全决定,启用后可以通过 mergeVirtualHostAttributes 合并合并组件虚拟节点外层属性微信小程序、支付宝小程序(默认值为 true)、抖音小程序(4.02+)
// js需要设置, 否则h5生效,小程序不生效
<script>export default {options: {styleIsolation: 'shared'},}
</script>
  1. 组件样式隔离
    默认情况下,自定义组件的样式只受到自定义组件 wxss 的影响。除非以下两种情况:
  • 指定特殊的样式隔离选项 styleIsolation 。
  • webview 渲染下,在 app.wxss 或页面的 wxss 中使用标签名选择器(或一些其他特殊选择器)来直接指定样式会影响到页面和全部组件。通常情况下这是不推荐的做法。
{"styleIsolation": "isolated"
}

支持以下取值:

  • isolated 表示启用样式隔离,在自定义组件内外,使用 class 指定的样式将不会相互影响(一般情况下的默认值);
  • apply-shared 表示页面 wxss 样式将影响到自定义组件,但自定义组件 wxss 中指定的样式不会影响页面;
  • shared 表示页面 wxss 样式将影响到自定义组件,自定义组件 wxss 中指定的样式也会影响页面和其他设置了 apply-shared 或 shared 的自定义组件。(这个选项在插件中不可用。)
    使用后两者时,请务必注意组件间样式的相互影响。
    如果这个 Component 构造器用于构造页面 ,则默认值为 shared ,且还有以下几个额外的样式隔离选项可用:
  • page-isolated 表示在这个页面禁用 app.wxss ,同时,页面的 wxss 不会影响到其他自定义组件;
  • page-apply-shared 表示在这个页面禁用 app.wxss ,同时,页面 wxss 样式不会影响到其他自定义组件,但设为 shared 的自定义组件会影响到页面;
  • page-shared 表示在这个页面禁用 app.wxss ,同时,页面 wxss 样式会影响到其他设为 apply-shared 或 shared 的自定义组件,也会受到设为 shared 的自定义组件的影响。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

基于STM32残疾人辅助行走系统

要么是家人陪伴&#xff0c;要么是类似导盲犬的动物辅助&#xff0c;家人还有事要做&#xff0c;不一定实时在场&#xff0c;而动物辅助也可能会出现新的问题&#xff0c;威胁残疾人身体安全。因此利用现代计算机技术、传感器检测设备和物联网技术设计这一款辅助残疾人行走的智…

【FPGA】FPGA芯片结构

目录 1 可编程输出/输出单元&#xff08;IOB&#xff09;2 可配置逻辑块&#xff08;CLB&#xff09;3 数字时钟管理模块&#xff08;DCM&#xff09;4 嵌入式块存储器&#xff08;BRAM&#xff09;5 布线资源6 内嵌功能模块&#xff08;专用IP单元&#xff09;6.1 PLL&#xf…

MISC - 第一天(stegsolve图片隐写解析器、QR research、binwalk,dd文件分离,十六进制文件编辑器)

前言 各位师傅大家好&#xff0c;我是qmx_07&#xff0c;最近更新Buuctf在线测评中的MISC杂项内容 介绍 BUUCTF:https://buuoj.cn/ &#xff0c;整合了各大 CTF 赛事题目&#xff0c;类型丰富&#xff0c;涵盖了Web 安全、密码学、系统安全、逆向工程、代码审计等多个领域 …

C#/.NET/.NET Core技术前沿周刊 | 第 6 期(2024年9.16-9.22)

前言 C#/.NET/.NET Core技术前沿周刊&#xff0c;你的每周技术指南针&#xff01;记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿&#xff0c;助力技术成长与视野拓宽。 欢迎投稿&…

数据库 MySQL 是否需要容器化?

容器的定义&#xff1a;容器是为了解决“在切换运行环境时&#xff0c;如何保证软件能够正常运行”这一问题。 目前&#xff0c;容器和 Docker 依旧是技术领域最热门的词语&#xff0c;无状态的服务容器化已经是大势所趋&#xff0c;同时也带来了一个热点问题被大家所争论不以…

2024PHP彩虹工具网源码一个多功能工具箱程序支持72种常用站长和开发等工具

安装&#xff1a; PHP>7.4 伪静态设置Thinkphp 设置/public为网站运行目录 访问你的域名/install进行安装即可 安装扩展 sg11 &#xff0c;fileinfo &#xff0c; ionCube 常用功能 站长工具&#xff1a;ICP备案查询、IP地址查询、域名Whios查询、腾讯域名拦截查询、Mysql…

基于yolov5的中国交通标志TT100K检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv5的中国交通标志TT100K检测系统是一种利用深度学习技术实现高效、准确交通标志识别的系统。该系统采用YOLOv5作为核心检测算法&#xff0c;凭借其速度快、准确性高的特点&#xff0c;在实时交通标志识别领域展现出显著优势。 TT100K数据集作为该系统的…

调用本地大模型服务出现PermissionDeniedError的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

ICM20948 DMP代码详解(38)

接前一篇文章&#xff1a;ICM20948 DMP代码详解&#xff08;37&#xff09; 上一回继续解析inv_icm20948_set_slave_compass_id函数&#xff0c;解析了第3段代码&#xff0c;本回解析接下来的代码。为了便于理解和回顾&#xff0c;再次贴出该函数源码&#xff0c;在EMD-Core\so…

PMP--二模--解题--71-80

文章目录 13.干系人管理--干系人登记册--记录干系人的身份信息、评估信息、干系人分类。识别完干系人更新干系人登记册。71、 [单选] 一名初级项目经理被指派到一个新启动的项目&#xff0c;高级项目经理指示该初级项目经理去识别在项目中享有既得利益的人员。高级项目经理让初…

Python OpenCV精讲系列 - 高级图像处理技术(十)

&#x1f496;&#x1f496;⚡️⚡️专栏&#xff1a;Python OpenCV精讲⚡️⚡️&#x1f496;&#x1f496; 本专栏聚焦于Python结合OpenCV库进行计算机视觉开发的专业教程。通过系统化的课程设计&#xff0c;从基础概念入手&#xff0c;逐步深入到图像处理、特征检测、物体识…

社区团购的创新与变革——融合开源链动 2+1 模式、AI 智能名片及 S2B2C 商城小程序

摘要&#xff1a;本文从信息流、资金流、物流角度深入分析社区团购的特点&#xff0c;探讨其如何避免传统线下中心零售的高展示成本与传统电商的高交付成本。同时&#xff0c;引入开源链动 21 模式、AI 智能名片及 S2B2C 商城小程序等创新元素&#xff0c;阐述它们为社区团购带…

Card View 卡片视图

Goto 数据网格和视图入门 Card View 卡片视图 The Card View displays data records as cards, arranged down and then across. Card fields are always arranged in a single column. The Card View is represented by the CardView class. Card View &#xff08;卡片视图…

k8s中pod的创建过程和阶段状态

管理k8s集群 kubectl k8s中有两种用户 一种是登录的 一种是/sbin/nologin linux可以用密码登录&#xff0c;也可以用证书登录 k8s只能用证书登录 谁拿到这个证书&#xff0c;谁就可以管理集群 在k8s中&#xff0c;所有节点都被网络组件calico设置了路由和通信 所以pod的ip是可以…

计算机毕业设计springboot+vue高校教学实施评教系统springcloud微服务分布式

目录 功能和技术介绍系统实现截图开发核心技术介绍&#xff1a;使用说明开发步骤编译运行需求分析系统设计软件测试核心代码部分展示详细视频演示源码获取 功能和技术介绍 本项目包含程序源码和MySql脚本和文档,idea开发,支持Eclipse。使用vue的本质是SpringFramework【IoC&am…

linux强制关闭再启动后zookeeper无法启动

1、若开启了zkserver就先关闭zkserver 查看zkserver是否启动 sh zkServer.sh status关闭zkServer sh zkServer.sh stop2、更改conf/zoo.cfg 将这里的启动端口改为2183 3、启动zkServer sh zkServer.sh start4、以2183端口启动zkCli zkCli.sh -server 127.0.0.1:2183这样启…

华为OD机试 - N个选手比赛前三名、比赛(Java 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;E卷D卷A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加…

恶意AI大模型的兴起将改变网络安全

LLM 的恶意版本&#xff08;如 ChatGPT 的黑暗变体&#xff09;的兴起正在通过使用更复杂和自动化的攻击来升级网络战。 这些模型可以生成令人信服的网络钓鱼电子邮件、传播虚假信息并制作有针对性的社会工程消息。 所有这些非法功能都对在线安全构成了重大威胁&#xff0c;并加…

水果识别系统Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练

一、介绍 水果识别系统。本项目使用Python作为主要编程语言&#xff0c;基于TensorFlow搭建卷积神经网络算法模型&#xff0c;通过对收集到的5种常见的水果&#xff08;圣女果、梨、芒果、苹果、香蕉&#xff09;等图片数据集进行训练&#xff0c;最终得到一个识别精度较高的模…

【开源免费】基于SpringBoot+Vue.JS体育馆管理系统(JAVA毕业设计)

本文项目编号 T 048 &#xff0c;文末自助获取源码 \color{red}{T048&#xff0c;文末自助获取源码} T048&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析5.4 用例设计 六、核…