• 第九篇、微信小程序-button组件


    主要属性:

    注:button-hover 默认为{background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;}

    效果图:

    ml:

    <!--默认的button, 默认大小default,默认加载false,默认按键不为镂空,默认可以点击,点击有效果hover-class="other-button-hover"-->
    <button type="default" size="{{defaultSize}}" loading="{{loading}}" plain="{{plain}}"
            disabled="{{disabled}}" bindtap="setDefault"
            hover-class="other-button-hover" class="margin-button"> default </button>
    <!--主要的按钮,点击背景没有效果hover-class="none"  -->
    <button type="primary" size="{{primarySize}}" loading="{{loading}}" plain="{{plain}}"
            disabled="{{disabled}}" bindtap="setPrimary" hover-class="none" class="margin-button"> primary </button>
    <!--警告按钮,点击背景有效果hover-class="button-hover" -->
    <button type="warn" size="{{warnSize}}" loading="{{loading}}" plain="{{plain}}"
            disabled="{{disabled}}" bindtap="setWarn" hover-class="button-hover" class="margin-button"> warn </button>
    <button bindtap="setDisabled" class="margin-button">点击设置以上按钮disabled属性</button>
    <button bindtap="setPlain" class="margin-button">点击设置以上按钮plain属性</button>
    <button bindtap="setLoading" class="margin-button">点击设置以上按钮loading属性</button>
    <button bindtap="setSize" class="margin-button">点击设置以上按钮size属性</button>

    ss:

    /** wxss **/
    /** 修改button默认的点击态样式类**/
    .button-hover {
      background-color: yellow;
      opacity: 0.7;
    }
    /** 添加自定义button点击态样式类**/
    .other-button-hover {
      background-color: green;
      opacity: 0.7;
    }
    .margin-button{
        margin-top: 10px;
    }

    js:

    var pageObject = {
      data: {
        defaultSize: 'default',////有效值 default, mini
        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
        })
      },
      //设计按钮名称前是否带 loading 图标
      setLoading: function(e) {
        this.setData({
          loading: !this.data.loading
        })
      },
      //设计按钮的大小
      setSize:function(){
        this.setData({
          defaultSize: this.data.defaultSize=='default' ? 'mini' : 'default',////有效值 default, mini
          primarySize:  this.data.defaultSize=='default' ? 'mini' : 'default',
          warnSize:  this.data.defaultSize=='default' ? 'mini' : 'default',
        })
      },
      setDefault:function(){
          console.log('setDefault....')
      },
      setWarn:function(){
        console.log('setWarn....')
      },
      setPrimary:function(){
        console.log('setPrimary....')
      },
    }
    Page(pageObject)
  • 相关阅读:
    创业公司技术总监,去上市公司面试,结果凉了!
    Java开发最常犯的10个错误,打死都不要犯!
    这 17 个 JVM 参数,高级 Java 必须掌握!
    推荐几个顶级的IT技术公众号,坐稳了!
    Spring Boot 面试,一个问题就干趴下了!(下)
    密码已进入"淘汰"倒计时!
    一条简单的 SQL 执行超过1000ms,纳尼?
    天天用Synchronized,底层原理是个啥?
    为什么很多程序员工作时都戴耳机?
    Java转型大数据开发全套教程,都在这儿!
  • 原文地址:https://www.cnblogs.com/HJQ2016/p/5988721.html
Copyright © 2020-2023  润新知