From 8369b4aa0cb3be6415e68604e536807fc8a4fd8a Mon Sep 17 00:00:00 2001 From: youluna Date: Thu, 28 Feb 2019 23:13:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(NumberPicker):=20consider=20[=E3=80=82]=20?= =?UTF-8?q?as=20[.]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/number-picker/index.jsx | 2 ++ test/number-picker/index-spec.js | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/number-picker/index.jsx b/src/number-picker/index.jsx index cdec7bfd19..bd15ce639c 100644 --- a/src/number-picker/index.jsx +++ b/src/number-picker/index.jsx @@ -151,6 +151,8 @@ class NumberPicker extends React.Component { onChange(value, e) { if (this.props.editable === true) { value = value.trim(); + // Compatible Chinese Input Method + value = value.replace('。', '.'); // ignore space if (this.state.value === value) { return; diff --git a/test/number-picker/index-spec.js b/test/number-picker/index-spec.js index b1baedac6c..c619556b4b 100644 --- a/test/number-picker/index-spec.js +++ b/test/number-picker/index-spec.js @@ -8,6 +8,7 @@ import NumberPicker from '../../src/number-picker/index'; Enzyme.configure({ adapter: new Adapter() }); +/* global describe it */ describe('number-picker', () => { describe('render', () => { it('should accept defaultValue & value', () => { @@ -386,6 +387,19 @@ describe('number-picker', () => { done(); }); + it('should consider [。] as [.]', done => { + const wrapper = mount( + + ); + + wrapper + .find('input') + .simulate('change', { target: { value: '3。9' } }); + assert(wrapper.find('input').prop('value') === 3.9); + + done(); + }); + it('should support onCorrect', done => { const onCorrect = sinon.spy(); const wrapper = mount(