Home

Awesome

vue-numeric

npm npm npm Node.js CI Codecov npm

Input field component to display a formatted currency value based on Vue.

Live Demo

Works with Vue 2.*

Installation

Install via CDN

<script src="https://unpkg.com/accounting-js"></script>
<script src="https://unpkg.com/vue"></script>
<script src="https://unpkg.com/vue-numeric"></script>

<script>
  Vue.use(VueNumeric.default)
</script>

Install via NPM

$ npm install vue-numeric --save

Register as Component

import Vue from 'vue'
import VueNumeric from 'vue-numeric'

export default {
  name: 'App',

  components: {
    VueNumeric
  }
}

Register as Plugin

import Vue from 'vue'
import VueNumeric from 'vue-numeric'

Vue.use(VueNumeric)

Usage

screen shot 2016-12-08 at 2 19 31 pm

Quick example

<template>
  <vue-numeric currency="$" separator="," v-model="price"></vue-numeric>
</template>

<script>
import VueNumeric from 'vue-numeric'

export default {
  name: 'App',

  components: {
    VueNumeric
  },

  data: () => ({
    price: ''
  }),
}
</script>

Currency symbol

Set the currency prop to add a currency symbol within the input.

<vue-numeric currency="$"></vue-numeric>

Minimum & maximum constraint

Limit the minimum and maximum value by using min and max props.

<vue-numeric v-bind:min="2000" v-bind:max="10000"></vue-numeric>

Disable/enable negative values

minus defaults to false (no negative numbers).

<vue-numeric v-bind:minus="false"></vue-numeric>

Enable decimal precision

By default the decimal value is disabled. To use decimals in the value, add the precision prop.

<vue-numeric v-bind:precision="2"></vue-numeric>

Thousands separator

<vue-numeric separator="."></vue-numeric>

Input placeholder when empty

<vue-numeric placeholder="only number allowed"></vue-numeric>

Value when empty

By default, when you clean the input the value is set to 0. You can change this value to fit your needs.

<vue-numeric :empty-value="1"></vue-numeric>

Output Type

By default the value emitted for the input event is of type Number. However you may choose to get a String instead by setting the property output-type to String.

<vue-numeric output-type="String"></vue-numeric>

Props

PropsDescriptionRequiredTypeDefault
currencyCurrency prefixfalseString-
currency-symbol-positionPosition of the symbol (accepted values: prefix or suffix)falseStringprefix
maxMaximum value allowedfalseNumber9007199254740991
minMinimum value allowedfalseNumber-9007199254740991
minusEnable/disable negative valuesfalseBooleanfalse
placeholderInput placeholderfalseString-
empty-valueValue when input is emptyfalseNumber0
output-typeOutput Type for input eventfalseStringNumber
precisionNumber of decimalsfalseNumber-
separatorThousand separator symbol (accepts space, . or ,)falseString,
decimal-separatorCustom decimal separatorfalseString-
thousand-separatorCustom thousand separatorfalseString-
read-onlyHide input field and show the value as textfalseBooleanfalse
read-only-classClass for read-only elementfalseString''
allow-clearUse input type searchfalseBooleanfalse

License

Vue-Numeric is open-sourced software licensed under the MIT license

Support

Hello, I'm Kevin the maintainer of this project in my free time (which is getting lessen these days), if this project does help you in any way please consider to support me. Thanks :smiley: