【小程序从0到1】小程序常用组件一览

article/2025/11/6 12:52:49

欢迎来到我的博客
📔博主是一名大学在读本科生,主要学习方向是前端。
🍭目前已经更新了【Vue】、【React–从基础到实战】、【TypeScript】等等系列专栏
🛠目前正在学习的是🔥 R e a c t / 小程序 React/小程序 React/小程序🔥,中间穿插了一些基础知识的回顾
🌈博客主页👉codeMak1r.小新的博客

😇本文目录😇

  • 常用的视图容器组件
    • view组件的基本使用
    • scroll-view组件的基本使用
    • swiper和swiper-item组件的基本使用
  • 常用的基础内容组件
    • text组件的基本使用
    • rich-text组件的基本使用
  • 其他常用组件
    • button按钮的基本使用
    • image组件的基本使用
  • 小程序 API 三大分类

本文被专栏【小程序|原力计划】收录

🕹坚持创作✏️,一起学习📖,码出未来👨🏻‍💻!
在这里插入图片描述

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

  1. 视图容器
  2. 基础内容
  3. 表单组件
  4. 导航组件
  5. 媒体组件
  6. map地图组件
  7. canvas画布组件
  8. 开放能力
  9. 无障碍访问

本篇文章,我们将学习小程序常用组件view|scroll-view|swiper|swiper-item|text|rich-text|button|image等组件的基本用法以及API的三大分类。

常用的视图容器组件

  1. view
  • 普通视图区域
  • 类似于HTML中的div,是一个块级元素
  • 常用来实现页面的布局效果
  1. scroll-view
  • 可滚动的视图区域
  • 常用来实现滚动列表效果
  1. swiper和swiper-item
  • 轮播图的容器组件和轮播图的item项组件

view组件的基本使用

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

在这里插入图片描述

  1. 编写WXML页面代码(牢记div ⇒ view)
<!--pages/list/list.wxml-->
<view class="container1"><view>A</view><view>B</view><view>C</view>
</view>
  1. 编写WXSS样式代码(使用CSS3选择器以及flex布局)
/* pages/list/list.wxss */
.container1 view {width: 100px;height: 100px;text-align: center;line-height: 100px;
}
.container1 view:nth-child(1) {background-color: lightgreen;
}
.container1 view:nth-child(2) {background-color: lightskyblue;
}
.container1 view:nth-child(3) {background-color: lightpink;
}
.container1 {display: flex;justify-content: space-around;
}
  1. 刷新模拟器查看效果

scroll-view组件的基本使用

需求:实现如图的纵向滚动效果

在这里插入图片描述

  1. 编写WXML中的scroll-view标签,并给其一个scroll-y属性代表垂直滚动
<scroll-view class="container1" scroll-y><view>A</view><view>B</view><view>C</view>
</scroll-view>
  1. 编写WXSS样式,在之前讲解view的样式的基础上,为container1类增加一个最大高度为120px即可。

swiper和swiper-item组件的基本使用

需求:实现如图的轮播图效果

在这里插入图片描述

  1. 编写WXML页面代码
<!-- 轮播图区域 -->
<!-- indicator-dots:显示面板指示点 -->
<swiper class="swiper-container" indicator-dots><swiper-item><view class="item">A</view></swiper-item><swiper-item><view class="item">B</view></swiper-item><swiper-item><view class="item">C</view></swiper-item>
</swiper>
  1. 编写WXSS样式代码
/* pages/list/list.wxss */
.swiper-container {height: 150px; /* 轮播图容器的高度 */
}
.item {height: 100%;line-height: 150px;text-align: center;
}
swiper-item:nth-child(1) {background-color: lightgreen;
}
swiper-item:nth-child(2) {background-color: lightskyblue;
}
swiper-item:nth-child(3) {background-color: lightpink;
}

swiper 组件的常用属性

属性类型默认值说明
indicator-dotsbooleanfalse是否显示面板指示点
indicator-colorcolorrgba(0, 0, 0, .3)指示点颜色
indicator-active-colorcolor#000000当前选中的指示点颜色
autoplaybooleanfalse是否自动切换
intervalnumber5000是否切换时间间隔
circularbooleanfalse是否采用衔接滑动

