小程序的常见内置组件

目录

1、Text 组件

2、Button 组件

3、View 组件

4、Image 组件

5、Input组件

6、scroll-view 组件

7、组件的共同属性


小程序中有很多组件,例如表单组件、媒体组件、导航组件等,组件及详细属性可以参考 官方文档,下面介绍几种常用的组件。

1、Text 组件

Text 组件用于显示文本,类似于 html 中的 span 标签,是行内元素,下面是 Text 组件的属性和基本使用。官方文档

属性 类型 默认值 必填 说明 最低版本
selectable boolean false 文本是否可选 1.1.0
space string

nbsp:根据字体设置的空格大小(默认值)

ensp:中文字符空格一半大小

emsp:中文字符空格大小

显示连续空格 1.4.0
decode boolean false 是否解码 1.4.0
<!--text组件的基本使用-->
<text>Hello world\n</text>    <!--行内元素,不会独占一行,可以通过\n换行-->

<!--selectable属性:决定文本是否可被选中-->
<text selectable='true'>你好小程序\n</text>      <!--文本默认是不可选中的,可以设置selectable属性使可被选中-->
<text selectable='true'>你好小程序\n</text>      <!--一个属性如果设置在为true可以直接写属性,不想写属性值-->

<!--space属性:决定文本空格的大小-->
<text>Hello world\n</text>                 <!--显示:Hello world-->
<text space='nbsp'>Hello world\n</text>    <!--显示:Hello world-->    <!--nbsp是默认值-->
<text space='ensp'>Hello world\n</text>    <!--显示:Hello  world-->   <!--ensp是半个中文字符大小-->
<text space='emsp'>Hello world\n</text>    <!--显示:Hello   world-->  <!--emsp是一个中文字符大小-->

<!--decode属性:是否解码文本-->
<text>5 &gt; 3</text>           <!--显示:5 &gt; 3-->
<text decode>5 &gt; 3</text>    <!--显示:5 > 3-->

注意:(1)tip:decode可以解析的有&nbsp;&lt;&gt;&amp;&apos;&ensp;&emsp;(2)tip:各个操作系统的空格标准并不一致。(3)tip:text 组件内只支持text嵌套。(4)tip:除了文本节点以外的其他节点都无法长按选中。(5)bug:基础库版本低于 2.1.0 时,text 组件内嵌的 text style 设置可能不会生效。

2、Button 组件

Button 按钮组件的属性比较多,下面简单说几个常用的属性及其组件的基本使用,具体的属性可以参考 官方文档

属性 类型 默认值 必填 说明 最低版本
size string default 按钮的大小 1.0.0
type string default 按钮的样式类型 1.0.0
plain boolean false 按钮是否镂空,背景色透明 1.0.0
disabled boolean false 是否禁用 1.0.0
loading boolean false 名称前是否带 loading图标 1.0.0
hover-class sting button-hover 指定按钮按下去的样式类。当 hover-class="none" 时,没有点击态效果 1.1.0
open-type string 官方文档 微信开放能力,比如:open-type='getUserInfo' 获取用户信息 1.1.0
form-type sting   用于 fom 组件,点击分别会触发 fom 组件的 submit/reset 事件 1.1.0
<!--1.button 的基本使用-->
<button>按钮</button>    <!--默认按钮很大,而且会独占一行,是块级 block 元素-->

<!--2.size属性:mini-->
<button size='mini'>按钮</button>    <!--按钮变小,inline-block 元素,不会独占一行-->
<button size='mini'>按钮</button>    <!--按钮变小,inline-block 元素,不会独占一行-->

<!--3.type属性:primary、default、warn-->
<button size='mini'type='primary'>按钮</button>    <!--按钮显示绿色-->
<button size='mini'type='default'>按钮</button>    <!--按钮显示白色-->
<button size='mini'type='warn'>按钮</button>       <!--按钮显示红色-->

<!--4.plain:镂空效果-->
<button size='mini' plain>按钮</button>        <!--按钮显示镂空样式-->
<!--5.disable:不可用-->
<button size='mini' disabled>按钮</button>     <!--按钮变灰,不可点击-->

<!--6.loading:加载效果,值可以设置一个变量,比如当网络请求结束时让变量为true-->
<button size='mini' loading="isLoading">按钮</button>      <!--按钮前显示加载小圆圈-->

<!--7.hover-class:鼠标点击按钮显示的样式-->
<button hover-class='pressed'>按钮</button>      <!--可以到wxss中给pressed类名设置样式-->

