Skip to content

Commit 999373c

Browse files
EnEn
authored andcommitted
demo example
1 parent ec2bb71 commit 999373c

File tree

2 files changed

+97
-5
lines changed

2 files changed

+97
-5
lines changed

docs/basic.md

Lines changed: 97 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,109 @@
1-
基本用法
21

2+
### 基本用法
33
```vue
44
<template>
5-
<vue-get-code/>
5+
<form>
6+
<input placeholder="phone">
7+
<vue-get-code :getCode="getCode"/>
8+
</form>
69
</template>
710
811
<script>
912
export default {
1013
data() {
1114
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+
}
1222
}
1323
}
1424
</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+
```

src/vue-get-code.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,5 +87,3 @@ export default {
8787
}
8888
}
8989
</script>
90-
91-
<style lang="less"></style>

0 commit comments

Comments
 (0)