Skip to content

mirjalol-norkulov/vue3-headless-tel-input

Repository files navigation

Vue 3 headless tel input docs

Installation

With npm

npm install vue3-headless-tel-input

With yarn

yarn add vue3-headless-tel-input

Official documentation

Usage

Import composable and give returned ref to the input

import { useTelInput } from "vue3-headless-tel-input"

const {
  inputRef, 
  countries, selectedCountry, selectedCountryObject, 
  value, unmaskedValue 
} = useTelInput(input)

Template part

<template>
  <div>
    <select v-model="selectedCountry">
      <option v-for="country in countries" :key="country.code" :value="country.code">
        {{ country.callingCode }}
      </option>
    </select>
    <input ref="inputRef" />
  </div>
</template>

Vue component example with v-model

<script setup>
import { toRef, watch } from "vue"
import { useTelInput } from "vue3-headless-tel-input"

const props = defineProps({
  modelValue: String,
  default: undefined
});
const emit = defineEmit(["update:model-value"])

const value = toRef(props, "modelValue");

const { inputRef, selectedCountry, selectedCountryObject, unmaskedValue } = useTelInput(value);

watch(unmaskedValue, () => {
  emit("update:model-value", unmaskedValue.value);
});
</script>
<template>
  <div>
    <select v-for="country in countries" :key="country.code" v-model="selectedCountry">
      <option :value="country.code">
        {{ country.name.common }} {{ country.callingCode }}
      </option>
    </select>
    <input ref="inputRef" />
  </div>
</template>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published