【微信小程序开发】第 7 课 - 小程序的常用组件

news2024/11/16 4:50:49

          欢迎来到博主 Apeiron 的博客,祝您旅程愉快 ! 时止则止,时行则行。动静不失其时,其道光明。


目录

1、缘起

2、小程序中组件的分类

3、常用的视图容器类组件 

3.1、view 组件

3.2、scroll - view 组件

3.3、swiper 和 swiper-item 组件

3.4、text  组件的基本使用

3.5、rich-text 组件

3.6、button 组件 

3.7、image 组件

4、总结 


1、缘起

        小程序的组件包括视图容器、文本、图片、按钮、输入框、列表、轮播图、导航栏、下拉菜单和弹窗等,用于构建小程序界面和实现交互功能。


2、小程序中组件的分类

        小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭出漂亮的页面结构。官方把小程序的组件分为了 9 大类,分别是:

①  视图容器

②  基础内容

③  表单组件

④  导航组件

  媒体组件

  map 地图组件

  canvas  画布组件

⑧  开放能力

⑨  无障碍访问

注:上述标红的文字是工作中常用的四大组件。


3、常用的视图容器类组件 

3.1、view 组件

①  普通视图区域

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

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

示例代码:

.wxml 

<!--pages/list/list.wxml-->
<view class = "square">
  <view>A</view>
  <view>B</view>
  <view>C</view>
</view>

.wxss 

/* pages/list/list.wxss */
/* 后代选择器 */
.square view{
  width:100px;
  height:100px;
  text-align: center;

  /* 用于设置所选元素内文本的行高为100像素,这将使文本在元素的垂直中心位置垂直居中。 */
  line-height:100px; 
}

.square view:nth-child(1){
  background-color: lawngreen;
}

.square view:nth-child(2){
  background-color: #ffd700;
}

.square view:nth-child(3){
  background-color: #ed5736;
}

.square {
  display:flex;
  justify-content: space-around;
}


3.2、scroll - view 组件

(1)  可滚动的视图区域

(2)  常用来实现滚动列表效果

示例代码:

①  .wxml

<!--pages/list/list.wxml-->
<scroll-view class = "container1" scroll-y>
  <view>A</view>
  <view>B</view>
  <view>C</view>
</scroll-view>

        ①  scroll-y  属性:允许纵向滚动

        ②  scroll-x  属性:允许横向滚动

        ③  注意:使用竖向滚动时,必须给 scroll-view 一个固定的高度 

②  .wxss  

/* pages/list/list.wxss */
/* 后代选择器 */
.container1 view{
  width:100px;
  height:100px;
  text-align: center;

  /* 用于设置所选元素内文本的行高为100像素,这将使文本在元素的垂直中心位置垂直居中。 */
  line-height:100px; 
}

.container1 view:nth-child(1){
  background-color: lawngreen;
}

.container1 view:nth-child(2){
  background-color: #ffd700;
}

.container1 view:nth-child(3){
  background-color: #ed5736;
}

.container1 {
  border: 1px solid red;
  width:100px;
  height:150px;
}

注:把鼠标放在方块内上下拖动,就可以实现纵向滚动效果。 


3.3、swiper 和 swiper-item 组件

        在微信小程序中,swiper 和 swiper-item 组件用于 创建轮播图(Banner)效果

        Swiper 组件 是一个滑块容器,用于包裹 swiper-item 组件,实现整体的轮播功能 ;它的默认高度是 150px,它提供了一些配置属性和事件,用于控制轮播的行为和样式,例如:设置轮播间隔时间、设置是否自动播放、设置指示点样式等。

        Swiper-item 组件 是 Swiper 组件的子组件,用于定义每个轮播项的内容。每个 swiper-item 组件代表了一个单独的轮播项,可以包含图片、文字、按钮等其他组件或内容,它的宽度和高度为 100%*100%。

        通过在 Swiper 组件中包裹多个 Swiper-item 组件,可以创建一个可以左右滑动的轮播图,用户可以通过手势或指示点进行切换。

swiper 组件的基本属性 

示例代码:

①  .wxml

