Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork359
International Telephone Input with Vue
License
iamstevendao/vue-tel-input
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
International Telephone Input with Vue.
vue-tel-input@legacy:Guide
Install the plugin:
npm install vue-tel-input
Add the plugin into your app:
importVuefrom'vue';importVueTelInputfrom'vue-tel-input';import'vue-tel-input/vue-tel-input.css';constapp=createApp(App);app.use(VueTelInput);app.mount('#app');
Use the
vue-tel-inputcomponent:<template><vue-tel-inputv-model="phone"></vue-tel-input></template>
npm install vue-tel-input
Install the plugin into Vue:
import{createApp}from'vue';importAppfrom'./App.vue';importVueTelInputfrom'vue-tel-input';import'vue-tel-input/vue-tel-input.css';constglobalOptions={mode:'auto',};constapp=createApp(App);app.use(VueTelInput,globalOptions);// Define default global options here (optional)app.mount('#app');
View all available options inProps.
Or use the component directly:
<template><vue-tel-inputv-model="phone"mode="international"></vue-tel-input></template><script>import{ref}from'vue';import{VueTelInput}from'vue-tel-input';import'vue-tel-input/vue-tel-input.css';exportdefault{components:{ VueTelInput,},setup(){constphone=ref(null);return{ value,};},};</script>
<scriptsrc="https://unpkg.com/vue-tel-input"></script><linkrel="stylesheet"href="https://unpkg.com/vue-tel-input/dist/vue-tel-input.css"/>
If Vue is detected in the Page, the plugin is installed automatically.
** Otherwise, manually install the plugin into Vue:
app.use(window['vue-tel-input']);
Since the library is about 200kb of JavaScript and 100kb of CSS in order to improve initial page loading time you might consider importing it asynchronously only when user navigates to the page where the library is actually needed. The technique is calledLazy Load and you can use it in some modern bundlers like Webpack and Rollup.
<!-- your-component.vue--><template><vue-tel-inputv-model="value"></vue-tel-input></template><script>constVueTelInput=()=>Promise.all([import(/* webpackChunkName: "chunk-vue-tel-input" */'vue-tel-input'),import(/* webpackChunkName: "chunk-vue-tel-input" */'vue-tel-input/vue-tel-input.css'),]).then(([{ VueTelInput}])=>VueTelInput);exportdefault{components:{ VueTelInput,},};</script>
As you see, we don't use Vue SFC<style></style> tag here to import component's css as it would result in CSS going to the main/vendors bundle instead of being downloaded on demand.
Clone the project
git clone https://github.com/iamstevendao/vue-tel-input.git
Go to the project directory
cd vue-tel-inputInstall dependencies
npm install
Start the server
npm run dev
Copyright (c) 2018 Steven Dao.Released under theMIT License.
made with ❤ bySteven.
About
International Telephone Input with Vue
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
