Vue.js 2.x component for Cleave.js
vue-cleave-component
Vue.js component for cleave.js
Features
- Reactive
v-model
value- You can change input value programmatically
- Reactive options
- You can change config options dynamically
- Component will watch for any changes and redraw itself
- You are suggested to modify config via Vue.set
- Compatible with Bootstrap, Bulma or any other CSS framework
- Option to disable
raw
mode to get masked value
Installation
# npm
npm install vue-cleave-component --save
# Yarn
yarn add vue-cleave-component
Usage
<template>
<div>
<cleave v-model="cardNumber" :options="options" class="form-control" name="card"></cleave>
</div>
</template>
<script>
import Cleave from 'vue-cleave-component';
export default {
data () {
return {
cardNumber: null,
options: {
creditCard: true,
delimiter: '-',
}
}
},
components: {
Cleave
}
}
</script>
As plugin
import Vue from 'vue';
import Cleave from 'vue-cleave-component';
Vue.use(Cleave);
This will register a global component <cleave>
Available props
The component accepts these props:
Attribute | Type | Default | Description |
---|---|---|---|
v-model / value | String / Number / null | null |
Set or Get input value (required) |
options | Object | {} |
Cleave.js options |
raw | Boolean | true |
When set to false ; emits formatted value with format pattern and delimiter |
type | String | text |
Set input type; for eg: tel |
Install in non-module environments (without webpack)
- Include required files
<!-- cleave.js -->
<script src="https://unpkg.com/cleave.js@1/dist/cleave.min.js"></script>
<!-- Vue.js -->
<script src="https://unpkg.com/vue@2.5/dist/vue.min.js"></script>
<!-- Lastly add this package -->
<script src="https://unpkg.com/vue-cleave-component"></script>
- Use the component anywhere in your app like this
<main id="app">
<cleave v-model="card" :options="options"></cleave>
</main>
<script>
// Initialize global component
Vue.use(VueCleave);
new Vue({
el: '#app',
data: {
card: null,
options: {
creditCard: true,
}
},
});
</script>
Run examples on your localhost
- Clone this repo
- You should have node-js >=6.10 and yarn >=1.x pre-installed
- Install dependencies
yarn install
- Run webpack dev server
yarn start
- This should open the demo page at
http://localhost:9000
in your default web browser