<!--pages/list/list.wxml-->
<!-- indicator-dots  属性:显示面板指示点 -->
<swiper class="swiper-container" indicator-dots indicator-color="white" indicator-active-color="gray" autoplay interval="3000" circular>
  <!-- 第1项 -->
  <swiper-item>
      <view class="item">A</view>
  </swiper-item>

  <!-- 第2项 -->
  <swiper-item>
      <view class="item">B</view>
  </swiper-item>

  <!-- 第3项 -->
  <swiper-item>
      <view class="item">C</view>
  </swiper-item>
</swiper>

②  .wxss 

/* pages/list/list.wxss */
.swiper-container{
  height:150px; /*轮播图容器的高度*/
}

.item {
  height:100%;
  line-height:150px;
  text-align:center;
}

swiper-item:nth-child(1) .item {
  background-color:lightgreen;
}

swiper-item:nth-child(2) .item {
  background-color:#ed5736;
}

swiper-item:nth-child(3) .item {
  background-color:#ffd700;
}

注:上述代码就可以实现一个轮播图的效果。 

        在上述代码中,我们把轮播图容器的高度设置为 150px ,其实,微信小程序的轮播图容器 没有固定的最大高度限制。轮播图容器的高度可以根据实际需求进行设置,可以根据图片数量、图片大小以及布局设计等因素进行调整。通常情况下,轮播图容器的高度会根据页面的整体设计来确定,以保证页面的美观和用户体验。建议根据具体需求进行设计和调整,确保图片在容器内能够正常显示且不失真。 


3.4、text  组件的基本使用

        ①  文本组件

        ②  类似于 HTML 中的 span 标签,是一个行内元素

作用:通过 text 组件的 selectable 属性,实现长按选中文本内容的效果

示例代码: 

<!--pages/list/list.wxml-->
<view>
  长按选中文本内容的效果 
  <text selectable>Hello Applet</text>
</view>

        在模拟器中,不能实现长按选中文本内容的效果,只能在手机上预览,然后查看长按选中文本内容的效果。


3.5、rich-text 组件

①  富文本组件

②  支持把 HTML 字符串渲染为 WXML 结构 

作用:通过 rich-text 组件的 nodes 属性节点,把 HTML 字符串渲染为对应的 UI 结构

示例代码: 

<!--pages/list/list.wxml-->
<rich-text nodes="<h1 style='color:red;'>标题</h1>"></rich-text>


3.6、button 组件 

①  按钮组件

②  功能比 HTML 中的 button 按钮丰富

③  通过 open-type 属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息等)

button 按钮的基本使用 

示例代码:

<!--pages/list/list.wxml-->

<!-- 按钮组件的基本使用 -->

<!-- 通过 type 属性指定按钮颜色类型 -->
<button>默认按钮</button>
<button type="primary">主色调按钮</button>
<button type="warn">警告按钮</button>

<!-- size="mini" 小尺寸按钮 -->
<button size="mini">默认按钮</button>
<button type="primary" size="mini">主色调按钮</button>
<button type="warn" size="mini">警告按钮</button>

<!-- plain 镂空按钮 -->
<button size="mini" plain="">默认按钮</button>
<button type="primary" size="mini" plain>主色调按钮</button>
<button type="warn" size="mini" plain>警告按钮</button>


3.7、image 组件

        image 组件是一个有默认大小(320*240)的“盒子”。 

①  image  组件的 mode 属性 

        image 组件的 mode 属性 用来指定图片的 裁剪缩放 模式,常用的 mode 属性值如下: 

②  image 组件的基本使用

示例代码: 

.wxml 

<!-- image 空图片 -->
<image></image>

<image src="/images/Photo13.jpg"></image>

.wxss 

image {
  border: 1px solid red
}

注:通过边框线证明 image 有默认的宽和高 

注:上述代码和图片展示 image 的 mode 默认属性效果,mode 的其他属性,请各位读者自行体验查看。


4、总结 

        本期的分享总结就到这里了,如果有疑问的小伙伴儿,我们在评论区交流嗷~~~,笔者必回,我们下期再见啦 ! 

博客中难免存在疏漏和错误之处,皆归因于作者水平有限,诚请各位读者不吝指正 !

