前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >小程序开发实战(6):基础组件(text、icon和progress)

小程序开发实战(6):基础组件(text、icon和progress)

作者头像
蒙娜丽宁
发布于 2020-07-10 09:53:34
发布于 2020-07-10 09:53:34
73200
代码可运行
举报
文章被收录于专栏:极客起源极客起源
运行总次数:0
代码可运行

小程序在有很多组件,其中基础组件用来显示一些静态的信息,也是各种组件中比较常用的。本文主要介绍text组件、icon组件和progress组件。

1. text组件

text是小程序中最简单的组件,用于显示文本。该组件支持转义符“\”。text组件的使用方法如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<text>要显示的内容</text>

text组件支持嵌套,也就是允许下面的形式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<text>
    要显示的内容
    <text>嵌套的内容</text>
</text>

下面是一段完整的使用text组件的布局代码,在这段代码中,包含了两个text组件(嵌套形式),以及三个按钮。分别向text组件中添加文本、删除文本以及改变text组件中文字的颜色。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<text style="margin: 20px;font-size: 40px;color: {{color}}">
  {{text}}
  <text style="color:#00ffff">(最后一行)</text>
</text>
<view style="margin: 20px;">
  <button bindtap="add">添加一行</button>
  <button bindtap="remove">删除一行</button>
  <button bindtap="setColor">设置文字颜色</button>
</view>

这段布局代码的显示效果如图1所示。

图1 text组件效果演示

这三个按钮分别对应三个函数:add、remove和setColor。改变text组件中文本时通过改变text变量的值完成的,而设置text组件中文本的颜色是通过改变color变量的值完成的,完整的实现代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var initData = '第一行\n第二行'
Page({
  data: {
    text: initData,    //  文本的初始数据
    color: '#ff0000'   //  文本的初始颜色
  },
  extraLine: [],       //  用于保存追加的字符串
  add: function (e) {
    //  最近一个新行
    this.extraLine.push('新行' + (this.extraLine.length + 1));
    this.setData({
      text: initData + '\n' + this.extraLine.join('\n')
    })
  },
  remove: function (e) {
    //  如果有追加的行,从最后一行删除
    if (this.extraLine.length > 0) {
      this.extraLine.pop()
      this.setData({
        text: initData + '\n' + this.extraLine.join('\n')
      })
    }
  },
  setColor: function (e) {
    //  让文本颜色在红色和蓝色之间不断切换
    if (this.data.color == '#ff0000') {
      this.setData(
        {
          color: '#0000ff'
        }
      )
    }
    else {
      this.setData(
        {
          color: '#ff0000'
        }
      )
    }
  }
})

从这段JavaScript代码可以看出,当点击“添加一行”按钮后,会向extraLine数组中添加一行字符串。然后会利用“\n”让字符串折行。

2. 系统内置图标组件(icon)

icon组件用于显示系统内置的图标,该组件并不能自己指定图标文件。icon组件包含如下3个属性。

  • size:Number类型,用于设置图标的尺寸,默认值是23
  • type:String类型,用于设置系统图标的类型,详细的类型见后面的JavaScript代码
  • color:Color类型,和css中的color属性的作用相同。该属性没有默认值,如果不指定该属性,每一个类型的图标会使用自己的默认颜色,如success图标的默认颜色是绿色

下面分别来演示这三个属性的使用方法。

下面的布局代码通过循环为icon组件显示的图标设置了不同的尺寸。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<block wx:for-items="{{iconSize}}">
  <icon type="success" size="{{item}}" />
</block>

其中iconSize是在index.js文件中定义的数组变量,为了方便,下面给出了index.js文件的完整代码,其中iconType数组定义了目前icon组件支持的所有系统图标的类型。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Page({
  data: {
    iconSize: [20, 30, 40, 50, 60, 70].reverse(),  //  倒序数组
    iconColor: [
      'red', 'orange', 'yellow', 'green', 'rgb(0,255,255)', 'blue', 'purple'
    ],
    iconType: [
      'success', 'info', 'warn', 'waiting', 'safe_success', 'safe_warn',
      'success_circle', 'success_no_circle', 'waiting_circle', 'circle', 'download',
      'info_circle', 'cancel', 'search', 'clear'
    ]
  }
})

在初始化iconSize数组时,使用了reverse函数将数组元素进行倒序处理,所以前面的布局代码显示的效果如图2所示。

图2 从大到小显示success图标