常用的基础内容组件

  1. text
  • 文本组件
  • 类似于HTML中的span,是一个行内元素
  1. rich-text
  • 富文本组件
  • 支持把HTML字符串渲染为WXML结构

text组件的基本使用

需求:通过 text 组件的user-select属性,实现长按选中文本内容的效果

在这里插入图片描述

在小程序中,view组件是不支持长按选中复制的。我们可以使用text组件,为text组件加上一个user-select属性,此时就可以支持用户长按选中文本内容并复制了。

rich-text组件的基本使用

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

在这里插入图片描述
rich-text组件提供了一个nodes属性,可以在nodes属性中放置html标签内容(有点类似JSX,只不过JSX是在JS文件中放置html标签)。

值得注意的是:nodes内容使用了双引号,那么内部的行内样式,就不能使用双引号,必须使用单引号。

其他常用组件

  1. button
  • 按钮组件
  • 功能比HTML中的button按钮更丰富
  • 通过open-type属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息)
  1. image
  • 图片组件
  • image组件默认宽度约为300px、高度约为240px
  1. navigator
  • 页面导航组件
  • 类似于HTML中的 a 链接

button按钮的基本使用

在这里插入图片描述
除了图中的一些api之外,还支持我们网页开发中的WebView属性。

包括但不限于:

disabled / loading / form-type(submit / reset) 等等……

按钮组件的使用中,还可以依赖于微信开放的官方API。

