欢迎访问笔者个人技术博客:
http://rukihuang.xyz/
组件介绍
01 小程序中组件的分类
- 视图容器
- 基础内容
- 表单组件
- 导航组件
- 媒体组件
- map地图组件
- canvas画布组件
- 开放能力
- 无障碍访问
1.1 视图容器
view
- 普通视图区域
- 类似于html中的
div
,是一个块级元素 - 常用来实现页面的布局效果
scroll-view
swiper
和swiper-item
1.1.1 view
![在这里插入图片描述](https://img-blog.csdnimg.cn/817f2830ebde491bb51c9be4bfa3a5df.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5paH5rO96Lev5bCP55S35a2p,size_11,color_FFFFFF,t_70,g_se,x_16#pic_center)
<view class="container1">
<view>A</view>
<view>B</view>
<view>C</view>
</view>
.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: lightyellow;
}
.container1 view:nth-child(3) {
background-color: lightpink;
}
.container1 {
display: flex;
justify-content: space-around;
}
1.1.2 scroll-view
![在这里插入图片描述](https://img-blog.csdnimg.cn/d42be7df9de944998a6bced36d8198fd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5paH5rO96Lev5bCP55S35a2p,size_11,color_FFFFFF,t_70,g_se,x_16#pic_center)
<scroll-view class="container2" scroll-y>
<view>A</view>
<view>B</view>
<view>C</view>
</scroll-view>
.container2{
border: 1px solid red;
width: 100px;
height: 120px;
}
.container2 view{
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
}
.container2 view:nth-child(1) {
background-color: lightgreen;
}
.container2 view:nth-child(2) {
background-color: lightyellow;
}
.container2 view:nth-child(3) {
background-color: lightpink;
}
1.1.3 swiper/swiper-item
![在这里插入图片描述](https://img-blog.csdnimg.cn/1f8148076ef440fa8d04733f49830f98.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5paH5rO96Lev5bCP55S35a2p,size_11,color_FFFFFF,t_70,g_se,x_16#pic_center)
<swiper class="swiper-container" indicator-dots="true">
<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>
.swiper-container {
height: 150px;
}
.item {
height: 100%;
text-align: center;
line-height: 150px;
}
.swiper-container swiper-item:nth-child(1) .item{
background-color: lightgreen;
}
.swiper-container swiper-item:nth-child(2) .item{
background-color: lightskyblue;
}
.swiper-container swiper-item:nth-child(3) .item{
background-color: lightcoral;
}
属性 | 类型 | 默认值 | 说明 |
---|
indicator-dots | boolean | false | 是否显示面板指示点 |
indicator-color | color | rgba(0,0,0,.3) | 指示点颜色 |
indicator-active-color | color | #000000 | 当前选中的指示点颜色 |
autoplay | boolean | false | 是否自动切换 |
interval | number | 5000 | 自动切换时间间隔 |
circular | boolean | false | 是否采用衔接滑动 |
1.1.4 text/ rich-text
text
- 文本组件
- 类似于HTML中的
span
标签,是一个行内元素
![在这里插入图片描述](https://img-blog.csdnimg.cn/2235795af4d84009b75c9166eade2258.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5paH5rO96Lev5bCP55S35a2p,size_11,color_FFFFFF,t_70,g_se,x_16#pic_center)
<view>
不可选文字
</view>
<view>
<text user-select="true">选中文字</text>
</view>
![在这里插入图片描述](https://img-blog.csdnimg.cn/26ffd432abba4a84ad08a46a36bc9ead.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5paH5rO96Lev5bCP55S35a2p,size_11,color_FFFFFF,t_70,g_se,x_16#pic_center)
<rich-text nodes="<h1 style='color:red'>标题</h1>"></rich-text>
1.2 其他常用组件
button
- 按钮组件
- 功能比html中的button按钮丰富
- 通过
open-type
属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息等)
image
- 图片组件
- image组件默认宽度为300px,高度为240px
navigator
1.2.1 button
![在这里插入图片描述](https://img-blog.csdnimg.cn/cefcfdeaf9eb4f5fad1e9cb96554f20c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5paH5rO96Lev5bCP55S35a2p,size_11,color_FFFFFF,t_70,g_se,x_16#pic_center)
<view class="button">-------通过type指定按钮类型-------</view>
<button>默认按钮</button>
<button type="primary">主要按钮</button>
<button type="warn">警告按钮</button>
<view class="button">-------size="mini"小尺寸按钮-------</view>
<button size="mini">默认按钮</button>
<button type="primary" size="mini">主要按钮</button>
<button type="warn" size="mini">警告按钮</button>
<view class="button">-------plain镂空按钮-------</view>
<button size="mini" plain>默认按钮</button>
<button type="primary" size="mini" plain>主要按钮</button>
<button type="warn" size="mini" plain>警告按钮</button>
1.2.2 image
<image src="" mode="widthFix"></image>
- mode属性
- image组件的
mode
属性用来指定图片的裁剪和缩放模式,常用的mode属性如下
mode值 | 说明 |
---|
scaleToFill | (默认)缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满image元素 |
aspectFit | 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。可以完整地将图片显示出来 |
aspectFill | 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。图片通常在水平或垂直方向是完整的,另一个方向会发生截取 |
widthFix | 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变 |
heightFix | 缩放模式,高度不限,宽度自动变化,保持原图宽高比不变 |
02 API
2.1 小程序API概述
- 小程序中的API是由宿主环境提供的,通过这些丰富的小程序API,开发者可以方便地调用微信提供的能力,例如:获取用户信息、本地存储、支付功能。
2.2 小程序的3大分类
- 事件监听API
- 特点:以
on
开头,用来监听某些时间的触发 - 举例:
wx.onWindowResize(function callback)
监听窗口尺寸变化的事件
- 同步API
- 特点1:以
Sync
结尾的API都是同步API - 特点2:同步API的执行结果,可以通过函数返回值直接获取,如果执行出错会抛出异常
- 举例:
wx.setStorageSync('key', 'value')
向本地存储中写入内容
- 异步API
- 特点:类似于jQuery中的
$.ajax(option)
函数,需要通过success、fail、complete接收调用的结果 - 举例:
wx.request()
发起网络数据请求,通过success回调函数接收数据