1.0.4 • Published 5 years ago

vue-intl-telephone-input v1.0.4

Weekly downloads
4
License
ISC
Repository
github
Last release
5 years ago

vue-intl-telephone-input

Vue component for input international telephone numbers and validating.

Demo

Installation

  • yarn:
      yarn add vue-intl-telephone-input
  • npm:
      npm i --save vue-intl-telephone-input

Usage

  • Install as a global component:

    import IntlTelInput from 'vue-intl-telephone-input';
    
    Vue.component('intl-tel-input', IntlTelInput);
  • In your page component:

    <template>
    ...
       <intl-tel-input :countryCode="'tw'" @validateSuccess="onSuccess"></intl-tel-input>
    ...
    <template>
    <script>
    export default {
      data() {
        return {
          phone: '',
        };
      },
      methods: {
        /**
         * @param {string} number
         * @param {string} countryCode
         */
         onSuccess({ number, countryCode }) {
           console.log(number, countryCode);
         }
      },
    }
    </script>
  • Import in single component:

    <template>
      <intl-tel-input :countryCode="'tw'"></intl-tel-input>
    </template>
    
    <script>
    import IntlTelInput from 'vue-intl-telephone-input';
    
    export default {
      name: 'Home',
      components: {
        IntlTelInput,
      }
    };
    </script>

Props

Property valueTypeDefault valueDescription
countryCodeString'tw'Default country. ex: 'tw', 'jp', 'kr'
dialCodeString''Enter a country dial code. ex: '886', '81', '82'
valueString''Enter a phone number
optionsObject{}Custom Options
options.classNameString''Set custom css class name
options.inputObjectSet input attribute
options.input.requiredBooleanfalseRequired property for HTML5 required attribute
options.input.readonlyBooleanfalseSet readonly attribute
options.input.placeholderString''Set placeholder attribute
參數型態預設值描述
countryCodeString'tw'預設國家代碼 ex: 'tw', 'jp', 'kr'
dialCodeString''國際碼 ex: '886', '81', '82'
valueString''電話號碼
optionsObject{}客制選項
options.classNameString''設置客制 css class 名稱
options.inputObject設定 input 的屬性
options.input.requiredBooleanfalse是否為必填
options.input.readonlyBooleanfalse是否為不能更改
options.input.placeholderString''設定預設顯示字串

Events

Property valueArgumentsDescription
validateSuccessObjectFires when the input changes on validate success with the argument is the object includes { number, countryCode }
validateErrorFires when the input changes on validate error
事件名稱參數型別描述
validateSuccessObject電話格式正確時觸發,會回傳 { number, countryCode }
validateError電話格式錯誤時觸發,不會回傳任何參數

Override Style

  • you can set options.className :

    <template>
    ...
      <intl-tel-input :options="otipns"></intl-tel-input>
    ...
    <template>
    <script>
      export default {
        data() {
          return {
            otipns: {
              className: 'my-style'
            }
          };
        }
      }
    </script>
    <style>
      .intl-tel-input.my-style .conutry-list .category-box .category-box-header {
        background-color: #3f51b5;
      }
    </style>