Skip to content

Commit aa4953a

Browse files
committed
feat(parse phone): auto reconize country code & national number
1 parent 86cf055 commit aa4953a

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

src/App.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@
168168
class="mb-2"
169169
@update="onUpdate3"
170170
/>
171-
<b>v-model</b> : {{ phoneNumber2 }}
171+
<b>v-model</b> : {{ phoneNumber3 }}
172172
<br>
173173
<b>Current country code</b> : {{ defaultCountry }}
174174
</div>

src/VuePhoneNumberInput/index.vue

+16-1
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@
151151
return this.value
152152
},
153153
set (newPhone) {
154-
this.emitValues({countryCode: this.countryCode, phoneNumber: newPhone})
154+
this.emitValues({ countryCode: this.countryCode, phoneNumber: newPhone })
155155
}
156156
},
157157
shouldChooseCountry () {
@@ -205,6 +205,21 @@
205205
defaultCountryCode (newValue, oldValue) {
206206
if (newValue === oldValue) return
207207
this.setLocale(newValue)
208+
},
209+
phoneNumber: {
210+
handler (newValue, oldValue) {
211+
// init component (countryCode & phoneNumber) if phone number is provide
212+
if (newValue && (newValue !== oldValue)) {
213+
const phoneNumber = parsePhoneNumberFromString(newValue)
214+
if (phoneNumber) {
215+
this.emitValues({
216+
phoneNumber: phoneNumber.nationalNumber,
217+
countryCode: this.countryCode ? this.countryCode : phoneNumber.country
218+
})
219+
}
220+
}
221+
},
222+
immediate: true
208223
}
209224
},
210225
async mounted () {

0 commit comments

Comments
 (0)