【微信小程序开发小白零基础入门】微信小程序组件【建议收藏】

简介: 微信小程序组件文章目录微信小程序组件一、小程序组件1.组件介绍2.组件分类二、视图容器1.视图容器2.可滚动视图容器3.滑块视图容器4.可移动视图容器5.可覆盖在原生组件之上的文本视图容器三、基本内容1.图标组件2.文本组件3.富文本组件4.进度条组件四、表单组件1.按钮组件2.复选框组件3.输入框组件4.标签label.从底部单起的滚动选择器6.嵌入页面的滚动选择器7.单选框组件8.滑动条组五、导航组件六、媒体组件1.音频组件.图片组件3.视频组件4.相机组件七、地图组件八、画布组件九、推荐小程序(欢迎各位大佬指导)微信小程序组件文章目录微信小程序组件一、小程序组件1.组件介绍2.组件分类

微信小程序组件


文章目录

微信小程序组件

一、小程序组件

1.组件介绍

2.组件分类

二、视图容器

1.视图容器

2.可滚动视图容器

3.滑块视图容器

4.可移动视图容器

5.可覆盖在原生组件之上的文本视图容器

三、基本内容

1.图标组件

2.文本组件

3.富文本组件

4.进度条组件

四、表单组件

1.按钮组件

2.复选框组件

3.输入框组件

4.标签label

5.从底部单起的滚动选择器

6.嵌入页面的滚动选择器

7.单选框组件

8.滑动条组件

五、导航组件

六、媒体组件

1.音频组件

2.图片组件

3.视频组件

4.相机组件

七、地图组件

八、画布组件

九、推荐小程序(欢迎各位大佬指导)


一、小程序组件

1.组件介绍

小程序组件是视图层的基本组成单元,它自带微信风格UI样式和特定功能效果。例如,我们在小程序页面上所看到的图片、文本、按钮等都属于小程序组件。小程序为开发者提供了一系列基础组件,通过组合这些组件可以进行更高效地开发。

<text id="demo">这是一段文本内容。</text>

其中id属性是一个通用属性,可以被所有组件使用。小程序目前提供七类通用属性,如表所示。1c2a2db8097acdb68064dab88f6b142.png

2.组件分类


基础组件按照功能主要分类如下:

1.视图容器(View Container):主要用于规划布局页面内容;

2.基础内容(Basic Content):用于显示图标、文字等常用基础内容;

3.表单组件(Form):用于制作表单;

4.导航组件(Navigation):用于跳转指定页面;

5.媒体组件(Media):用于显示图片、音频、视频等多媒体内容;

6.地图组件(Map):用于显示地图效果;

7.画布组件(Canvas):用于绘制图画内容。

二、视图容器

视图容器组件主要包含5种,如表所示。551dbb181d71711bf7aa22df283e26d.png

1.视图容器

1.view是静态的视图容器,通常用和首尾标签来表示一个容器区域。需要注意的是,view容器本身没有大小和颜色,需由开发者自行进行样式设置。181a13679e5a8ba84ed42aa955bb1e7.png

2.可滚动视图容器

2.滚动视图scroll-view 是可滚动视图区域,对应的属性如表所示。 注:使用竖向滚动时,需要给一个固定高度,并且通过 WXSS 设置 height。40f4374689cdbc30ccfa456da581191.png

3.滑块视图容器

3.滑块视图swiper-view 也称为滑块视图容器,通常使用该组件制作幻灯片切换播放效果。组件的可用属性如表所示。

<swiper indicator-dots autoplay></swiper>

上述代码表示希望实现一个带有指示点的滑块视图容器,并且需要自动播放。但是仅凭这一句代码是不够的,标签必须配合组件一起使用,该组件才是用于切换的具体内容。 中可以包含文本或图片,其宽高默认为100%。并且需要注意的是,组件中可直接放置的只有组件,否则会导致未定义的行为。

4.可移动视图容器