< 微信小程序开发 >  专栏系列持续更新 ,欢迎订阅关注 !

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

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

相关文章

blfs:为lfs虚拟机增加桌面02

参考书籍&#xff1a; BLFS11.3 LFS11.3&#xff08;这里面有软件安装的详细说明&#xff09; 树莓派Linux操作系统移植&#xff08;这里面有桌面系统的脉络梳理&#xff09; 参考视频 https://www.youtube.com/watch?vcavxyXBgJ6Q&listPLyc5xVO2uDsBK_3VZOek8ICsxewOO4DU…

Vue3 网络请求——axios 高级用法之 axios 拦截器实战与并发请求

文章目录 &#x1f4cb;前言&#x1f3af;关于拦截器&#x1f3af;项目创建&#x1f3af;代码分析&#x1f3af;补充&#xff1a;并发请求&#x1f9e9;axios.all() 和 Promise.all() 的区别 &#x1f4dd;最后 &#x1f4cb;前言 Axios 是一个流行的基于 Promise 的 HTTP 客户…

机器学习中的多分类问题

文章标题&#xff1a;机器学习中的多分类问题 机器学习中的分类问题可以大致分为二分类和多分类两种。在二分类问题中&#xff0c;模型需要将输入数据分为两类&#xff1b;而在多分类问题中&#xff0c;模型需要将输入数据分为多个类别。本文将介绍机器学习中的多分类问题及其…

C语言指针类型,8个例子给你讲明白

0.问题 知乎上回答了一个粉丝问题&#xff0c; 结果这兄弟又连续问了几个问题&#xff1a; 好吧&#xff0c;帮人帮到底&#xff0c;送佛送到西&#xff01;给你讲彻底点吧&#xff01; 1. int va; 这是一个整型变量&#xff0c;32位CPU的话&#xff0c;占有32个bite 2. in…

Redis入门(1)

1.NOSQL概述 1.1.什么是NOSQL NoSQL&#xff0c;泛指非关系型的数据库。随着互联网web2.0网站的兴起&#xff0c;传统的关系数据库在处理web2.0网站&#xff0c;特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心&#xff0c;出现了很多难以克服的问题&…

设计模式之享元模式笔记

设计模式之享元模式笔记 说明Flyweight(享元)目录享元模式示例类图抽象图形类I图形类L图形类O图形类工厂类测试类 说明 记录下学习设计模式-享元模式的写法。JDK使用版本为1.8版本。 Flyweight(享元) 意图:运用共享技术有效地支持大量细粒度的对象。 结构: 其中&#xff1…

MCU(Cortex - M3/M4)启动加载过程和内存分配原理 笔记

最近发现对基础不太熟悉&#xff0c;写篇笔记记录一下MCU启动到用户C语言运行&#xff0c;之前做了那些工作&#xff0c;同时flash和Ram又分别保存了那个数据&#xff0c;每一段又是什么意义&#xff0c;方便后续自己忘记了&#xff0c;查阅。 一、 MCU启动 在MCU上电/复位之后…

WireShark常用协议抓包与原理分析

1.ARP协议(地址解析协议) nmap 发现网关nmap -sn 192.168.133.2wireshark 抓请求包和响应包 arp请求包内容 arp响应包内容 总结:请求包包含包类型(request),源IP地址,源MAC地址,目标IP地址,目标MAC地址(未知,此处为全0);响应包包含包类型(reply),源IP地址,源…

DAY28:回溯算法(三)组合总和Ⅲ+电话号码字母组合

文章目录 216.组合总和Ⅲ思路树形结构 完整版debug测试逻辑错误&#xff1a;没有输出 剪枝操作剪枝版本continue的用法剪枝最后是continue还是return的讨论 17.电话号码的字母组合思路树形结构 伪代码字符串中的字符2转化成int的方法字符串字符与int转换补充字符串与字符 完整版…

CTF-Show密码学【摩斯码、培根密码】

萌新 密码33 一、题目信息 题目名称&#xff1a;我想吃培根题目描述&#xff1a;-- — .-. … . …–.- … … …–.- -.-. — — .-… …–.- -… …- - …–.- -… .- -.-. — -. …–.- … … …–.- -.-. — — .-… . .-. …–.- – – -… -… – -… – -… – – – -…

