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

微信小程序存在Button组件

微信小程序原生存在button组件,而且样式也不丑,拓展属性也很多,只要去看文档,一边看一边试,还是很容易构造一个理想的按钮button出来。微信小程序button传送门搭建各类项目系统点我wcqh.cn

但是某些时候可能也会觉得原生button组件配置过于复杂,或者并不满足当前需求,那么就可能需要自定义一个button组件了。

好的,开始

比如想要这样的效果。

拥有五种不同的颜色

拥有三种不同的大小

拥有镂空搭建各类项目系统点我wcqh.cn效果

可以圆角

可以禁用

可以设置图标

上代码

第一步,创建组件

首先打开编辑器,这里就打开微信开发者工具吧,然后创建一个组件,像这样

我这里用的是Vscode然后用到了less,和easyLess插件自动编译le搭建各类项目系统点我wcqh.cnss为wxss样式。

第二步,控制结构和样式

结构中需要注意:

文字应该居中显示,所以此处可能需要使用flex布局方便些

需要预留图标位置,没有设置时,则不显示

需要设置背景颜色控制选项

注意结构和样式对应即可

1搭建各类项目系统点我wcqh.cn

2

3

<button>

<pm-icon></pm-icon>

<slot></slot></button>

登录后复制

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

2搭建各类项目系统点我wcqh.cn7

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

7搭建各类项目系统点我wcqh.cn7

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

.pm-button {

border-radius: 0;

font-weight: normal;

dis搭建各类项目系统点我wcqh.cnplay: flex;

flex-flow: row nowrap;

justify-content: center;

align-items: center;

white-space: nowrap;

}

.p搭建各类项目系统点我wcqh.cnm-button:not([size=mini]) {

width: 0;

}

.pm-button–normal {

width: 80px !important;

height: 40px;

font-si搭建各类项目系统点我wcqh.cnze: 16px;

}

.pm-button–normal.pm-button–round {

border-radius: 40px;

}

.pm-button–small {

width: 60px !搭建各类项目系统点我wcqh.cnimportant;

height: 30px;

font-size: 14px;

}

.pm-button–small.pm-button–round {

border-radius: 30px;

}

.pm搭建各类项目系统点我wcqh.cn-button–mini {

width: 40px !important;

height: 20px;

font-size: 12px;

}

.pm-button–mini.pm-button–roun搭建各类项目系统点我wcqh.cnd {

border-radius: 20px;

}

.pm-button–primary {

background-color: #1989fa;

border: 1px solid #1989fa;

col搭建各类项目系统点我wcqh.cnor: white;

}

.pm-button–primary.pm-button–plain {

color: #1989fa;

}

.pm-button–success {

background-col搭建各类项目系统点我wcqh.cnor: #07c160;

border: 1px solid #07c160;

color: white;

}

.pm-button–success.pm-button–plain {

color: #07搭建各类项目系统点我wcqh.cnc160;

}

.pm-button–danger {

background-color: #ee0a24;

border: 1px solid #ee0a24;

color: white;

}

.pm-butt搭建各类项目系统点我wcqh.cnon–danger.pm-button–plain {

color: #ee0a24;

}

.pm-button–warning {

background-color: #ff976a;

border: 搭建各类项目系统点我wcqh.cn1px solid #ff976a;

color: white;

}

.pm-button–warning.pm-button–plain {

color: #ff976a;

}

.pm-button–de搭建各类项目系统点我wcqh.cnfault {

background-color: #ffffff;

border: 1px solid #ebedf0;

color: black;

}

.pm-button–primary:active,搭建各类项目系统点我wcqh.cn

.pm-button–success:active,

.pm-button–danger:active,

.pm-button–warning:active,

.pm-button–default:搭建各类项目系统点我wcqh.cnactive {

opacity: 0.8;

}

.pm-button–default:active {

background-color: #ebedf0;

}

.pm-button–plain {

back搭建各类项目系统点我wcqh.cnground-color: transparent;

}

.pm-button–plain:active {

opacity: 1!important;

background-color: #ebedf0;搭建各类项目系统点我wcqh.cn

}

.pm-button–disabled {

opacity: 0.6;

}

.pm-button–disabled:active {

opacity: 0.6 !important;

}

.pm-butto搭建各类项目系统点我wcqh.cnn–disabled.pm-button–plain:active,

.pm-button–disabled.pm-button–default:active {

background-color搭建各类项目系统点我wcqh.cn: transparent;

}

登录后复制
第三步,逻辑处理

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

Component({

/**

* 组件的搭建各类项目系统点我wcqh.cn属性列表

*/

properties: {

size: {

type: String,

value: &#39;normal&#39;

},

type: {

type: String,

value: &#39;prim搭建各类项目系统点我wcqh.cnary&#39;

},

plain: Boolean,

disabled: Boolean,

round: Boolean,

cStyle: String,

icon: String,

iconColor: Str搭建各类项目系统点我wcqh.cning,

iconSize: String

},

/**

* 组件的方法列表

*/

methods: {

clickHandler() {

!this.data.disabled && this.triggerEve搭建各类项目系统点我wcqh.cnnt(&#39;click&#39;, {})

}

}

})

登录后复制

推荐教程:《微信小程序

以上就是快速实现一个微信小程序的Button组件的详细内容,更多请关注php中文网其它相关文章!

© 版权声明
THE END
喜欢就支持一下吧
点赞124 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容