当前位置:   article > 正文

button 样式_小程序开发实战(7):Button组件详解

button按钮的属性设置

---------支持作者请转发本文-----------

李宁老师已经在「极客起源」 微信公众号推出《微信小程序开发实战》系列文章,包括了小程序开发的所有核心技术,读者可以在公众号中输入138271,通过历史文章查看。

-----------正文-----------

button组件是最常用的表达组件,用于响应点击动作。该组件有如下几个属性。
  • size:String类型,默认值是default,除了default,还可以设置为 mini

  • type:String类型,默认值是default,设置按钮的样式类型,可设置的值包括 primary, default, warn

  • plain:Boolean类型,默认值是false,设置按钮是否镂空,背景色透明

  • disabled:Boolean类型,默认值是false,设置按钮是否禁用

  • loading:Boolean类型,默认值是false,设置按钮标题前是否带显示loading 图标

  • form-type       :String类型,没有默认值,可以设置的值包括submit和 reset,用于 form组件,点击分别会触发 submit/reset 事件,该属性会在介绍form组件时详细讲解

  • hover-class:String类型,默认值是button-hover,    指定按钮按下去的样式名称。当 hover- 时,没有点击态效果

button-hover 的设置为
{background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;}
下面的布局代码详细描述了上述大多数属性的用法(除了form-type外)。在这段布局文件中,放置了6个button组件,其中前三个演示了3种按钮类型:default、primary和warn。并通过defaultSize、loading、plain和disabled变量分别对size、loading、plain和disabled属性进行控制。第一个按钮点击响应了default方法,用来设置按钮的size属性(在default和mini之间切换)。 点击后三个按钮分别响应setDisabled、setPlain和setLoading方法,分别设置前三个按钮的disabled、plain和loading属性。第4个按钮设置了hover-class属性,用来指定按钮按下时的样式名称。  
<button type="default" size="{{defaultSize}}" loading="{{loading}}" plain="{{plain}}" disabled="{{disabled}}" bindtap="default">    defaultbutton><button type="primary" size="{{primarySize}}" loading="{{loading}}" plain="{{plain}}" disabled="{{disabled}}" >    primarybutton><button type="warn" size="{{warnSize}}" loading="{{loading}}" plain="{{plain}}" disabled="{{disabled}}">    warnbutton><button hover-class="hover" bindtap="setDisabled">点击设置以上按钮disabled属性button><button bindtap="setPlain">点击设置以上按钮plain属性button><button bindtap="setLoading">点击设置以上按钮loading属性button>
其中hover样式的代码如下:
.hover{    background-color: #F00;    opacity: 0.3;    font-size: 30px;}
布局的效果如图 1 所示。

fc1c7bded763c0a3bbf1c9ce5a3af746.png

图1  按钮演示效果 当点击default按钮后,会设置size属性值为mini,效果如图2所示。

aea73ba56914d5a7220d81c9a8ad023c.png

图2 按钮size设为mini的效果 图3是将前3个按钮禁用的效果。  

491b802b665dbe078d6dd62d06d4f77e.png

图3 将按钮禁用的效果 图4是将按钮设为镂空的效果。

174b9f46a94a7f23717bd40b7991c56b.png

图4  将按钮设为镂空的效果 图5是在按钮标题文本前加loading动画的效果。

065f16393e15634dc275fc92f25b2da3.png

图5  按钮标题文本前加loading动画的效果 下面是完整的JavaScript实现代码。
var pageObject = {  data: {    defaultSize: 'default',    primarySize: 'default',    warnSize: 'default',    disabled: false,    plain: false,    loading: false  },  setDisabled: function(e) {    this.setData({      disabled: !this.data.disabled    })  },  setPlain: function(e) {    this.setData({      plain: !this.data.plain    })  },  setLoading: function(e) {    this.setData({      loading: !this.data.loading    })  } ,  default:function(e)  {    this.setData(      {        defaultSize:this.data['defaultSize']=='default' ? 'mini' : 'default'      }    )  }} Page(pageObject)
往期回顾:微信小程序开发实战(1):容器组件微信小程序开发实战(2):添加广告轮询图微信小程序开发实战(3):条件渲染微信小程序开发实战(4):列表渲染微信小程序开发实战(5):组件复用利器-模板微信小程序开发实战(6):基础组件(text、icon和progress)对本文感兴趣,可以加李宁老师微信公众号( unitymarvel):

41e6d650f6c06ed06e1b378acd3bcd79.png

关注  极客起源  公众号,获得更多免费技术视频和文章。

d4ee94a6f2df4393bc6eb70cb44de8ec.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/302495
推荐阅读
相关标签
  

闽ICP备14008679号