vue-tel-input
International Telephone Input with Vue.
Checkout Demo at Github pages.
Installation
Usage
-
Import default CSS
to your project:
import 'vue-tel-input/dist/vue-tel-input.css';
-
Install as a global component:
import Vue from 'vue'
import VueTelInput from 'vue-tel-input'
Vue.use(VueTelInput)
-
In your component:
<template>
...
<vue-tel-input v-model="phone"
@onInput="onInput"
<!-- optional -->
:preferredCountries="['us', 'gb', 'ua']">
</vue-tel-input>
...
<template>
<script>
export default {
data() {
return {
phone: '',
};
},
methods: {
onInput({ number, isValid, country }) {
console.log(number, isValid, country);
},
},
}
</script>
-
Add a component with vue-form-generator
's abstractField
<template>
<vue-tel-input v-model="value"></vue-tel-input>
</template>
<script>
import VueTelInput from 'vue-tel-input'
import { abstractField } from 'vue-form-generator';
export default {
name: 'TelephoneInput',
mixins: [abstractField],
components: {
VueTelInput,
},
};
</script>
-
Register the new field as a global component
import Vue from 'vue';
import TelInput from '<path>/tel-input.vue';
import 'vue-tel-input/dist/vue-tel-input.css';
Vue.component('field-tel-input', TelInput);
-
Now it can be used as tel-input
in schema of vue-form-generator
var schema: {
fields: [{
type: "tel-input",
label: "Awesome (tel input)",
model: "telephone"
}]
};
Read more on vue-form-generator
's instruction page
Props
Property value | Type | Default value | Description |
---|
defaultCountry | string | '' | Default country, will override the country fetched from IP address of user |
disabledFetchingCountry | Boolean | false | Disable fetching current country based on IP address of user |
disabled | Boolean | false | Disable input field |
placeholder | string | Enter a phone number | Placeholder for the input |
required | Boolean | false | Required property for HTML5 required attribute |
enabledFlags | Boolean | true | Enable flags in the input |
preferredCountries | Array | [] | Preferred countries list, will be on top of the dropdown. ie ['AU', 'BR'] |
onlyCountries | Array | [] | List of countries will be shown on the dropdown. ie ['AU', 'BR'] |
ignoredCountries | Array | [] | List of countries will NOT be shown on the dropdown. ie ['AU', 'BR'] |
Events
Property value | Arguments | Description |
---|
onInput | Object | Fires when the input changes with the argument is the object includes { number, isValid, country } |
onValidate | Object | Fires when the correctness of the phone number changes (from true to false or vice-versa) and when the component is mounted { number, isValid, country } |
onBlur | | Fires on blur event |
Highlights & Credits
Demo Usage
$ yarn/npm install
$ yarn/npm dev
$ yarn/npm demo:open
$ yarn/npm dist:demo
$ yarn/npm dist
Contributors
made with ❤ by Steven.