Currency Input
<CurrencyInput /> Creates an input that gets masked as currency, in React.
Note: Dollar sign and styling not included
i.e.,
Entering a 1 shows: $0.01.
Entering 11 shows: $0.11.
Entering 110 shows: $1.10.
And so on.
Usage
Install via npm: npm install react-currency-masked-input.
It accepts all properties you'd normally set on an input, so:
// your standard input render() { return <input name="myInput" placeholder="0" required /> }Becomes a matter of simply replacing the tag to CurrencyInput:
// with a currency mask import CurrencyInput from 'react-currency-masked-input' //... render() { return <CurrencyInput name="myInput" required /> }Props
| Prop | Description | Values | Default |
|---|---|---|---|
separator | The character use as a decimal point | ., , | . |
Usage notes:
- renders an input with
type="number"andpattern="\d*", but will override those props if you pass them in. - Will use the
defaultValueprop passed in as an initial value, but will take over from there. - Will become a controlled input if/when
props.valueis passed to it. - Calls
onChangeprop after updating its internal value. First argument is the original event, the second is the masked value. - Sets the input value on the component instance, so you can reference it on a ref, e.g.,
myComponent.refs.input.value, as you would with a normal ref.
Development
-
yarn- install local dependencies -
npm run bundle- compiles source code to ./react-currency-masked-input.js
Testing
-
npm test- Runs the unit tests in watch mode -
npm run test:ci- Runs the tests once; useful in CI.
