原生小程序常见组件

常见组件

组件文档

view、text、rich-text、button、image、navigator、icon、swiper、radio、checkbox。等

text标签

  1. 文本标签
  2. 只能嵌套text
  3. 长按文字可以复制(只有该标签有这个功能)
  4. 可以对空格 回车 进行编码
属性名类型默认值说明
selectableBooleanfalse文本是否可选
decodeBooleanfalse是否解码

image标签

image图片文档:https://developers.weixin.qq.com/miniprogram/dev/component/image.html)

  1. 图片标签,image组件默认宽度 320px、高度 240px
  2. 支持懒加载

小程序当中的图片 直接就支持 懒加载 lazy-load

lazy-load 会自己判断 当图片出现在视口上下三屏的高度之内的时候 自己开始懒加载图片

<image src="" mode="widthFix" lazy-load></image>

//=>循环结构
<image src="{{item.image_src}}" mode="widthFix" lazy-load></image>

mode属性:

  • scaleToFill 拉伸程度 和 图片image样式宽高保持一致

缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素

image {
	width: 200px;
	height: 200px;
}
  • widthFix 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变
image {
	width: 100px;
}
  • aspectFit

缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。(页面轮播图常用

image {
	width: 200px;
	height: 100px;
}

swiper标签

  1. 轮播图外层容器 swiper
  2. 每一个轮播项 swiper-item
  3. swiper 标签 存在默认样式

width 100%

height 150px

swiper 高度 无法实现由内容撑开

  1. 先找出来 原图的宽度和高度,等比例 给 swiper 定 宽度和高度

原图的宽度和高度: 1125 * 352px

swiper宽度 / swiper高度 = 原图的宽度 / 原图的高度

swiper高度 = swiper宽度 * 原图的高度 / 原图的宽度

height: 100vw * 352 / 1125

<swiper autoplay interval="1000" circular indicator-dots>
  <swiper-item>
    <image src="" mode="widthFix"></image>
  </swiper-item>
  <swiper-item>
    <image src="" mode="widthFix"></image>
  </swiper-item>
  <swiper-item>
    <image src="" mode="widthFix"></image>
  </swiper-item>
</swiper>
swiper {
  width: 100%;
  height:calc(100vw*352/1125);
}

image {
  width: 100%;
}

navigator标签

navigator文档

  1. 块级元素 默认会换行 可以直接加宽度和高度
  2. target 要跳转到当前的小程序 还是其他的小程序页面

self 默认值 自己的小程序页面

miniProgram 其它的小程序页面

rich-text富文本标签

  1. nodes属性来实现
    • 接收标签字符串(最常用)
    • 接收对象数组(了解)

可以将字符串解析成对应标签,类似vuev-html功能

借鉴:淘宝

<rich-text nodes="{{html}}"></rich-text>

button标签

button文档

button 开发能力

  1. contact 直接打开 客服对话功能 需要在微信小程序的后台配置
<button open-type="contact">contact</button>
  1. share 转发当前的小程序 到微信朋友中 不能把小程序 分享到 朋友圈
<button open-type="share">share</button>
  1. getPhoneNumber 获取当前用户的手机号码信息 结合一个事件使用
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">getPhoneNumber</button>

不是企业的小程序账号 没有权限来获取用户的手机号码

  • 绑定事件bindgetphonenumber

  • 在事件的回调函数中,通过参数来获取信息

  • 获取到的信息 已经加密过了

    需要用户自己待见小程序的后台服务器,在后台服务器中进行解析手机号码,返回到小程序中 就可以看到信息了

  1. getUserInfo获取当前用户的个人信息
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo">getUserInfo</button>
  • 使用方法 类似 获取用户的手机号码
  • 可以直接获取 不存在加密的手段
  1. launchApp 在小程序中 直接打开 app
<button open-type="launchApp">launchApp</button>
  • 需要先在app中,通过app的某个链接 打开小程序
  • 在小程序中再通过这个功能重新打开app
  • 找到 京东的app 和 京东的小程序
  1. openSetting打开小程序内置的授权页面
<button open-type="openSetting">openSetting</button>
  • 授权页面中 只会出现 用户曾经点击过的 权限
  1. feedback 打开小程序内置的 意见反馈页面
<button open-type="feedback">feedback</button>
  • 只能通过真机调试来打开

icon图标

icon文档

<icon type="success" size="32" color="#0094ff"></icon>

radio标签

<radio-group bindchange="handleChange">
<radio value="male" color="#0094ff"></radio>
<radio value="female" color="#0094ff"></radio>
</radio-group>

<view>选中:{{gender}}</view>
data: {
 gender: ""
},
handleChange(e){
 let gender = e.detail.value;
 this.setData({
   gender
 })
},
  • 可以通过color属性来修改颜色
  • 需要搭配 radio-group 一起使用

radio标签

checkbox标签

<checkbox-group bindchange="handleCheckbox">
<block  wx:for="{{list}}" wx:key="id">
 <checkbox value="{{item.value}}">{{item.name}}</checkbox>
</block>
</checkbox-group>

<view>选中的水果:{{checkList}}</view>
data: {
 list: [{
     id: 0,
     name: '苹果',
     value: 'apple'
   },
   {
     id: 1,
     name: '榴莲',
     value: 'durian'
   },
   {
     id: 2,
     name: '香蕉',
     value: 'banana'
   },
   {
     id: 3,
     name: '橙子',
     value: 'orange'
   }
 ],
 checkList: []
},
handleCheckbox(e) {
 let checkList = e.detail.value;
 this.setData({
   checkList
 })
},
  • 可以通过color属性来修改颜色
  • 需要搭配 checkbox-group一起使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落花流雨

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值