微信小程序开发——小程序的宿主环境—组件

时间:2023-01-08 19:52:48

一.小程序的宿主环境—组件

1.小程序中组件的分类

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

1.视图容器 2.基础内容 3.表单组件 4.导航组件

5.媒体组件 6.map 地图组件 7.canvas 画布组件 8.开放能力

9.回无障碍访问

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

1.view

a.普通视图区域

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

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

2.scroll-view

a.可滚动的视图区域

b.常用来实现滚动列表效果

3.swiper 和swiper-item

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

    • view实例

a.wxml中:

<view class="container1" >
        <view>温度</view>
        <view>湿度</view> 
        <view>光照强度</view> 
   </view> 

b.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: lightblue;
}
.container1 view:nth-child(3){
  background-color: lightcoral;
}   
 .container1{
  display: flex;
  justify-content: space-around;
  /* 分散对其 */
}  

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

微信小程序开发——小程序的宿主环境—组件
    • scroll-view实例

a.wxml

scroll-y //实现纵向滚动

scroll-x //实现横向滚动

 <scroll-view class="container1" scroll-y > //实现纵向滚动
        <view>温度</view>
        <view>湿度</view> 
        <view>光照强度</view> 
   </scroll-view> 

b.wxss(在实例1的前提下,加入以下内容)

 .container1{
  border: 1px solid red;
  /* 给scroll-view固定高度 */
  height: 120px;
  width: 100px;
} 

实现滚轮如下效果:

微信小程序开发——小程序的宿主环境—组件
    • swiper 和swiper-item的基本使用

a.wxml实现:

   <!-- swiper和swiper-item
      轮播图容器组件 和 轮播图item 组件  -->
 <swiper class="swiper-container" indicator-dots indicator-color="white" indicator-active-color="gray" autoplay interval="3000" circular> 
  <!-- 第一个轮播图 -->
   <swiper-item>
      <view class="item">温度</view>
  </swiper-item> 
  <!-- 第二个轮播图 -->
  <swiper-item>
      <view class="item">湿度</view>
  </swiper-item> 
  <!-- 第三个轮播图 -->
  <swiper-item>
      <view class="item">光照强度</view>
  </swiper-item>
</swiper> 

b.wxss实现

/* 轮播图的样式 */
.swiper-container{
  height: 150px;
}

.item{
  height: 100%;
  line-height: 150px;
  /* 水平居中 */
  text-align: center;  
}
/* .item前面有一个空格 */
swiper-item:nth-child(1) .item{
  background-color: lightgreen;
}
swiper-item:nth-child(2) .item{
  background-color: lightblue;
}
swiper-item:nth-child(3) .item{
  background-color: lightpink;
}

轮播图效果实现:

微信小程序开发——小程序的宿主环境—组件

#swiper组件的常用属性:

微信小程序开发——小程序的宿主环境—组件

4.常用的基础内容组件

a.text

文本组件

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

1.0 test组件的基本使用

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

a.实例:

<view>
  手机号支持长按选中效果
  <text selectable>182000000000</text>
</view>

效果如下:

微信小程序开发——小程序的宿主环境—组件
微信小程序开发——小程序的宿主环境—组件

b.rich - text

富文本组件

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

2.0 rich - text组件的基本使用

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

<rich-text nodes="<h1 style='color:red'> 标题</h1>">

显示效果如下:

微信小程序开发——小程序的宿主环境—组件

5.其他常用组件

button

.按钮组件

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

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

button 按钮的基本使用

<!-- 通过type属性指定按钮颜色类型 -->

<button>普通按钮</button>
<button type="primary">主色调按钮</button>
<button type="warn">警告按钮</button>

<!-- size="mini" 小尺寸按钮 -->

<button size="mini" style="position: relative; left: 90rpx; top: 8rpx">普通按钮</button>
<button type="primary" size="mini" style="position: relative; left: 154rpx; top: 8rpx">主色调</button>
<button type="warn" size="mini" style="position: relative; left: 240rpx; top: 8rpx">警告按钮</button>

<!--plain 镂空按钮 -->

<button size="mini" plain style="position: relative; left: -406rpx; top: 76rpx">普通按钮</button>
<button type="primary" size="mini" plain style="position: relative; left: 326rpx; top: 0rpx">主色调</button>
<button type="warn" size="mini" plain style="position: relative; left: 409rpx; top: 0rpx">警告按钮</button>

显示效果如下:

微信小程序开发——小程序的宿主环境—组件

在app.json中,v2表示新版样式.

微信小程序开发——小程序的宿主环境—组件

image

.图片组件

. image 组件默认宽度约300px、高度约240px

image 组件的基本使用

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

微信小程序开发——小程序的宿主环境—组件

<!-- image图片组件 mode属性-->

<image src="/images/1.png" mode="aspectFit"></image> 

navigator (后面会专门讲解)

页面导航组件

类似于 HTML 中的 a 链接