小程序 常用组件

文章目录

  • 常见组件
    • view
    • text
    • image
    • swiper
    • navigator
    • rich-text
      • nodes属性
    • button
    • icon
    • from
    • radio
    • checkbox

常见组件

重点讲解⼩程序中常⽤的布局组件
view,text,rich–text,button,image,navigator,icon,swiper,radio,checkbox。 等

view

代替 原来的 div 标签

  <view hover-class="h-class">点击我试试</view>

text

  1. ⽂本标签
  2. 只能嵌套text
  3. ⻓按⽂字可以复制(只有该标签有这个功能)
  4. 可以对空格 回⻋ 进⾏编码
属性名类型默认值说明
selectableBooleanfalse⽂本是否可选
decodeBooleanfalse是否解码
 <text selectable="{{false}}" decode="{{false}}">&nbsp;</text>

image

  1. 图⽚标签,image组件默认宽度320px、⾼度240px
  2. ⽀持懒加载
属性名类型默认值说明
srcString图⽚资源地址
modeString‘scaleToFill’图片剪裁,缩放的模式
lazy-loadBooleanfalse图片懒加载

mode 有效值:
mode 有 13 种模式,其中 4 种是缩放模式,9种是裁剪模式。

模式说明
缩放scaleToFill不保持纵横⽐缩放图⽚,使图⽚的宽⾼完全拉伸⾄填满image 元素
缩放aspectFit保持纵横⽐缩放图⽚,使图⽚的⻓边能完全显⽰出来。
缩放aspectFill保持纵横⽐缩放图⽚,只保证图⽚的短边能完全显⽰出来。
缩放widthFix宽度不变,⾼度⾃动变化,保持原图宽⾼⽐不变
裁剪top不缩放图⽚,只显⽰图⽚的顶部区域
裁剪bottom不缩放图⽚,只显⽰图⽚的底部区域
裁剪center不缩放图⽚,只显⽰图⽚的中间区域
裁剪left不缩放图⽚,只显⽰图⽚的左边区域
裁剪right不缩放图⽚,只显⽰图⽚的右边区域
裁剪top left不缩放图⽚,只显⽰图⽚的左上边区域
裁剪top right不缩放图⽚,只显⽰图⽚的右上边区域
裁剪bottom left不缩放图⽚,只显⽰图⽚的左下边区域
裁剪bottom right不缩放图⽚,只显⽰图⽚的右下边区域

swiper

微信内置轮播图组件
在这里插入图片描述

默认宽度 100% ⾼度 150px

属性名类型默认值说明
indicator-dotsBooleanfalse是否显⽰⾯板指⽰点
indicator-colorColorrgba(0, 0, 0, .3)指⽰点颜⾊
indicator-active-colorColor#000000当前选中的指⽰点颜⾊
autoplayBooleanfalse是否⾃动切换
intervalNumber5000⾃动切换时间间隔
circularBooleanfalse是否循环轮播

navigator

导航组件 类似超链接标签

属性名类型默认说明
targetStringself在哪个⽬标上发⽣跳转,默认当前⼩程序,可选值self/miniProgram
urlString当前⼩程序内的跳转链接
open-typeStringnavigate跳转⽅式

open-type 有效值:

说明
navigate保留当前⻚⾯,跳转到应⽤内的某个⻚⾯,但是不能跳到 tabbar ⻚⾯
redirect关闭当前⻚⾯,跳转到应⽤内的某个⻚⾯,但是不允许跳转到 tabbar ⻚⾯。
switchTab跳转到 tabBar ⻚⾯,并关闭其他所有⾮ tabBar ⻚⾯
reLaunch关闭所有⻚⾯,打开到应⽤内的某个⻚⾯
navigateBack关闭当前⻚⾯,返回上⼀⻚⾯或多级⻚⾯。可通过 getCurrentPages() 获取当前的⻚⾯栈,决定需要返回⼏层
exit退出⼩程序,target="miniProgram"时生效

rich-text

富文本标签

可以将字符串解析成 对应标签,类似 vue中 v–html 功能

在这里插入图片描述

代码

