小程序开发常见的内置组件

Posted 前端程序员小张

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序开发常见的内置组件相关的知识,希望对你有一定的参考价值。

【小程序开发】常见的内置组件

文章目录

写在前面

🤗这里是前端程序员小张!

🌻人海茫茫,感谢这一秒你看到这里。希望我的文章对你的有所帮助!

🌟愿你在未来的日子,保持热爱,奔赴山海!

一、Text文本组件

Text组件用于显示文本, 类似于span标签, 是行内元素

常见属性

属性类型默认值必填说明
user-selectbooleanfalse文本是否可选,该属性会使文本节点显示为 inline-block
spacestring显示连续空格
decodebooleanfalse是否解码

二、Button按钮组件

Button组件用于创建按钮,默认块级元素

常见属性

属性类型默认值必填说明
sizestringdefault按钮的大小
typestringdefault按钮的样式类型
plainbooleanfalse按钮是否镂空,背景色透明
disabledbooleanfalse是否禁用
hover-classstringbutton-hover指定按钮按下去的样式类。当 hover-class="none" 时,没有点击态效果
open-typestring微信开放能力

2.1 type属性

<button size="mini" type="primary">type-primary</button>
<button size="mini" type="default">type-default</button>
<button size="mini" type="warn">type-warn</button>
<button size="mini" class="btn">自定义属性</button>

2.2 open-type属性

open-type用户获取一些特殊性的权限,可以绑定一些特殊的事件

合法值说明
contact打开客服会话,如果用户在会话中点击消息卡片后返回小程序,可以从 bindcontact 回调中获得具体信息,具体说明小程序插件中不能使用
share触发用户转发,使用前建议先阅读使用指引
getPhoneNumber获取用户手机号,可以从bindgetphonenumber回调中获取到用户信息,具体说明小程序插件中不能使用
getUserInfo获取用户信息,可以从bindgetuserinfo回调中获取到用户信息 (小程序插件中不能使用
launchApp打开APP,可以通过app-parameter属性设定向APP传的参数具体说明
openSetting打开授权设置页
feedback打开“意见反馈”页面,用户可提交反馈内容并上传日志,开发者可以登录小程序管理后台后进入左侧菜单“客服反馈”页面获取到反馈内容
chooseAvatar获取用户头像,可以从bindchooseavatar回调中获取到头像信息

三、View视图组件

视图组件—块级元素,独占一行,通常用作容器组件

属性

属性类型默认值必填说明
hover-classstringnone指定按下去的样式类。当 hover-class="none" 时,没有点击态效果
hover-stop-propagationbooleanfalse指定是否阻止本节点的祖先节点出现点击态
hover-start-timenumber50按住后多久出现点击态,单位毫秒
hover-stay-timenumber400手指松开后点击态保留时间,单位毫

三、Image图片组件

Image组件用于显示图片

  • image组件默认宽度320px、高度240px

属性

属性类型默认值必填说明
srcstring图片资源地址
modestringscaleToFill图片裁剪、缩放的模式

3.1 mode属性

合法值说明
scaleToFill缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
aspectFit缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
aspectFill缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
widthFix缩放模式,宽度不变,高度自动变化,保持原图宽高比不变
heightFix缩放模式,高度不变,宽度自动变化,保持原图宽高比不变
top裁剪模式,不缩放图片,只显示图片的顶部区域
bottom裁剪模式,不缩放图片,只显示图片的底部区域
center裁剪模式,不缩放图片,只显示图片的中间区域
left裁剪模式,不缩放图片,只显示图片的左边区域
right裁剪模式,不缩放图片,只显示图片的右边区域
top left裁剪模式,不缩放图片,只显示图片的左上边区域
top right裁剪模式,不缩放图片,只显示图片的右上边区域
bottom left裁剪模式,不缩放图片,只显示图片的左下边区域
bottom right裁剪模式,不缩放图片,只显示图片的右下边区域

具体详情参考官方文档:image | 微信开放文档 (qq.com)

3.2 wx.chooseMedia

拍摄或从手机相册中选择图片或视频。

参数

  • count

    • 默认值:9
    • 最多可以选择的文件个数,基础库2.25.0前,最多可支持9个文件,2.25.0及以后最多可支持20个文件
  • mediaType 文件类型

    • image 只能拍摄图片或从相册选择图片
    • video 只能拍摄视频或从相册选择视频
    • mix 可同时选择图片和视频
  • sourceType 图片和视频选择的来源

    • album 从相册选择
    • camera 使用相机拍摄

举个栗子:选择本地图片,将其使用image展示

<button bindtap="onChooseImage">选择图片</button>
<image src="chooseImageUrl" mode="widthFix" />
  onChooseImage() 
    wx.chooseMedia(
      mediaType: 'image'
    ).then(res => 
      const imagePath = res.tempFiles[0].tempFilePath
      this.setData( chooseImageUrl: imagePath )
    )
  

四、ScrollView滚动组件

scroll-view可以实现局部滚动

常见的属性

属性类型默认值必填说明
scroll-xbooleanfalse允许横向滚动
scroll-ybooleanfalse允许纵向滚动
bindscrolltouppereventhandle滚动到顶部/左边时触发
bindscrolltolowereventhandle滚动到底部/右边时触发
bindscrolleventhandle滚动时触发,event.detail = scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY

纵向滚动

<scroll-view class="container-y" scroll-y>
  <block wx:for="viewColors" wx:key="*this">
    <view class="item" style="background: item;">
      item
    </view>
  </block>
</scroll-view>
.container-y 
  height: 150px;
  background-color: cornflowerblue;

.item 
  width: 100px;
  height: 100px;

横向滚动

<scroll-view class="container-x" scroll-x enable-flex>
  <block wx:for="viewColors" wx:key="*this">
    <view class="item" style="background: item;">
      item
    </view>
  </block>
</scroll-view>
.container-x 
  height: 150px;
  background-color: cornflowerblue;
  display: flex;

.item 
  width: 100px;
  height: 100px;
  flex-shrink: 0;

五、组件的共同属性

属性名类型描述注解
idString组件的唯一标识整个页面唯一
classString组件的样式类在对应的WXSS中定义的样式类
styleString组件的内联样式可以动态设置的内联样式
hiddenBoolean组件是否显示所有组件默认显示
data-*Any自定义属性组件上触发事件时,会发送给事件处理函数
bind*/catch*EventHandler组件的事件

小程序开发之文章样式

引言

以Serverless WordPress为后端开发的博客版小程序,处理文章的样式是核心。

I 代码高亮

采用开源组件mp-html进行实现,高亮功能依赖于prismjs,默认配置中仅支持 html、css、clike、javascript 变成语言,如果需要更多语言下需要去prismjs网站下载对应的 prism.min.js 和 prism.css 并替换 plugins/highlight/ 目录下的文件。

使用 HBuilder X 开发时,可以直接通过插件市场导入。

		<view

以上是关于小程序开发常见的内置组件的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序开发问题整理,涉及到小程序支付组件以及各种API问题

微信小程序开发前端+后端(Java)

微信小程序点击加号发布文章是啥组件

微信小程序开发引入vant没反应

小程序开发用啥框架

微信小程序开发通用源码前端+后端(Java)