合法值说明最低版本
contact打开客服会话,如果用户在会话中点击消息卡片后返回小程序,可以从 bindcontact 回调中获得具体信息 (小程序插件中不能使用1.1.0
share触发用户转发1.2.0
getPhoneNumber获取用户手机号,可以从 bindgetphonenumber 回调中获取到用户信息(小程序插件中不能使用1.2.0
getUserInfo获取用户信息,可以从 bindgetuserinfo 回调中获取到用户信息 (小程序插件中不能使用1.3.0
launchApp打开APP,可以通过 app-parameter 属性设定向 APP 传的参数具体说明1.9.5
openSetting打开授权设置页2.0.7
feedback打开“意见反馈”页面,用户可提交反馈内容并上传日志,开发者可以登录小程序管理后台后进入左侧菜单“客服反馈”页面获取到反馈内容2.1.0
chooseAvatar获取用户头像,可以从 bindchooseavatar 回调中获取到头像信息2.21.2

image组件的基本使用

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

属性类型默认值必填说明最低版本
modestringscaleToFill图片裁剪、缩放的模式1.0.0
合法值说明最低版本
scaleToFill缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
aspectFit缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
aspectFill缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
widthFix缩放模式,宽度不变,高度自动变化,保持原图宽高比不变
heightFix缩放模式,高度不变,宽度自动变化,保持原图宽高比不变2.10.3
top裁剪模式,不缩放图片,只显示图片的顶部区域
bottom裁剪模式,不缩放图片,只显示图片的底部区域
center裁剪模式,不缩放图片,只显示图片的中间区域
left裁剪模式,不缩放图片,只显示图片的左边区域
right裁剪模式,不缩放图片,只显示图片的右边区域
top left裁剪模式,不缩放图片,只显示图片的左上边区域
top right裁剪模式,不缩放图片,只显示图片的右上边区域
bottom left裁剪模式,不缩放图片,只显示图片的左下边区域
bottom right裁剪模式,不缩放图片,只显示图片的右下边区域

在这里插入图片描述
WXSS样式:

/* pages/list/list.wxss */
image {border: 1px red solid;
}

小程序 API 三大分类

小程序的API是由宿主环境提供的,通过这些丰富的小程序API,开发者可以方便的调用微信提供的能力,例如:获取用户信息、本地存储、支付功能等……

  1. 事件监听API
  • 特点:以on开头,用来监听某些事件的触发
  • 例如,wx.onWindowResize(function callback)监听窗口尺寸变化事件
  1. 同步API
  • 以Sync结尾的API都是同步API
  • 同步API的执行结果,可以通过函数返回值直接获取,如果执行出错会抛出异常
  • 例如,wx.setStorageSync('key', 'value')向本地存储写入内容
  1. 异步API
  • 类似于jQery中的$.ajax(options)函数,需要通过 success、fail、complate接受调用的结果
  • 例如,wx.request()发起网络数据请求,通过success回调函数接受数据

下篇文章内容:小程序模版与配置
专栏订阅入口【小程序|原力计划】


http://chatgpt.dhexx.cn/article/0290EoCc.shtml

相关文章

微信小程序商城系列之商品列表页(一)

微信小程序商城列表页 wxml: <view classlist><block wx:for{{dataList}} wx:keylist wx:for-item"item"><view class"list_item"><navigator urldetails?id{{item.goods_id}}><view classimg><image src"{{imghr…

微信小程序——商品列表

主页面 <view class"container"><googsList goodsClassList"{{goodsClassList}}" goodsList"{{goodsList}}" bind:leftClick"leftClick" bind:toDetails"toDetails" bind:scrolltolowerGoodsClass"scroll…

微信小程序 - 商城项目 - 列表排序

sort ( ) 排序 需要实现两个排序功能&#xff0c;价格排序和好评排序&#xff0c;且都可以正反切换 数字比较 价格排序中&#xff0c;价格为数字类型&#xff0c;属于数字的比较&#xff0c;无需转换类型 // 点击价格排序的图标handlePrice(){this.setData({priceOrder:!this…

微信小程序之多列表的显示和隐藏功能【附源码】

效果图&#xff1a; 实现思路&#xff1a; 实现单个列表的显示和隐藏应该使用唯一元素让程序知道你应该显示和隐藏哪个列表项&#xff0c;可以用数据的id&#xff1b;css中定义一个hidden{display&#xff1a;none}控制显示和隐藏&#xff0c;然后通过三元运算符来判断&#x…

微信小程序列表实现

1.在 .json文件中使用 navigationBarTitleText定义当前窗口title {"navigationBarTitleText": "小程序列表实现" }2.在 .wxss文件中编写如下&#xff1a; // page设置当前窗口背景色 page{background-color: #F5F5F5 }// 定义.container设置容器样式 .co…

微信小程序 开发列表

一.知识点 (一).列表渲染 wx:for tip:wx:for“array”可以等于参数名&#xff0c;在js中调用 Page({ data:{ array: [{name: 小李},{ name: 小高}]} })&#xff0c;获取值&#xff1b;也可以直接把wx:for"{{[1, 2, 3]}}"&#xff0c;把值放在上面 1.在组件上使用wx:f…

微信小程序实现分类列表

1、效果展示 2、fenleiliebiao.wxml文件代码 <!-- 头部搜索 --> <view class"title_search"></view> <!-- 头部搜索 --> <!-- Tab布局 --> <view catchtouchmovetrue><view classnavBox><view classtitleBox1 id"…

微信小程序--数据列表

设置页面标题 首页可以使用&#xff1a; app.json中window对象的"navigationBarTitleText"参数进行标题设置&#xff0c; 每个页面也可以在对应json文件中使用"navigationBarTitleText"参数进行标题设置 也可以在js文件的onRead函数中使用&#xff1a;js中…

用小程序完成简单的详情列表功能

最近学习了微信小程序&#xff0c;写了一个详情列表 主要思路是&#xff1a; 1.先通过接口拿到数据&#xff0c;在onLoad(options){}中调用wx.request(){}函数&#xff0c;获取到数据 2.完成数据渲染后&#xff0c;&#xff0c;用catchtab给它绑定一个点击事件&#xff0c;点…

微信小程序--列表展示

小知识&#xff1a; wx:for"{{list}}"用来循环数组。 wx:for-item‘变量名&#xff08;随便起&#xff09;’ 它是指定循环数据当前的变量名&#xff0c;可以通过 {{变量名.属性}} 展示数组的元素。 wx:for-index‘变量名&#xff08;随便起&#xff09;’&#x…

vmware 下 ubuntu 双网卡设置

写在前面&#xff1a; 本文章旨在总结备份、方便以后查询&#xff0c;由于是个人总结&#xff0c;如有不对&#xff0c;欢迎指正&#xff1b;另外&#xff0c;内容大部分来自网络、书籍、和各类手册&#xff0c;如若侵权请告知&#xff0c;马上删帖致歉。 目录 step 1&#xf…

Ubuntu18.04 配置网卡

2019/10/29, Ubuntu Server 18.04 摘要&#xff1a;Ubuntu Server 18.04 采用netplan作为网络配置管理&#xff0c;修改IP使其连上网络&#xff0c;修改替换软件源 修改网卡配置# 首先使用ip a查看当前网卡名称&#xff1a; 可以看到eth0就是我们的网卡名称&#xff0c;这个要…

linux Ubuntu网卡配置,Windows 7下用VirtualBox安装Ubuntu网卡配置

Windows 7下用VirtualBox安装Ubuntu&#xff0c;要求Ubuntu能连上互联网&#xff0c;同时在Ubuntu中配置SSH、FTP、NFS服务&#xff0c;能从Win7进行访问。 此时Linux虚拟机需要两块网卡&#xff0c;一块使用NAT方式(网络地址翻译网络)连接&#xff0c;用于连接互联网&#xff…

Ubuntu 双网卡配置优先级

Ubuntu 双网卡配置优先级 作者&#xff1a;Bright Xu Ubuntu的网卡配置跟CentOS不太一样。 更多请参考&#xff1a;CentOS 双网卡配置优先级 根据业务需要&#xff0c;有时候服务器需要两张网卡&#xff0c;一张用于访问外网&#xff0c;另一种用于连接内网。 如果在安装系统是…

ubuntu配置网卡

第一步&#xff1a;查看网卡信息 输入ifconfig命令查看网卡信息&#xff0c;下图红圈处就是网卡名称。 第二步&#xff1a;配置网卡文件 注意&#xff1a;不同的linux系统&#xff0c;网卡配置文件是不同的&#xff0c;这里ubuntu的网卡配置文件是/etc/network/interfaces。 输…

Ubuntu18.04  网卡配置

Ubuntu18.04 网卡配置 Ubuntu18.04网卡配置&#xff0c;不同于其他Linux网卡配置&#xff0c;Ubuntu18.04采用的是 Netplan ,想要了解具体可查看官网。 1、设置网络为&#xff1a;桥接网卡 2、在宿主电脑上使用管理员输入CMD 命令 ipconfig /all 查看子网掩码&#xff…

ubuntu16.04配置网卡

第一步&#xff1a;查看网卡信息 输入ifconfig命令查看网卡信息&#xff0c;下图红圈处就是网卡名称。 第二步&#xff1a;配置网卡文件 注意&#xff1a;不同的linux系统&#xff0c;网卡配置文件是不同的&#xff0c;这里ubuntu的网卡配置文件是/etc/network/interfaces。 …

Ubuntu配置网卡信息(ip、网关、子网掩码、dns)

目录 一、前言二、配置网卡信息三、注意事项 一、前言 本文介绍了Ubuntu系统下配置网卡的信息&#xff0c;包含网卡的ip地址、网关、子网掩码和dns。   网卡的ip地址可以设置成动态&#xff08;DHCP&#xff09;或静态的&#xff0c;网关和掩码根据实际需求选择是否设置。dns…

idea如何用git更新和提交代码

一、git更新操作 第一步&#xff1a; 在提交项目之前必须先对项目进行更新&#xff0c;此项特别重要&#xff0c;如果不进行更新&#xff0c;别人有项目提交到服务器上&#xff0c;那么你的项目将会提交不上去&#xff0c;使用git解决冲突会比较麻烦&#xff0c;即使你解决了冲…

gitee更新代码库

步骤&#xff1a; 克隆仓库(有则省略此步) git clone https://gitee.com/master_wei/trainticketsale_fork.git 一、同步远程仓库信息 git pull origin master …