4.可移动视图movable-view 也称为可移动的视图容器,该组件可以在页面中拖拽滑动。该组件不能独立使用,必须放在组件中且是直接子节点,否则无效。ec9cba74b46369438d7877ed24b53ac.png注:movable-area 可以自定义width和height属性,其默认值均为10px。

5.可覆盖在原生组件之上的文本视图容器

5.是可以覆盖在原生组件上的文本视图,可覆盖的原生组件包括:map、video、canvas、camera、live-player、live-pusher等。其内部只允许嵌套使用、和。e4fb8fa4a8db1b3cea0026ab47a0e71.png

三、基本内容

基础组件主要包含4种61094087c3f25e0ca0c9222de99e981.png

1.图标组件

1.为图标组件,开发者可以自定义其类型、大小和颜色。该组件对应的属性如表所示。f27e7ad3fc004d1465c0b26988f73a7.png例如,依次生成红、黄、蓝色的信息图标。代码如下:

<!--WXML-->
<view>
  <block wx:for="{{iconColor}}">
    <icon type="info" color="{{item}}"/>
  </block>
</view>
//JS
Page({
  data: {
    iconColor: ['red', 'yellow', 'blue']
})

2.文本组件

2.text为文本组件,该组件对应的属性如表所示。de50a6201f9a1b25e060fa76bf1e61f.png

3.富文本组件

3.为富文本组件,该组件对应的属性如表所示。cae790c86396adfb44e3c84528dfdfa.png例如,在WXML中声明一个富文本组件,代码如下:

<rich-text nodes='{{nodes}}'></rich-text>

其中{{nodes}}为自定义名称的变量,用于定义HTML内容。 如果是用纯字符串(String类型)描述HTML代码,在JS中表示如下:

Page({
  data: {
     nodes:'<div style="line-height: 60px; color: red;">Hello World!</div>'
  }
})

4.进度条组件

4.progress为进度条组件,该组件对应的属性如表所示。be5756191570ba438af4b7c22b4c051.png例如,声明一个目前正处于80%刻度,并且宽20px的进度条组件。WXML代码如下:

<progress  percent="80"  stroke-width="20"  / >

四、表单组件

表单组件主要包含10种,如表所示。ae289ecc8646417c18c3cca18ce2a3e.png

1.按钮组件

为按钮组件,该组件对应的常用属性如表所示。b85735990aee0cc464b65adbb7a9151.png注:hover-class 的属性值button-hover 默认为{background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;}

2.复选框组件

组件的属性值如表所示。dbd8108e10dcb46faf5ff0c1d9e5317.png

3.输入框组件

为输入框组件,其属性值如表所示。d97bf6f5868501a102d9407e890d0bc.pngd6eaf432404da92df6a988d8546964b.pngkeyCode为键值,2.1.0起支持,处理函数可以直接return 一个字符串,将替换输入框的内容。

bindfocus|EventHandle||输入框聚焦时触发,event.detail = { value, height }. height为键盘高度,在基础库1.9.90起支持

bindblur|EventHandle||输入框失去焦点时触发,event.detail = {value: value}

bindconfirm|EventHandle||点击完成按钮时触发,event.detail = {value: value}

4.标签label

以多选框为例,使用标签的for属性代码如下:

<checkbox-group>
    <checkbox id='apple' value='apple' checked /> 
    <label for='apple'>苹果</label>
</checkbox-group>

也可以将组件直接放在内:

<checkbox-group>
    <label>
        <checkbox value='apple' checked />苹果
    </label>
</checkbox-group>

5.从底部单起的滚动选择器

是从底部弹起的滚动选择器组件,目前根据mode属性值的不同共支持五种选择器: 普通选择器 开发者可以自由更改数组内容和元素个数,运行效果如图所示。 对应的JS代码片段如下:

Page({
  data: {
    selectorItems:['苹果','香蕉','葡萄']
  },
  selectorChange: function (e) {
    let i = e.detail.value;//获得选项的数组下标
    let value = this.data.selectorItems[i];//获得选项的值
    this.setData({selector:value});//将选项名称更新到WXML页面上
  }
})

多列选择器 对应的JS代码片段如下:

Page({
  data: {
  multiSelectorItems: [['智', '慧'], ['云', '工', '具'], ['箱', '']]
  },
  multiSelectorChange: function (e) {
    let arrayIndex = e.detail.value;//获得选项的数组下标
    let array = this.data.multiSelectorItems;//获得选项数组
    let value = new Array();//声明一个空数组,用于存放最后选择的值
    for(let i=0;i<arrayIndex.length;i++){
      let k = arrayIndex[i];//第i个数组的元素下标
      let v = array[i][k];//获得第i个数组的元素值
      value.push(v);//往数组中追加新元素
    }
    this.setData({ multiSelector: value });//将选项名称更新到WXML页面上
  }
})

时间选择器 对应的JS代码片段如下:

Page({
  timeChange: function (e) {
    let value = e.detail.value;//获得选择的时间
    this.setData({ time: value });//将选项名称更新到WXML页面上
  }
})

日期选择器 对应的JS代码片段如下:

Page({
  dateChange: function (e) {
    let value = e.detail.value;//获得选择的日期
    this.setData({ date: value });//将选项名称更新到WXML页面上
  }
})

省市区选择器 对应的JS代码片段如下:

Page({
  regionChange: function (e) {
    let value = e.detail.value;//获得选择的省市区
    this.setData({ region: value });//将选项名称更新到WXML页面上
  }
})

6.嵌入页面的滚动选择器

是嵌入页面的滚动选择器,相关属性如表所示d90575e916f08795cbff4eb2adb085a.png

7.单选框组件

为单选项目组件,往往需要与单项选择器组件配合使用,其中首尾标签之间可以包含若干个组件。 组件只有一个属性,如表所示。fa29f4875c07dedb3601bd9586f900f.png组件的属性值如表所示。

1b833e8cf7a50c5999494dabb1dd6e0.png

8.滑动条组件

为滑动选择器。该组件对应的属性如表所示。

e459b4fe03d508147a1be5e9e32f3b5.png

五、导航组件

导航组件用于点击跳转页面链接,其对应的属性如表所示。

属性名 类型 默认值 说明
target String 在哪个目标上发生跳转,默认当前小程序
url string 当前小程序内的跳转链接地址
open-type string navigate 跳转方式,共有5种方式

在新页面JS文件的onLoad函数中可以获取到该参数,代码如下:

Page({
  onLoad: function (options) {
      console.log(options.date);//将在控制台打印输出20180803
  }
})

六、媒体组件

媒体组件目前主要包含4种,如表所示。

组件名称 解释
audio 音频组件
image 图片组件
video 视频组件
camera 相机组件

1.音频组件

可以用于播放本地或网络音频

2.图片组件

可以用于显示本地或网络图片,其默认宽度为300px、高度为225px。

3.视频组件

可用于播放本地或网络视频资源,其默认宽度为300px、高度为225px

4.相机组件

系统相机组件,基础库 1.6.0 开始支持,低版本需做兼容处理。在真机测试时,需要用户授权 scope.camera

七、地图组件

是地图组件,根据指定的中心经纬度可以使用腾讯地图显示对应的地段。

属性名 类型 说明

longitude Number 中心经度

latitude Number 中心纬度

scale Number 缩放级别,取值范围为5-18。默认值为16

markers Array 标记点

covers Array 即将移除,请使用markers替代。

polyline Array 路线

circles Array 圆

controls Array 即将废弃,请使用cover-view替代。

inelude-points Array 缩放视野以包含所有给定的坐标点

show-location Boolean 显示带有方向的当前定位点

bindmarkertap EventHandle 点击标记点时触发,会返回marker的id

bindcallouttap EventHandle 点击标记点对应的气泡时触发。会返回marker的id

bindcontroltap EventHandle 点击控件时触发,会返回control的id

bindregionehange EventHandle 视野发生变化时触发

bindtap EventHandle 点击地图时触发

bindupdated EventHandle 在地图渲染更新完成时触发

例题 map.js文件

  data: {
    latitude: 39.917940,
    longitude: 116.397140,
    markers: [{
      id:'001',
      latitude: 39.917940,
      longitude: 116.397140,
      iconPath:'/images/zhygjx/location.png',
      label:{
        content:'故宫博物院'
      }
    }]
  },
  regionChange: function (e) {
    console.log('regionChange被触发,视野发生变化。');
  },

map.wxml文件

map{
  width: 100%;
  height: 600rpx;
}

微信图片_20220525165120.png

八、画布组件

为画布组件,其默认尺寸是宽度300px、高度225px。 该组件对应的常用属性如表所示。

d5fb4bc9f5604b1c34e6e96892a15c2.png

在组件声明完毕后,一个简单的画图工作主要分为三个步骤: 步骤一:声明画布上下文(CanvasContext)。 步骤二:使用画布上下文进行绘图描述(例如设置画笔颜色)。 步骤三:画图。

Page({
  onLoad: function (options) {
    //1.创建画布上下文
    const ctx = wx.createCanvasContext('myCanvas')
    //2.设置填充颜色
    ctx.setFillStyle('orange')
    //3.设置填充区域为矩形
    ctx.fillRect(20, 20, 150, 80)
    //4.画图
    ctx.draw()
  }
})

九、推荐小程序(欢迎各位大佬指导)

相关文章
预约按摩小程序开发,为什么很多上门按摩平台根本招聘不到优秀技师?
上门按摩平台面临招不到优秀技师的问题,主要原因是平台众多,技师选择多样。为解决此问题,平台可引入技师等级制度,根据订单数量和好评率划分高、低等级技师。高等级技师可享受70%-90%的高提成及首页推荐,这不仅能激励技师的积极性,还能帮助平台筛选出优质技师,提升服务质量和口碑,形成良性循环。
|
29天前
|
人工智能 小程序
【一步步开发AI运动小程序】五、帧图像人体识别
随着AI技术的发展,阿里体育等公司推出的AI运动APP,如“乐动力”和“天天跳绳”,使云上运动会、线上健身等概念广受欢迎。本文将引导您从零开始开发一个AI运动小程序,使用“云智AI运动识别小程序插件”。文章分为四部分:初始化人体识别功能、调用人体识别功能、人体识别结果处理以及识别结果旋转矫正。下篇将继续介绍人体骨骼图绘制。
|
29天前
|
人工智能 小程序 vr&ar
AI运动小程序开发常见问题集锦二
截至当前,我们的AI运动识别小程序插件已迭代至第23个版本,广泛应用于健身、体育、体测、AR互动等场景。本文针对近期用户咨询,汇总了常见问题,帮助用户减少开发成本,提高效率。主要涵盖计时与计数模式的区别、综合排行榜生成方法、全屏模式适配及无开发能力用户的解决方案。
|
29天前
|
小程序 数据挖掘 UED
开发1个上门家政小程序APP系统,都有哪些功能?
在快节奏的现代生活中,家政服务已成为许多家庭的必需品。针对传统家政服务存在的问题,如服务质量不稳定、价格不透明等,我们历时两年开发了一套全新的上门家政系统。该系统通过完善信用体系、提供奖励机制、优化复购体验、多渠道推广和多样化盈利模式,解决了私单、复购、推广和盈利四大痛点,全面提升了服务质量和用户体验,旨在成为家政行业的领导者。
|
2月前
|
存储 传感器 小程序
跳绳计数小程序开发系统
首先,我们需要明确跳绳计数小程序的核心功能:为用户提供跳绳计数的便捷方式。这意味着小程序需要能够准确地记录用户的跳绳次数,并为用户提供清晰、直观的计数展示。
|
2月前
|
存储 小程序 安全
微信的开发管理都需要配置什么?
【10月更文挑战第17天】微信的开发管理都需要配置什么?
32 0
|
2月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
573 7
|
2月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
697 1
|
2月前
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
125 7
ly~
|
3月前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
81 6