<!--8.open-type:微信开发能力,将 open-type 改成 getUserlnfo,并且绑定 bindgetuserinfo 事件去获取用户信息-->
<button size='mini' open-type='getUserInfo' bindgetuserinfo='handleGetUserInfo'>获取授权</button>

3、View 组件

View 视图组件(块级元素独占一行,通常用作容器组件),相当于 html 中的 div,下面是 View 组件的属性和基本使用 官方文档

属性 类型 默认值 必填 说明 最低版本
hover-class string none 指定按下去的样式类。当 hover-class="none" 时,没有点击态效果 1.0.0
hover-stop-propagation boolean false 指定是否阻止本节点的祖先节点出现点击态 1.5.0
hover-start-time number 50 按住后多久出现点击态,单位毫秒 1.0.0
hover-stay-time number 400 手指松开后点击态保留时间,单位毫秒 1.0.0
<!--1.view的基本使用-->
<view class='box'>哈哈哈</view>         <!--可以到wxss给类名设置样式,注意view是块级元素-->
<view><text>你是一只小二哈</text></view> <!--view中还可以嵌套使用text、button等组件-->

<!--2.hover-class:当用户点击按下组件时,显示样式-->
<view class='box1' hover-class='hover-view' hover-stay-time="{{0}}">box1</view>

<!--3.hover-stop-propagation:可以阻止本节点的祖先节点出现点击态-->
<view class='box2'>
    <view class='boxl' hover-class='hover-view' hover-stop-propagation>box1</view>
</view>

4、Image 组件

Image 组件用于显示图片,下面说几个常用的属性及其组件的基本使用,具体的属性可以参考 官方文档

属性 类型 默认值 必填 说明 最低版本
src string   图片资源地址 1.0.0
mode string scaleToFill 图片裁剪、缩放的模式 1.0.0
webp boolean false 默认不解析 webP 格式,只支持网络资源 2.9.0
lazy-load boolean false 图片懒加载,在即将进入一定范围(上下三屏)时才开始加载 1.5.0
show-menu-by-longpress boolean false 开启长按图片显示识别小程序码菜单 2.7.0
binderror eventhandle   当错误发生时触发,event.detail = {errMsg} 1.0.0
bindload eventhandle   当图片载入完毕时触发,event.detail = {height, width} 1.0.0
<!--1.image的基本使用-->
<image/>            <!--单标签-->
<image></image>     <!--双标签-->


<!--2.src:本地地址(相对路径/绝对路径)/远程地址-->
<image src='../../assets/home/picture.jpg'/>    <!--相对路径-->
<image src='/assets/home/picture.jpg'/>         <!--绝对路径:/ 代表根目录-->
<image src='https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg'/>        <!--图片远程地址-->

<!--3.显示用户在相册中选择的图片-->
<button bindtap="handleChooseAlbum"></button>    <!--wxml中的代码-->
<image src="{{imagePath}}"></image>              <!--将用户选中的图片显示出来-->
Page({                          <!--js中的代码-->
  data:{
    imagePath:''                <!--保存选中的照片的路径-->
  },
  handleChooseAlbum(){
    wx.chooseImage({            <!--系统API,让用户在相册中选择图片(或者拍照)-->
      success:(res) => (        <!--要保证下面的this可以指向data中的数据,必须使用箭头函数-->
        console.log(res);       <!--可以打印图片的路径及图片的大小等信息-->
        const path = res.tempFilePaths[0];    <!--取出图片的路径-->
        this.setData({                        <!--设置imagePath,为了保证响应式,必须使用setData()方法-->
          imagePath:path;
        })
      },
    })
  }
})

<!--4.bindload:监听图片加载完成-->
<image src="/assets/home/picture.jpg" bindload='handlemageLoad'/>    <!--可以到js中写handlemageLoad()方法-->

<!--5.lazy-load:图片的懒加载->在即将进入一定范围(上下三屏)时才开始加载-->
<image wx:for="{{10}}" src="/assets/home/picture.jpg" bindload='handlemageLoad' lazy-load/>

<!--6.show-menu-by-longpress:长按图片出现识别小序码-->
<image show-menu-by-longpress src="/assets/home/picture.jpg"/>

注意:(1)image 组件可以写成单标签,也可以修成双标签,因为它里面不需要包裹内容,单标签:(<imag/>),双标签:(<image></image>)(2)image 组件默认有自己的大小:320×248。(3)image 组件时一个行内块级元素(inline-block)

