黔优媒体网-软文媒体自助发稿平台!
  1. 行业资讯
  2. 正文

快速实现一个微信小程序的Button组件

来源:黔优媒体网   时间:2024-09-19

微信小程序存在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中文网其它相关文章!

微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!


【免责申明】黔优媒体网以上展示内容来源于用户自主上传、合作媒体、企业机构或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表黔优媒体网官方立场,请读者仅做参考,本文标题:快速实现一个微信小程序的Button组件;欢迎转载,转载时请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何违法/违规的内容,请您立即联系我们及时修正或删除。(邮箱号: kefu@qianu.com)
此操作需要登录,请先登录~
免费注册会员,尽享国内领先平台!