热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

uniapp小程序视图容器cover-view使用详解

在日常开发中,使用uniapp开发项目有时会遇到需要覆盖组件的问题,但由于某些组件的渲染优先级过高,例如video,map ,在小程序中只能使用cover-view去覆盖,这篇文章主要给大家介绍了关于uniapp小程序视图容器cover-view使用的相关资料,需要的朋友可以参考下

一,cover-view

首先我们需要知道,cover-view是可以覆盖在原生组件上的文本视图,也就是cover-view组件的层级高于原生组件,就像是原生组件的层级高于前端组件一样,如flash层级就高于div的层级。

部分组件,比如mapvideotextareacanvas是通过原生组件实现的,原生组件无法被前端组件覆盖,程序员需要找到能覆盖它们的存在,这也是设计出cover-view的原因。

这里牛牛先来解释一下原生组件:

组件化开发就类似于函数封装,有利于代码的复用,提高程序员的效率和代码的整洁性。或者说类似于一个模板,里面的方法,我们可以直接调用,这也是原生组件的思想和实现原理,原生组件比div什么的相比,就高级在于它不仅有视图,还有逻辑。比如map,能把个地图传进来,还能识别位置。

uniapp日常开发中,我们也会经常的用到cover-view覆盖原生组件的性质,举个小例子,我们需要实现一个在video上添加一个控制播放的按钮,这时候我们是不是就可以用cover-view来做了?


然后在用个子绝父相,调整一个按钮的位置,就很轻松的搞定啦。

1.1 基础知识

注意:

cover-view组件支持的事件:click

可以覆盖的组件有mapvideotextareacanvas

属性:

scroll-top,设计来设置顶部的滚动偏移量的,需要注意的是,它仅在设置了overflow-y: scroll后,才会生效。

1.2 各平台差异

app-nvue所有组件均为原生渲染,不存在前端组件无法覆盖原生组件的问题。但为了保持多端兼容,nvue里也实现了cover-view,作用于普通view一样。

微信小程序部分原生组件实现了同层渲染,在指定的基础库版本上,某些原生组件可无需使用cover-view覆盖

字节跳动小程序不需要cover-view,因其原生组件均实现了同层渲染。

360小程序不存在原生组件,无此概念。

cover-view 嵌套使用时,内部不可直接写文本节点,需要使用 cover-view 包裹。

1.3 不支持的CSS

position: fixed
opacity
overflow
padding
linebreak
white-space

注意:

nvue的cover-view不在上述限制中,它仅支持且全部支持nvue的所有css

附:uni-app中cover-view覆盖原生组件

在uni-app中 经常要做到覆盖原生组件 

cover-view 可以做到覆盖原生组件

举个例子 我们在 video 标签中  在页面上添加一个控制播放的按钮



// 给 父组件video标签 添加一个 相对定位
video{
  position:relative;
}

// 子组件  绝对定位
.icon{
   position:absolute;
  bottom:10px;
   right:10px;
}

这样就实现了 覆盖在原生 video组件上面了  注意 cover-view 要在 video组件里面进行书写 写到外面是不管用的

总结

到此这篇关于uniapp小程序视图容器cover-view使用的文章就介绍到这了,更多相关uniapp小程序视图容器cover-view内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 第十九天 - 类的约束、异常处理与日志记录
    本文介绍了如何通过类的约束来确保代码的一致性,以及如何使用异常处理和日志记录来提高代码的健壮性和可维护性。具体包括抛出异常、使用抽象类和方法,以及异常处理和日志记录的详细示例。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 万事开头难,凡事都有套路,勇敢迈出第一步就成功一大半了。本节将带领初学者们迈出属于自己的一小步。本书的开发工具采用AndroidStudio࿰ ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 本文总结了在SQL Server数据库中编写和优化存储过程的经验和技巧,旨在帮助数据库开发人员提升存储过程的性能和可维护性。 ... [详细]
  • CM 创始人分享:在 GitHub 上成为开源项目的守护者
    本文由 CM 创始人 Steve Klabnik 发表在其个人博客上,详细介绍了他在 GitHub 上为 Rails 开源项目所做的贡献和经验,特别强调了如何有效管理和筛选项目中的问题。 ... [详细]
  • 【问题】在Android开发中,当为EditText添加TextWatcher并实现onTextChanged方法时,会遇到一个问题:即使只对EditText进行一次修改(例如使用删除键删除一个字符),该方法也会被频繁触发。这不仅影响性能,还可能导致逻辑错误。本文将探讨这一问题的原因,并提供有效的解决方案,包括使用Handler或计时器来限制方法的调用频率,以及通过自定义TextWatcher来优化事件处理,从而提高应用的稳定性和用户体验。 ... [详细]
  • 本文探讨了 Java 中 Pair 类的历史与现状。虽然 Java 标准库中没有内置的 Pair 类,但社区和第三方库提供了多种实现方式,如 Apache Commons 的 Pair 类和 JavaFX 的 javafx.util.Pair 类。这些实现为需要处理成对数据的开发者提供了便利。此外,文章还讨论了为何标准库未包含 Pair 类的原因,以及在现代 Java 开发中使用 Pair 类的最佳实践。 ... [详细]
  • SRM 553:深入解析供应链管理系统的最新进展与应用本文详细探讨了供应链管理系统(SCM)的最新发展及其在实际应用中的影响。通过对当前技术趋势的分析,文章揭示了 SCM 在提高效率、降低成本和增强透明度方面的关键作用。此外,还介绍了几种创新的 SCM 解决方案,如区块链技术和人工智能的应用,以及这些技术如何帮助企业更好地应对市场变化和挑战。 ... [详细]
author-avatar
kevin_xi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有