微信小程序-常用的视图容器类组件

简介: 该内容是关于微信小程序组件的分类和部分具体组件的介绍。主要分为9大类:视图容器、基础内容、表单组件、导航组件、媒体组件、地图组件、画布组件、开放能力和无障碍访问。其中详细讲解了`view`、`scroll-view`、`swiper`及`swiper-item`等组件的用途和示例。`view`用于构建页面布局,`scroll-view`支持滚动效果,`swiper`则用于创建轮播图。此外,还提到了`root-portal`、`page-container`等其他特殊用途的组件。

一.组件分类


小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构。


官方把小程序的组件分为了9大类:


(1) 视图容器


(2) 基础内容


(3) 表单组件


(4)导航组件


(5) 媒体组件


(6) map 地图组件


(7) canvas 画布组件


(8) 开放能力


(9) 无障碍访问


二.常用的视图容器类组件


1.view


普通的视图区域                                                                                                                                

类似于HTML中的div,是一个块级元素                                                                                        

     

常用来实现页面的布局效果


实现如图的flex横向布局效果:




<!--pages/list/list.wxml-->
<view class="test">
  <view>text1</view>
  <view>text2</view>
  <view>text3</view>
</view>


/* pages/list/list.wxss */
.test view {
  width: 100px;
  height: 100px;
  text-align: center;
  line-height: 100px;
}
 
.test view:nth-child(1) {
  background-color: lightgreen;
}
 
.test view:nth-child(2) {
  background-color: lightskyblue;
}
 
.test view:nth-child(3) {
  background-color: lightpink;
}
 
.test{
  flex-direction: row;
  justify-content: space-around;
}
 


注意:类名不能单纯的是container,因为container是默认的全局类名,会有冲突,导致编译结果显示不出来(为什么我会知道呢,因为这都是孩子血与泪的教训,摸索一下午不知道哪里错了)


还有就是,不要忘记把list页面置顶,view后面也不要加空格...


2.scroll-view


可滚动的视图区域                                                                                                                            

常用来实现滚动列表效果


实现如图所示的纵向滚动效果:



<!--pages/list/list.wxml-->
<!-- scroll-y属性:允许纵向滚动 -->
<!-- scroll-x属性:允许横向滚动 -->
<!-- 注意:使用竖向滚动时,必须给scroll-view一个固定高度 -->
 
<scroll-view class="test" scroll-y>
  <view>text1</view>
  <view>text2</view>
  <view>text3</view>
</scroll-view>


/* pages/list/list.wxss */
.test view{
  width: 100px;
  height: 100px;
  text-align: center;
  line-height: 100px;
}
 
.test view:nth-child(1) {
  background-color: lightgreen;
}
 
.test view:nth-child(2) {
  background-color: lightblue;
}
 
.test view:nth-child(3) {
  background-color: lightpink;
}
 
.test{
  border: 1px solid red;
  height: 120px;
  width: 100px;
}


3.swiper和swiper-item


轮播图容器组件和轮播图item组件


swiper组件的常用属性:



实现如图的轮播图效果:


<!--pages/list/list.wxml-->
<!-- 轮播图 -->
<!-- indicator-dots属性:显示面板指示点 -->
<swiper class="test" indicator-dots>
<!-- 第一项 -->
<swiper-item>
  <view class="text">text1</view>
</swiper-item>
<!-- 第二项 -->
<swiper-item>
  <view class="text">text2</view>
</swiper-item>
<!-- 第三项 -->
<swiper-item>
  <view class="text">text3</view>
</swiper-item>
</swiper>


/* pages/list/list.wxss */
.test {
  height: 150px; /*轮播图容器的高度*/
}
 
.text {
  height: 100%;
  line-height: 150px;
  text-align: center;
}
 
swiper-item:nth-child(1){
  background-color: lightpink;
}
 
swiper-item:nth-child(2){
  background-color: lightcoral;
}
 
swiper-item:nth-child(3){
  background-color: lightgreen;
}


4.root-portal


使整个子树从页面中脱离出来,类似于在 CSS 中使用 fixed position 的效果。

主要用于制作弹窗、弹出层等。


5.page-container    


页面容器。


小程序如果在页面内进行复杂的界面设计(如在页面内弹出半屏的弹窗、在页面内加载一个全屏的子页面等),用户进行返回操作会直接离开当前页面,不符合用户预期,预期应为关闭当前弹出的组件。 为此提供“假页”容器组件,效果类似于popup弹出层,页面内存在该容器时,当用户进行返回操作,关闭该容器不关闭页面。返回操作包括三种情形,右滑手势、安卓物理返回键和调用navigateBack接口


6.movable-view


可移动的视图容器,在页面中可以拖拽滑动.movable-view必须在movable-area组件中,并且必须是直接子节点,否则不能移动


7.movable-area


movable-view的可移动区域


8.match-media


media query 匹配检测节点。可以指定一组 media query 规则,满足时,这个节点才会被展示。


通过这个节点可以实现“页面宽高在某个范围时才展示某个区域”这样的效果。


9.cover-view


覆盖在原生组件之上的文本视图。


例如:



10.cover-image


覆盖在原生组件之上的图片视图。


目录
相关文章
|
7月前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
678 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
小程序 前端开发 中间件
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
本文介绍了如何在ThinkPHP框架中配置跨域请求,使用了TP内置的跨域类`\think\middleware\AllowCrossDomain::class`。文章还讨论了小程序和web网页在跨域请求格式上的区别,并提供了解决方案,包括修改跨域中间件源码以支持`Origin`和`token`。此外,还介绍了微信小程序跨域请求的示例和web网页前端发送Axios跨域请求的请求拦截器配置。
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
|
安全 算法 Java
【Java集合类面试二】、 Java中的容器,线程安全和线程不安全的分别有哪些?
这篇文章讨论了Java集合类的线程安全性,列举了线程不安全的集合类(如HashSet、ArrayList、HashMap)和线程安全的集合类(如Vector、Hashtable),同时介绍了Java 5之后提供的java.util.concurrent包中的高效并发集合类,如ConcurrentHashMap和CopyOnWriteArrayList。
【Java集合类面试二】、 Java中的容器,线程安全和线程不安全的分别有哪些?
|
Java 容器
【Java集合类面试一】、 Java中有哪些容器(集合类)?
这篇文章列出了Java中的四大类集合接口:Set、List、Queue和Map,以及它们的常用实现类,如HashSet、TreeSet、ArrayList、LinkedList、ArrayDeque、HashMap和TreeMap。
【Java集合类面试一】、 Java中有哪些容器(集合类)?
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Group Box的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Group Box的使用及说明
1695 3
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
2598 2
|
小程序
新闻电影资讯类小程序模板源码
新闻电影资讯类小程序模板源码
2912 5
|
人工智能 小程序 搜索推荐
餐饮类小程序开发定制需要多少钱,费用是怎样的
餐饮小程序开发费用因需求、规模和复杂性而异。基础版约几千到万元,含菜品展示、在线点餐等功能;界面设计费几千到几万;服务器租赁年费几千到几万;维护更新费同水平。总成本通常在几万到几十万之间。选择开发商时要考虑实际需求、合同条款及付款方式。
|
数据采集 监控 Kubernetes
Job类日志采集问题之iLogtail以减小容器发现和开始采集的延时如何优化
Job类日志采集问题之iLogtail以减小容器发现和开始采集的延时如何优化

热门文章

最新文章