下面的布局代码用于根据iconType数组显示不同的系统图标,这些图标都会使用默认的颜色,字号都是45。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<view style="margin-top:30px">
  <block wx:for-items="{{iconType}}">
    <icon type="{{item}}" size="45" />
  </block>
</view>

显示效果如图3所示。

图3 显示所有的系统图标

下面的布局代码根据iconColor数组为icon设置不同的颜色。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<view style="margin-top:30px">
  <block wx:for-items="{{iconColor}}">
    <icon type="safe_success" size="45" color="{{item}}" />
  </block>
</view>

显示效果如图4所示。

图4 为icon组件设置不同的颜色

3. progress组件

progress组件可以设置完成的百分比。该组件有如下5个属性。

  • percent:Float类型,默认值是0,该属性的取值范围是0~100
  • show-info:Boolean类型,默认值是false,如果该属性为true,会在进度条右侧显示百分比
  • stroke-width:Number类型,默认值是6,单位是px,表示进度条的宽度
  • color:Color类型,默认值是#09BB07,表示进度条颜色
  • active:Boolean类型,默认值是false,如果该属性值为true,表示进度条在装载时会以动画形式显示(从左到右的动画)

下面的布局代码演示了progress组件的各种用法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<view style="margin:30px">
    <progress percent="20" show-info/>
    <progress percent="40" active/>
    <progress percent="60" stroke-width="10" />
    <progress percent="80" color="#10AEFF" />
</view>

显示效果如图5所示。

