From 377060e11ab97deb08eb252f334dd96140c814af Mon Sep 17 00:00:00 2001 From: neverland Date: Fri, 26 Apr 2019 11:36:25 +0800 Subject: [PATCH] [bugfix] Area: change event values incorrect (#3219) --- packages/area/index.js | 2 +- packages/area/test/index.spec.js | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/area/index.js b/packages/area/index.js index b2848f545..0829b466a 100644 --- a/packages/area/index.js +++ b/packages/area/index.js @@ -110,7 +110,7 @@ export default sfc({ onChange(picker, values, index) { this.code = values[index].code; this.setValues(); - this.$emit('change', picker, values, index); + this.$emit('change', picker, picker.getValues(), index); }, setValues() { diff --git a/packages/area/test/index.spec.js b/packages/area/test/index.spec.js index b56fde89a..052f4b8d8 100644 --- a/packages/area/test/index.spec.js +++ b/packages/area/test/index.spec.js @@ -8,6 +8,12 @@ const firstOption = [ { code: '110101', name: '东城区' } ]; +const secondOption = [ + { code: '120000', name: '天津市' }, + { code: '120100', name: '天津市' }, + { code: '120101', name: '和平区' } +]; + test('confirm & cancel event', async () => { const onConfirm = jest.fn(); const onCancel = jest.fn(); @@ -50,9 +56,13 @@ test('watch areaList & code', async () => { }); test('change option', () => { + const onChange = jest.fn(); const wrapper = mount(Area, { propsData: { areaList + }, + listeners: { + change: onChange } }); @@ -62,6 +72,7 @@ test('change option', () => { expect(wrapper).toMatchSnapshot(); triggerDrag(columns.at(2), 0, -100); expect(wrapper).toMatchSnapshot(); + expect(onChange.mock.calls[0][1]).toEqual(secondOption); }); test('getValues method', () => {