// 1   index.wxml 加载 节点数组
<rich-text nodes="{{nodes}}" bindtap="tap"></rich-text>
// 2 加载 字符串
<rich-text nodes='<img
src="https://developers.weixin.qq.com/miniprogram/assets/images/head_global_z_@all.p
ng" alt="">'></rich-text>// index.jsPage({data: {nodes: [{name: 'div',attrs: {class: 'div_class',style: 'line-height: 60px; color: red;'},children: [{type: 'text',text: 'Hello&nbsp;World!'}]}]},tap() {console.log('tap')}
})

nodes属性

nodes 属性⽀持 字符串 和 标签节点数组

属性说明类型必填备注
name标签名string⽀持部分受信任的 HTML 节点
attrs属性object⽀持部分受信任的属性,遵循 Pascal 命名法
children⼦节点列表array结构和 nodes ⼀致

⽂本节点:type = text

属性说明类型必填备注
text⽂本string⽀持entities
  • nodes 不推荐使⽤ String 类型,性能会有所下降。
  • rich–text 组件内屏蔽所有节点的事件。
  • attrs 属性不⽀持 id ,⽀持 class 。
  • name 属性⼤⼩写不敏感。
  • 如果使⽤了不受信任的 HTML 节点,该节点及其所有⼦节点将会被移除。
  • img 标签仅⽀持⽹络图⽚。

button

<buttontype="default"size="{{defaultSize}}"loading="{{loading}}"plain="{{plain}}"
>default
</button>
属性说明类型必填备注
sizestringdefault按钮的⼤⼩
typestringdefault按钮的样式类型
plainbooleanfalse按钮是否镂空,背景⾊透明
disabledbooleanfalse是否禁⽤
loadingbooleanfalse名称前是否带 loading 图标
form-typestring⽤于 组件,点击分别会触发 组件的submit/reset 事件
open-typestring微信开放能⼒

size 的合法值

说明
default默认⼤⼩
mini⼩尺⼨

type 的合法值

说明
primary绿⾊
default⽩⾊
warn红⾊

form-type 的合法值

说明
submit提交表单
reset重置表单

open-type 的合法值

说明
contact打开客服会话,如果⽤⼾在会话中点击消息卡⽚后返回⼩程序,可以从bindcontact 回调中获得具体信息,具体说明
share触发⽤⼾转发,使⽤前建议先阅读使⽤指引
getPhoneNumber获取⽤⼾⼿机号,可以从bindgetphonenumber回调中获取到⽤⼾信息,具体说明
getUserInfo获取⽤⼾信息,可以从bindgetuserinfo回调中获取到⽤⼾信息
launchApp打开APP,可以通过app-parameter属性设定向APP传的参数具体说明
openSetting打开授权设置⻚
feedback打开“意⻅反馈”⻚⾯,⽤⼾可提交反馈内容并上传⽇志,开发者可以登录⼩程序管理后台后进⼊左侧菜单“客服反馈”⻚⾯获取到反馈内容

icon

属性类型默认值必填说明
typestringicon的类型,有效值:success, success_no_circle,info, warn, waiting, cancel, download, search,clear
sizenumber/string23icon的⼤⼩
colorstringicon的颜⾊,同css的color

在这里插入图片描述

代码
js

Page({data: {iconSize: [20, 30, 40, 50, 60, 70],iconType: ['success', 'success_no_circle', 'info', 'warn', 'waiting', 'cancel',
'download', 'search', 'clear'],iconColor: ['red', 'orange', 'yellow', 'green', 'rgb(0,255,255)', 'blue', 'purple'],}
})

wxml

<view class="group"><block wx:for="{{iconSize}}"><icon type="success" size="{{item}}"/></block>
</view>
<view class="group"><block wx:for="{{iconType}}"><icon type="{{item}}" size="40"/></block>
</view>
<view class="group"><block wx:for="{{iconColor}}"><icon type="success" size="40" color="{{item}}"/></block>
</view>

from

功能描述
表单。将组件内的用户输入的switch input checkbox slider radio picker 提交。
当点击 form 表单中 form-type 为 submit 的 button 组件时,会将表单组件中的 value 值进行提交,需要在表单组件中加上 name 来作为 key

属性说明