图5 进度条效果

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 极客起源 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
小程序开发实战(7):Button组件详解
下面的布局代码详细描述了上述大多数属性的用法(除了form-type外)。在这段布局文件中,放置了6个button组件,其中前三个演示了3种按钮类型:default、primary和warn。并通过defaultSize、loading、plain和disabled变量分别对size、loading、plain和disabled属性进行控制。第一个按钮点击响应了default方法,用来设置按钮的size属性(在default和mini之间切换)。
蒙娜丽宁
2020/07/10
2K0
小程序开发实战(7):Button组件详解
【愚公系列】2022年10月 微信小程序-优购电商项目-小程序常见组件
mode 有效值: mode 有 13 种模式,其中 4 种是缩放模式,9种是裁剪模式。
愚公搬代码
2022/11/07
9810
微信小程序入门之常用组件(04)
重点讲解微信小程序中常见的布局组件 view,text,rich-text,button,image,navigator,icon,swiper, radio,checkbox 等
海拥
2021/08/23
7570
微信小程序官方组件展示之基础内容icon源码
以下将展示微信小程序之基础内容icon源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。
软件事业部
2022/08/18
3280
微信小程序【常用组件及自定义组件】
微信小程序入门的文章,其实暂时就更新到这里了,还有一个生命周期的内容,感觉当初整理的不是很好就不更新了,学完了 WXML、WXSS、一些常用组件,还有事件绑定,其实一个较为不错的页面已经能自己搭建出来了,如果你还想继续往后面研究,我给一下方向就是,可以开始看 与后台交互的内容了,发送异步请求,对数据进行回显等,回显内容时,你就又可以开始考虑用什么别的组件,可以让页面的数据加载或者观看更加顺滑,美观,当然有很多小伙伴都是后端,所以,可以自己搭个后台,试着弄用户登录授权这块,这块算是小程序一个重要的点,要好好研究一下,以后要做的事情,就和传统的后端基本一样了。我的文章都是根据官网写的原生写法,当然你也可以看一下一些小程序框架,或者看一看 ES6 的内容,毕竟我也是个后端,也没细细研究前端的内容,有什么想法或者意见,可以在公众号菜单页面直接给后台发文字,或者发送邮件:ideal_bwh@163.com
BWH_Steven
2020/09/18
1.9K0
微信小程序----progress组件
DEMO下载 效果图 WXML <view class="tui-content"> <view class="tui-menu-list"> <text>show-info在进度条右侧显
Rattenking
2021/02/01
7050
微信小程序----progress组件
04-微信小程序常用组件-基础组件
微信小程序包含了六大组件:视图容器、基础内容、导航、表单、互动和导航。这些组件可以通过WXML和WXSS进行布局和样式设置,从而构建出丰富的小程序界面和交互体验。
度假的小鱼
2023/11/22
5540
04-微信小程序常用组件-基础组件
【愚公系列】《微信小程序与云开发从入门到实践》016-基础功能组件
在微信小程序的开发旅程中,基础功能组件是构建应用的基石。这些组件不仅提供了常见的用户交互功能,还帮助开发者快速实现丰富的应用场景。无论是按钮、输入框,还是导航栏、列表等,这些基础组件的合理运用都能大大提升用户体验和开发效率。
愚公搬代码
2025/01/15
1580
【愚公系列】2022年08月 微信小程序-icon图标详解
在小程序中经常会用到各种各样的图标,如果这些图标都使用图片的话,将会大大增加小程序打包后的体积,而小程序限制代码最大2MB,分包加载4MB,所以为了缩小体积,我们可以使用图标来缩小体积。
愚公搬代码
2022/12/01
2.6K0
【愚公系列】2022年08月 微信小程序-icon图标详解
「小程序JAVA实战」小程序的基础组件(24)
来说下 ,小程序的基础组件。源码:https://github.com/limingios/wxProgram.git 中的No.11 基础组件 icon图标组件 rich-text 富文本组件 te
IT架构圈
2018/12/25
8710
微信小程序之组件(一)
组件是视图层的组成单元,具有UI风格样式及特定的功能效果。当打开某款小程序后,界面中的图片,文字等多需要使用组件,小程序组件使用灵活,组件之间通过相互嵌套进行界面设计,开发者可以通过组件的选择和样式属性设计出不同的界面效果,一个组件开始包括标签和结束标签,属性用来装饰这个组件的样式。
淼学派对
2022/11/20
3.1K0
微信小程序之组件(一)
微信小程序开发(常用标签用法-第三篇)
支持的HTML标签:https://developers.weixin.qq.com/miniprogram/dev/component/rich-text.html
全栈开发日记
2022/05/13
8030
微信小程序开发(常用标签用法-第三篇)
全栈开发工程师微信小程序-上(下)
nodes 文本节点:type = text,全局支持class和style属性,不支持id属性。
达达前端
2019/07/03
1.5K0
全栈开发工程师微信小程序-上(下)
如何使用小程序视图容器组件
在上一篇文章中,我们介绍了小程序入门开发的基础步骤,并通过几个Hello Word例子,让大家体验了下小程序的组件及API使用,接下来的教程中,我们将教大家详细使用每个组件及API的使用。
宮園薰
2018/11/05
9.8K0
如何使用小程序视图容器组件
微信小程序官方组件展示之基础内容progress源码
以下将展示微信小程序之基础内容progress源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。
软件事业部
2022/08/18
3650
小程序开发实战(8):可与其他组件绑定的文本组件(label)
可能有很多读者认为label和text差不多,都是用来显示文本的。其实label和text一点都不像,label本身也不能显示任何文本,该组件只是与其他组件进行绑定。目前这些可绑定的组件包括button、checkbox、radio和switch,这些组件会在后面的文章中详细讲解。
蒙娜丽宁
2020/07/15
6870
小程序开发实战(2):添加广告轮询图
在很多App的首页顶端都会有一个广告轮询视图(大多数App都在这个位置),轮询广告至少是3页。通常轮询广告下方中心的位置是若干个小点(有的可能是其他效果,如横杠),小点数目和广告页面数目相同,当显示某个广告页面时,表示该广告页面的小点就会处于选中状态(一般是变颜色)。通过点击小点,可以切换到指定的广告页面,也可以通过手指左右滑动来切换相邻的广告页面。效果如图1所示。
蒙娜丽宁
2020/05/25
1.1K0
小程序开发实战项目:构建简易天气预报应用
随着移动互联网技术的飞速发展,小程序以其轻量级、无需下载安装、即用即走的特点,迅速成为了连接用户与服务的新桥梁。微信小程序作为其中的佼佼者,不仅拥有庞大的用户基础,还提供了丰富的开发工具和API接口,让开发者能够轻松构建出功能强大、体验优良的应用。 小程序开发基础
小白的大数据之旅
2025/05/16
1340
小程序开发实战项目:构建简易天气预报应用
两万字:讲述微信小程序之组件
6.cover-image目前原生组件均已支持同层渲染,建议使用 image 替代
淼学派对
2022/11/20
4K0
两万字:讲述微信小程序之组件
小程序实践:基础内容之progress组件,及如何自定义实现一个环形进度条?
progress进度条组件是一个很完备的组件了,不需要修改,就可以大部分场景需求。有两点需要注意:
LIYI
2020/04/01
6.3K0
小程序实践:基础内容之progress组件,及如何自定义实现一个环形进度条?
推荐阅读
相关推荐
小程序开发实战(7):Button组件详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验