5、Input组件

Input 组件用于接收用户的输入信息,也是开发中非常常见的,下面是 Input 组件的一些属性和基本使用 官方文档 。

属性 类型 默认值 必填 说明 最低版本
value string   输入框的初始内容 1.0.0
type string text input 的类型 1.0.0
password boolean false 是否是密码类型 1.0.0
placeholder string   输入框为空时占位符 1.0.0
bindinput eventhandle   键盘输入时触发,event.detail = {value, cursor, keyCode},keyCode 为键值,2.1.0 起支持,处理函数可以直接 return 一个字符串,将替换输入框的内容。 1.0.0
bindfocus eventhandle   输入框聚焦时触发,event.detail = { value, height },height 为键盘高度,在基础库 1.9.90 起支持 1.0.0
bindblur eventhandle   输入框失去焦点时触发,event.detail = {value: value} 1.0.0
bindconfirm eventhandle   点击完成按钮时触发,event.detail = {value: value} 1.0.0
更多属性,请参考小程序的 Input 官方文档
<!--1.input的基本使用-->
<input/>    <!--注意:input框默认情况下是没有任何样式和边框的,需要手动wxss设置-->

<!--2.value,input中的默认值-->
<input value='你是一只小二哈'/>

<!--3.type:决定弹出键盘类型(文本输入键盘/数字/身份证)-->
<input type='number'/>

<!--4.password:暗文-->
<input password/>

<!--5.placeholder:占位文字-->
<input placeholder='请输入内容'/>

<!--6.input绑定事件-->
<input bindinput='handleInput' bindfccus='handleFocus' bindblur='handleBlur'/>
Page({             <!--js中的代码-->
  data:{
  },
  bindinput(event){
    console.log('input家取结向:',event);
  },
  handleFocus(event){
    console.log('input家取结向:',event);    <!--event中可以查看输入的信息值-->
  },
  handleBlur(event){
    console.log('input失去然点:',event);
  }
})

6、scroll-view 组件

小程序中页面的滚动是自动的,scroll-view 组件是实现局部滚动,下面是 scroll-view 组件的一些属性和基本使用 官方文档 。

属性 类型 默认值 必填 说明 最低版本
scroll-x boolean false 允许横向滚动 1.0.0
scroll-y boolean false 允许纵向滚动 1.0.0
upper-threshold number/string 50 距顶部/左边多远时,触发 scrolltoupper 事件 1.0.0
lower-threshold number/string 50 距底部/右边多远时,触发 scrolltolower 事件 1.0.0
scroll-top number/string   设置竖向滚动条位置 1.0.0
scroll-left number/string   设置横向滚动条位置 1.0.0
bindscrolltoupper eventhandle   滚动到顶部/左边时触发 1.0.0
bindscrolltolower eventhandle   滚动到底部/右边时触发 1.0.0
<!--1.水平滚动:scroll-x-->
<scroll-view class='container1' scroll-x>  <!--设置view的inline-block之后,还要给父组件设 white-space:nowrap;-->
  <view wx:for="{{10}}" class='item1'>{{item}}</view>  <!--view是块元素,要水平显示需要设置样式为inline-block-->
</scroll-view>

<!--2.重直滚动:scroll-y-->
<scroll-view class='container2' scroll-y>    <!--设置垂直滚动需要给父组件设置固定高度height样式-->
  <view wx:for="{{10}}" class='item2'>{{item}}</view>
</scroll-view>

<!--3.其他补充-->
<scroll-view class='container2' scroll-y bindscroll="handleScroll">
  <view wx:for="{{10}}" class='item2'>{{item}}</view>
</scroll-view>
Page({             <!--js中的代码-->
  handleScroll(){
    console.log('正在滚动”,event);    <!--可以通过打印的对象.detail看滚动的距离-->
  }
})

7、组件的共同属性

所有 wxml 标签(组件)都支持的属性称之为共同属性,有如下共同属性:

属性名 类型 描述 注解
id String 组件的唯一标识 整个页面唯一
class String 组件的样式类 在对应的 wxss 中定义的样式类
style String 组件的内联样式 可以动态设置的内联样式
hidden Boolean 组件是否显示 所有组件默认显示
data-* Any 自定义属性 组件上触发的事件时,会发送给事件处理函数
bind*/catch* EventHandler 组件的事件  
发布了188 篇原创文章 · 获赞 13 · 访问量 7241

猜你喜欢

转载自blog.csdn.net/Marker__/article/details/103824801