属性类型默认值必填说明
report-submitbooleanfalse是否返回 formId 用于发送模板消息
report-submit-timeoutnumber0等待一段时间(毫秒数)以确认 formId 是否生效。如果未指定这个参数,formId 有很小的概率是无效的(如遇到网络失败的情况)。指定这个参数将可以检测 formId 是否有效,以这个参数的时间作为这项检测的超时时间。如果失败,将返回 requestFormId:fail 开头的 formId
bindsubmiteventhandle携带 form 中的数据触发 submit 事件,event.detail = {value : {‘name’: ‘value’} , formId: ‘’}
bindreseteventhandle表单重置时会触发 reset 事件
代码
<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>
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: ''})}
})

效果
在这里插入图片描述

radio

可以通过 color属性来修改颜色
在这里插入图片描述

需要搭配 radio-group ⼀起使⽤

checkbox

可以通过 color属性来修改颜色
在这里插入图片描述

需要搭配 checkbox-group ⼀起使⽤

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/634864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言基础语法跟练 day4

41、牛牛有一个半径为 r 的球&#xff0c;他想知道这个球的体积。 #include <stdio.h> #include<math.h> int main() {float r;scanf("%f",&r);float v (4.0/3)*3.14*pow(r,3);printf("%.2f",v);return 0; } 42、小乐乐比较懒惰&#x…

GPT应用程序上线注意的问题

在将GPT应用程序上线之前&#xff0c;有一些重要的问题需要注意&#xff0c;以确保应用程序的成功运行、用户满意度和合规性。以下是一些建议&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 合规性和…

SpringCloud OpenFegin 传递Date类型的参数时,接收端多出14个小时的问题

SpringCloud OpenFegin 传递Date类型的参数时&#xff0c;接收端多出14个小时的问题 1. OpenFegin写法 入参&#xff1a; “startTime”: “2024-01-16 00:00:00”, “endTime”: “2024-01-18 23:59:59”, GetMapping("/queryDisposalComplete")JsonResult<Ma…

海盗王NPC出售物品解析器

在编辑或者查看NPC出售物品的时候&#xff0c;需要了解它到底出售了那些物品。 当物品很多的时候&#xff0c;就很难一个一个地去查了。 想到之前有做过一个物品编辑器&#xff0c;于是就想在那个基础上再增加一个NPC物品分析器功能。 实现如下&#xff1a; 将NPC的出售列表直接…

Android现代开发推荐 | Android Showcase 2.0

Android现代开发推荐 | Android Showcase 2.0 Android Showcase是一个完整的Android应用程序示例&#xff0c;它使用了现代的Android应用程序开发方法&#xff0c;集成了流行的开发工具、库和代码检查工具&#xff0c;以及强大的测试框架和持续集成&#xff08;CI&#xff09;…

《WebKit 技术内幕》之四(3): 资源加载和网络栈

3. 网络栈 3.1 WebKit的网络设施 WebKit的资源加载其实是交由各个移植来实现的&#xff0c;所以WebCore其实并没有什么特别的基础设施&#xff0c;每个移植的网络实现是非常不一样的。 从WebKit的代码结构中可以看出&#xff0c;网络部分代码的确比较少的&#xff0c;它们都在…

AI 编程的机会和未来:从 Copilot 到 Code Agent

大模型的快速发展带来了 AI 应用的井喷。统计 GPT 使用情况&#xff0c;编程远超其他成为落地最快、使用率最高的场景。如今&#xff0c;大量程序员已经习惯了在 AI 辅助下进行编程。数据显示&#xff0c;GitHub Copilot 将程序员工作效率提升了 55%&#xff0c;一些实验中 AI …

Redis多线程模型探究

在技术快速发展的当下&#xff0c;Redis以其高效的单线程模型在众多数据库技术中脱颖而出。 这项被设计来高速读写内存数据的技术&#xff0c;如今却在面临多核心时代的挑战下&#xff0c;开始拥抱多线程。 这篇文章将带你了解Redis的单线程之路&#xff0c;解读它为何能在多线…

IDA Pro 7.7和8.3共用方案

1.问题 IDA 8.3版本放出来后&#xff0c;我安装之后&#xff0c;把之前用的正好的7.7给卸载了&#xff0c;然后发现&#xff1a;IDA 8.3版本只能反编译x86和x64两个架构&#xff0c;而我又是arm和arm64的重度用户&#xff0c;只能把旧版下载回来。问题就出现在这里。 &#x…

Autosar信息安全入门系列01-SecOC基础介绍

