微信小程序开发之常用组件解释

1 基础内容组件

1.1text组件

text的功能主要是用于内联文本,与网页中的span有点类似。

主要属性有

例子:页面上添加一个可以选中的文本

在wxml文件中添加:

xml 复制代码
<view>
<text user-select>17544456565</text>
</view>

添加user-select属性之前,文本是不可选中的,添加之后长按文本可以选中。

1.2 rich-text组件

rich-text组件比text组件有更多的功能和属性

主要的属性有

例子:在页面中添加一个蓝色字体的文本

在wxml文件中添加一下代码

xml 复制代码
<view>
<text user-select>17544456565</text>
<rich-text user-select nodes="<h1 style='color:blue;'>标题</h1>"></rich-text>
</view>

效果:

1.3 icon组件

icon组件是一个图标组件

主要的属性有:

例子:在页面中添加一个成功的图标,并修改类型、和颜色

效果: ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/7d34489fa5bb42ef828d36e59c7b2077.png)

1.4 progress组件

进度调;默认的属性长度单位为px

主要的属性有:

例子:在页面中渲染一个进度调

代码:

xml 复制代码
<view class="icon-box">
<progress class="progress-demo" percent="50" color="red" stroke-width="20" ></progress>
</view>

效果:

2 表单组件

2.1 button

按钮

基本属性:

例子:在页面中渲染一个红色镂空按钮

代码:

xml 复制代码
<view class="icon-box">
<button class="button-demo" type="warn" plain="true"> 按钮</button>
</view>

效果:

2.1 checkbox

多选项目

主要属性:

例子:在页面中渲染一个多选框

代码:

xml 复制代码
<view class="icon-box">
<checkbox color="blue" checked="true"></checkbox>
<text>选中</text>
</view>

效果:

2.2 label标签

label主要改变表单组件的可用性

主要属性:

例子:checkbox组件在label内

代码:

WXML:

xml 复制代码
<view class="page-section page-section-gap">
      <view class="page-section-title">表单组件在label内</view>
      <checkbox-group class="group" bindchange="checkboxChange">
        <view class="label-1" wx:for="{{checkboxItems}}">
          <label>
            <checkbox value="{{item.name}}" checked="{{item.checked}}"></checkbox>
            <text class="label-1-text">{{item.value}}</text>
          </label>
        </view>
      </checkbox-group>
    </view>

页面.JS

xml 复制代码
 data: {
    checkboxItems: [
      {name: 'USA', value: '美国'},
      {name: 'CHN', value: '中国', checked: 'true'}
    ],
    hidden: false
  },

效果:

2.3 form表单

表单。将组件内的用户输入的switch input checkbox slider radio picker 提交。

当点击 form 表单中 form-type 为 submit 的 button 组件时,会将表单组件中的 value 值进行提交,需要在表单组件中加上 name 来作为 key。

属性说明:

例子:用form表单组件渲染一个页面,该页面的内容可提交

代码:

WXML:

xml 复制代码
<view class="container">
  <view class="page-body">
    <form catchsubmit="formSubmit" catchreset="formReset">
      <view class="page-section page-section-gap">
        <view class="page-section-title">switch</view>
        <switch name="switch"/>
      </view>

      <view class="page-section page-section-gap">
        <view class="page-section-title">radio</view>
        <radio-group name="radio">
          <label><radio value="radio1"/>选项一</label>
          <label><radio value="radio2"/>选项二</label>
        </radio-group>
      </view>

      <view class="page-section page-section-gap">
        <view class="page-section-title">checkbox</view>
        <checkbox-group name="checkbox">
          <label><checkbox value="checkbox1"/>选项一</label>
          <label><checkbox value="checkbox2"/>选项二</label>
        </checkbox-group>
      </view>

      <view class="page-section page-section-gap">
        <view class="page-section-title">slider</view>
        <slider value="50" name="slider" show-value ></slider>
      </view>

      <view class="page-section">
        <view class="page-section-title">input</view>
        <view class="weui-cells weui-cells_after-title">
          <view class="weui-cell weui-cell_input">
            <view class="weui-cell__bd" style="margin: 30rpx 0" >
              <input class="weui-input" name="input" placeholder="这是一个输入框" />
            </view>
          </view>
        </view>
      </view>

      <view class="btn-area">
        <button style="margin: 30rpx 0" type="primary" formType="submit">Submit</button>
        <button style="margin: 30rpx 0" formType="reset">Reset</button>
      </view>
    </form>
  </view>
</view>

js:

xml 复制代码
Page({
  onShareAppMessage() {
    return {
      title: 'form',
      path: 'page/component/pages/form/form'
    }
  },

  data: {
    pickerHidden: true,
    chosen: ''
  },

  pickerConfirm(e) {
    this.setData({
      pickerHidden: true
    })
    this.setData({
      chosen: e.detail.value
    })
  },

  pickerCancel() {
    this.setData({
      pickerHidden: true
    })
  },

  pickerShow() {
    this.setData({
      pickerHidden: false
    })
  },

  formSubmit(e) {
    console.log('form发生了submit事件,携带数据为:', e.detail.value)
  },

  formReset(e) {
    console.log('form发生了reset事件,携带数据为:', e.detail.value)
    this.setData({
      chosen: ''
    })
  }
})

效果:

相关推荐
说私域5 小时前
开源AI智能名片链动2+1模式S2B2C商城小程序FAQ设计及其意义探究
人工智能·小程序
小小王app小程序开发5 小时前
短剧小程序 2025 核心痛点分析:内容、技术与合规的三重困境
小程序
fthux6 小时前
孩子的名字有救了
微信小程序·typescript·ai编程
27669582928 小时前
朴朴超市小程序分析
java·python·小程序·node·sign·朴朴超市·sign-v2
低代码布道师8 小时前
医疗小程序04添加就诊人
低代码·小程序
Best8 小时前
uniapp 微信小程序记录
微信小程序·小程序·uni-app
蒲公英源码11 小时前
基于PHP+Vue+小程序快递比价寄件系统
vue.js·小程序·php
小小王app小程序开发11 小时前
盲盒小程序一番赏创新玩法拓展:构建社交化集藏新生态
小程序
韩立学长12 小时前
【开题答辩实录分享】以《奇妙英语角小程序的设计与实现》为例进行答辩实录分享
小程序·php
wx_ywyy679814 小时前
小程序定制开发实战:需求拆解、UI 设计与个性化功能落地流程
小程序·小程序开发·小程序制作·小程序搭建·小程序设计·小程序定制开发·小程序开发搭建