ASP.NET Core MVC 从入门到精通之缓存

随着技术的发展&#xff0c;ASP.NET Core MVC也推出了好长时间&#xff0c;经过不断的版本更新迭代&#xff0c;已经越来越完善&#xff0c;本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容&#xff0c;适用于初学者&#xff0c;在校毕业生&#xff0c…

理解KMP

KMP 问题 字符串匹配问题&#xff0c;问字符串 str1中是否存在连续的子串与字符串str2相等,存在返回子串的起始位置&#xff0c;否则返回-1 思路 传统做法是依次遍历str1中的每个字符作为起始位置&#xff0c;看是否能凑出字符串str2. KMP算法就是对传统做法的一种加速&am…

【Linux】软件包管理器yum与环境开发工具vim

【Linux】系列文章目录 【Linux】基础常见指令&#xff1a;http://t.csdn.cn/hwLPb 【Linux】基本权限&#xff1a;http://t.csdn.cn/faFZg 目录 前言 一、软件包管理器yum 1.什么是软件包&#xff1f; 2. yum的使用 &#xff08;1&#xff09;包文件查询 &#xff08…

EMA:基于跨空间学习的高效多尺度注意力模块

文章目录 摘要1、 简介2、相关工作3、高效多尺度注意力机制3.1、回顾坐标注意力(CA)3.2、多尺度注意力(EMA)模块 4、实验4.1、CIFAR-100上的图像分类4.2、ImageNet-1k上的图像分类4.3、MS COCO上的目标检测4.4、基于VisDrone的目标检测 5、消融实验6、 结论 摘要 https://arxi…

MIT 6.S081 Lab Six

MIT 6.S081 Lab Six 引言Copy-on-Write Fork for xv6问题解决方案Implement copy-on write (hard)代码解析 可选的挑战练习 引言 本文为 MIT 6.S081 2020 操作系统 实验六解析。 MIT 6.S081课程前置基础参考: 基于RISC-V搭建操作系统系列 Copy-on-Write Fork for xv6 虚拟内…

开发之路,穷且益坚,不坠青云之志

引言 2023毕业季&#xff0c;距离笔者毕业已过2年有余。 互联网从业环境由盛转衰&#xff0c;互联网从业者数量剧增&#xff0c;市场竞争异常激烈&#xff0c;原本的利润空间被不断挤压&#xff0c;以至于很多开发者对互联网已经失去了信心与激情。 互联网的市场份额依旧是占…

vulntarget-j内网靶机write-up

文章目录 第一部分 获取边界服务器0x01 漏洞扫描0x02 漏洞利用第二部分 信息收集+代理0x01 连接工具0x02 进行信息收集0x03 sock代理设置第三部分 内网漫游0x01 通过代理获取服务器0x02 信息收集-获取账号信息0x03 上线CS0x04 远程访问免责声明摘抄第一部分 获取边界服务器 0x0…

JSP 在线药品管理系统用myeclipse定制开发sqlserver数据库网页模式java编程jdbc

一、源码特点 JAVA 在线药品管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 JSP 在线药品管理系统用myeclipse定制开发sqls 二、功能介绍 此次系统主要在JSP…

go context详解

文章目录 摘要1. context接口2. 实现context接口的类型2.1 emptyCtx2.2 valueCtx2.3 cancelCtx2.4 timerCtx 摘要 Context是go语言用于上下文管理的包&#xff0c;主要用于携程间的上下文管理&#xff0c;控制携程按时或者按时间取消执行。多个Context按树形或者链表的结果向前…

深圳阿里云代理商:阿里云服务器的可用区和地域选择有哪些考虑因素?如何优化性能?

阿里云服务器的可用区和地域选择有哪些考虑因素&#xff1f;如何优化性能&#xff1f;   选择阿里云服务器时&#xff0c;可用区和地域选择是一个非常关键的环节。本文将为您详细解析在这个过程中需要考虑的因素以及如何优化性能。   一、阿里云服务器的可用区和地域选择的…