本文框架 1. 概述2. SecOC基本概念2.1 SecOC是什么&#xff1f;2.2 新鲜度值与MAC值2.3 SecOC报文格式 3. SecOC报文发送及接收逻辑3.1 SecOC报文的发送3.2 SecOC报文的接收 1. 概述 本文为Autosar通信入门系列介绍&#xff0c;如您对AutosarMCAL配置&#xff0c;通信&#xf…

【开源】基于JAVA语言的免税店商城管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.2 研究方法 三、系统展示四、核心代码4.1 查询免税种类4.2 查询物品档案4.3 新增顾客4.4 新增消费记录4.5 审核免税 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的免税店商城管理系…

AI嵌入式K210项目(15)-安全散列算法加速器

文章目录 前言一、什么是SHA256&#xff1f;实验原理 二、K210的安全散列算法加速器三、实验过程总结 前言 K210内置了丰富的加速器&#xff0c;包括神经网络处理器 (KPU)&#xff0c;AES(高级加密加速器)&#xff0c;APU 麦克风阵列语音数据加速计算处理器&#xff0c;现场可…

2024--Django平台开发-订单项目管理用户认证+动态菜单+权限控制(十三)

day13 订单管理项目开发 1.表结构设计 1.1 abstract类 from django.db import modelsclass ActiveBaseModel(models.Model):active models.SmallIntegerField(verbose_name"状态", default1, choices((1, "激活"), (0, "删除"),))class Meta:…

交叉编译工具 aarch64-linux-gnu-gcc 的介绍与安装

AArch64 是随 ARMv8 ISA 一起引入的 64 位架构&#xff0c;用于执行 A64 指令的计算机。而且在 AArch64 状态下执行的代码只能使用 A64 指令集。&#xff0c;而不能执行 A32 或 T32 指令。但是&#xff0c;与 AArch32 中不同&#xff0c;在64位状态下&#xff0c;指令可以访问 …

7.4 数据库的高级查询(❤❤)

数据库的高级查询 1. 提要2. 数据统计2.1 聚合函数2.2 分组查询_group by2.3 having子句_筛选时想使用聚合函数时3. 多表连接查询3.1 内连接_inner join3.2 外连接(左外连接)_left join3.3 右外连接_right join3.4 练习3.5 小结4. 子查询4.1 from子查询4.2 单行子查询与多行子查…

Java异常

异常 认识异常 异常就是代表程序出现的问题 Exception&#xff1a;叫异常&#xff0c;它代表的才是我们程序可能出现的问题&#xff0c;所以&#xff0c;我们通常会用Exception以及它的孩子来封装出现出现的问题。 运行时异常&#xff1a;RuntimeException及其子类&#xff…

MyBatisPlus学习笔记五-插件功能

0、插件功能 MyBatisPlus提供的内置拦截器有下面这些 1、分页插件 2、通用分页实体 3、通用分页实体-强化 需求&#xff1a; 在PageQuery中定义方法&#xff0c;将PageQuery对象转为MyBatisPlus中的Page对象在PageDTO中定义方法&#xff0c;将MyBatisPlus中的Page结果转为Page…

go语言(八)---- map

map的声明方式有以下三种。 package mainimport "fmt"func main() {//第一种声明方式//声明map1是一个map类型&#xff0c;key是String&#xff0c;value是Stringvar myMap1 map[string] stringif myMap1 nil {fmt.Println("myMap1 是一个空map")}//在使…

C++中实现多线程和分布式

3. 多线程 &#xff08;2&#xff09;对于 需要写入但不需要等待响应的请求&#xff0c;可以使用 BlockingQueue 完成&#xff0c;例如 log&#xff0c;由一个专门的线程去写入文件&#xff0c;其他线程只需要往 BlockingQueue 写入即可&#xff1b; &#xff08;3&#xff0…

Datawhale 强化学习笔记(二)马尔可夫过程,DQN 算法

文章目录 参考马尔可夫过程DQN 算法&#xff08;Deep Q-Network&#xff09;如何用神经网络来近似 Q 函数如何用梯度下降的方式更新网络参数强化学习 vs 深度学习 提高训练稳定性的技巧经验回放目标网络 代码实战 DQN 算法进阶Double DQNDueling DQN 算法代码实战 参考 在线阅…