Skip to content

pntgupta/vue-tel-input

 
 

Repository files navigation

vue-tel-input

International Telephone Input with Vue.

Checkout Demo at Github pages.

In-action GIF

Installation

  • yarn:
      yarn add vue-tel-input
  • npm:
      npm i --save vue-tel-input

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: {
        /**
         * @param {string} number
         * the phone number inputted by user, will be formatted along with country code
         * // Ex: inputted: (AU) 0432 432 432
         * // number = '+61432421546'
         *
         * @param {Boolean} isValid
         * @param {string} country
         */
         onInput({ number, isValid, country }) {
           console.log(number, isValid, country);
         },
      },
    }
    </script>

Props

Property value Type Default value Description
placeholder string Enter a phone number Placeholder for the input
disabledFetchingCountry Boolean false Disable fetching current country based on IP address of user

Events

Property value Arguments Description
onInput Object Fires when the input changes with the argument is the object includes { number, isValid, country }
onBlur Fires on blur event

Highlights & Credits

Demo Usage

# install dependencies
$ yarn/npm install

# compile demo for development
$ yarn/npm dev

# open Browser and start serve in demo
$ yarn/npm demo:open

# compile dist demo
$ yarn/npm dist:demo

# compile dist
$ yarn/npm dist

Contributors

made with ❤ by Steven.

Releases

No releases published

Packages

No packages published

Languages

  • CSS 39.9%
  • JavaScript 37.8%
  • Vue 22.3%