diff --git a/src/vue-numeric.vue b/src/vue-numeric.vue index 5a167cf..de6e941 100644 --- a/src/vue-numeric.vue +++ b/src/vue-numeric.vue @@ -270,6 +270,13 @@ export default { separator () { this.process(this.valueNumber) this.amount = this.format(this.valueNumber) + }, + /** + * Immediately reflect currency changes + */ + currency () { + this.process(this.valueNumber) + this.amount = this.format(this.valueNumber) } }, diff --git a/test/specs/vue-numeric.spec.js b/test/specs/vue-numeric.spec.js index 7059361..5576d83 100644 --- a/test/specs/vue-numeric.spec.js +++ b/test/specs/vue-numeric.spec.js @@ -212,4 +212,10 @@ describe('vue-numeric.vue', () => { wrapper.setProps({ separator: '.' }) expect(wrapper.data().amount).to.equal('2.000') }) + + it('apply new currency prop immediately if it is changed', () => { + const wrapper = mount(VueNumeric, { propsData: { value: 0, currency: '$' } }) + wrapper.setProps({ currency: 'USD' }) + expect(wrapper.data().amount).to.equal('USD 0') + }) })