File tree Expand file tree Collapse file tree 2 files changed +97
-5
lines changed Expand file tree Collapse file tree 2 files changed +97
-5
lines changed Original file line number Diff line number Diff line change 1
- 基本用法
2
1
2
+ ### 基本用法
3
3
``` vue
4
4
<template>
5
- <vue-get-code/>
5
+ <form>
6
+ <input placeholder="phone">
7
+ <vue-get-code :getCode="getCode"/>
8
+ </form>
6
9
</template>
7
10
8
11
<script>
9
12
export default {
10
13
data() {
11
14
return {}
15
+ },
16
+ methods: {
17
+ // 调用获取验证码的接口,此函数请返回 Promise 对象
18
+ getCode () {
19
+ let mockApi = 'https://cdn.jsdelivr.net/npm/vue@2/package.json'
20
+ return fetch(mockApi)
21
+ }
12
22
}
13
23
}
14
24
</script>
15
- ```
25
+
26
+ <style>
27
+ .vue-get-code {
28
+ color: #1673b1;
29
+ }
30
+ </style>
31
+ ```
32
+
33
+ ### 配置倒计时为120秒
34
+ ``` vue
35
+ <template>
36
+ <form>
37
+ <input placeholder="phone">
38
+ <vue-get-code :getCode="getCode" :interval="120" />
39
+ </form>
40
+ </template>
41
+
42
+ <script>
43
+ export default {
44
+ data() {
45
+ return {}
46
+ },
47
+ methods: {
48
+ getCode () {
49
+ let mockApi = 'https://cdn.jsdelivr.net/npm/vue@2/package.json'
50
+ return fetch(mockApi)
51
+ }
52
+ }
53
+ }
54
+ </script>
55
+
56
+ <style>
57
+ .vue-get-code {
58
+ color: #1673b1;
59
+ }
60
+ </style>
61
+ ```
62
+
63
+ ### 高级:配置默认文字、倒计时文字、表单验证与获取验证码结合
64
+ ``` vue
65
+ <template>
66
+ <form>
67
+ <input v-model="form.phone" placeholder="phone">
68
+
69
+ <vue-get-code :getCode="getCode" :interval="120" :disable="!form.phone">
70
+ <template v-slot:default>获取验证码(输入手机后才能点击获取验证码)</template>
71
+ <template v-slot:countdown="child">
72
+ 请等待{{ child.data.interval - child.data.seconds }}秒
73
+ </template>
74
+ </vue-get-code>
75
+ </form>
76
+ </template>
77
+
78
+ <script>
79
+ export default {
80
+ data() {
81
+ return {
82
+ form: {
83
+ phone: '',
84
+ }
85
+ }
86
+ },
87
+ methods: {
88
+ getCode () {
89
+ if (this.form.phone.length < 7) {
90
+ alert('请填写正确的手机号码')
91
+ throw '请填写正确的手机号码' // 抛出错误,中断 Promise chain
92
+ }
93
+
94
+ let mockApi = 'https://cdn.jsdelivr.net/npm/vue@2/package.json'
95
+ return fetch(mockApi)
96
+ }
97
+ }
98
+ }
99
+ </script>
100
+
101
+ <style>
102
+ .vue-get-code {
103
+ color: #1673b1;
104
+ }
105
+ .vue-get-code.disable {
106
+ color: gray;
107
+ }
108
+ </style>
109
+ ```
Original file line number Diff line number Diff line change @@ -87,5 +87,3 @@ export default {
87
87
}
88
88
}
89
89
</script >
90
-
91
- <style lang="less"></style >
You can’t perform that action at this time.
0 commit comments