搜尋
首頁微信小程式微信開發快速實作一個微信小程式的Button元件

快速實作一個微信小程式的Button元件

Jun 28, 2020 am 10:19 AM
微信小程式

微信小程式存在Button元件

微信小程式原生存在Button元件,而且樣式也不醜,拓展屬性也很多,只要去看文檔,一邊看一邊試,還是很容易建構一個理想的按鈕Button出來。微信小程式Button傳送門。
但某些時候可能也會覺得原生Button元件配置過於複雜,或是不滿足當前需求,那麼就可能需要自訂一個Button元件了。

好的,開始

例如想要這樣的效果。

快速實作一個微信小程式的Button元件有五種不同的顏色

  • 有三種不同的大小

  • 擁有鏤空效果

  • 可以圓角

  • 可以停用

  • 可以設定圖示

#上程式碼

第一步,建立元件

先開啟編輯器,這裡就開啟微信開發者工具吧,然後建立一個元件,像這樣

快速實作一個微信小程式的Button元件

#我這裡用的是Vscode然後用到了less,和easyLess外掛程式自動編譯less為wxss樣式。

第二步,控制結構和樣式

結構中需要注意:

  • #文字應該居中顯示,所以此處可能需要使用flex佈局方便些

  • 需要預留圖示位置,沒有設定時,則不顯示

  • 需要設定背景顏色控制選項

  • 注意結構和樣式對應即可

<button>
  <pm-icon></pm-icon>
  <slot></slot>
</button>
.pm-button {
  border-radius: 0;
  font-weight: normal;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
}
.pm-button:not([size='mini']) {
  width: 0;
}
.pm-button--normal {
  width: 80px !important;
  height: 40px;
  font-size: 16px;
}
.pm-button--normal.pm-button--round {
  border-radius: 40px;
}
.pm-button--small {
  width: 60px !important;
  height: 30px;
  font-size: 14px;
}
.pm-button--small.pm-button--round {
  border-radius: 30px;
}
.pm-button--mini {
  width: 40px !important;
  height: 20px;
  font-size: 12px;
}
.pm-button--mini.pm-button--round {
  border-radius: 20px;
}
.pm-button--primary {
  background-color: #1989fa;
  border: 1px solid #1989fa;
  color: white;
}
.pm-button--primary.pm-button--plain {
  color: #1989fa;
}
.pm-button--success {
  background-color: #07c160;
  border: 1px solid #07c160;
  color: white;
}
.pm-button--success.pm-button--plain {
  color: #07c160;
}
.pm-button--danger {
  background-color: #ee0a24;
  border: 1px solid #ee0a24;
  color: white;
}
.pm-button--danger.pm-button--plain {
  color: #ee0a24;
}
.pm-button--warning {
  background-color: #ff976a;
  border: 1px solid #ff976a;
  color: white;
}
.pm-button--warning.pm-button--plain {
  color: #ff976a;
}
.pm-button--default {
  background-color: #ffffff;
  border: 1px solid #ebedf0;
  color: black;
}
.pm-button--primary:active,
.pm-button--success:active,
.pm-button--danger:active,
.pm-button--warning:active,
.pm-button--default:active {
  opacity: 0.8;
}
.pm-button--default:active {
  background-color: #ebedf0;
}
.pm-button--plain {
  background-color: transparent;
}
.pm-button--plain:active {
  opacity: 1!important;
  background-color: #ebedf0;
}
.pm-button--disabled {
  opacity: 0.6;
}
.pm-button--disabled:active {
  opacity: 0.6 !important;
}
.pm-button--disabled.pm-button--plain:active,
.pm-button--disabled.pm-button--default:active {
  background-color: transparent;
}

第三步,邏輯處理

Component({
  /**
   * 组件的属性列表
   */
  properties: {
    size: {
      type: String,
      value: &#39;normal&#39;
    },
    type: {
      type: String,
      value: &#39;primary&#39;
    },
    plain: Boolean,
    disabled: Boolean,
    round: Boolean,
    cStyle: String,
    icon: String,
    iconColor: String,
    iconSize: String
  },

  /**
   * 组件的方法列表
   */
  methods: {
    clickHandler() {
      !this.data.disabled && this.triggerEvent(&#39;click&#39;, {})
    }
  }
})

推薦教程:《微信小程序

以上是快速實作一個微信小程式的Button元件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:简书。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。