diff --git a/packages/image-preview/src/image-preview.js b/packages/image-preview/src/image-preview.js index 5840d8d5e..a2a60141f 100644 --- a/packages/image-preview/src/image-preview.js +++ b/packages/image-preview/src/image-preview.js @@ -16,6 +16,7 @@ var ImagePreviewBox = images => { initInstance(); } + /* istanbul ignore else */ if (!instance.value) { instance.images = images; diff --git a/packages/picker/src/picker-column.vue b/packages/picker/src/picker-column.vue index 876b9bb9e..6daeefd48 100644 --- a/packages/picker/src/picker-column.vue +++ b/packages/picker/src/picker-column.vue @@ -69,10 +69,14 @@ export default { this.currentValues = val; }, currentValues(val) { + /* istanbul ignore else */ if (this.valueIndex === -1) { this.currentValue = (val || [])[0]; } }, + value(val) { + this.currentValue = val; + }, currentValue(val) { this.doOnValueChange(); diff --git a/test/unit/specs/pciker.spec.js b/test/unit/specs/pciker.spec.js index a229a9599..ff320a182 100644 --- a/test/unit/specs/pciker.spec.js +++ b/test/unit/specs/pciker.spec.js @@ -170,6 +170,25 @@ describe('PickerColumn', () => { expect(wrapper.vm.dragRange[1]).to.equal(2 * itemHeight); }); + it('change picker-column value', (done) => { + wrapper = mount(PickerColumn, { + propsData: { + values: [1, 2, 3, 4, 5], + value: 1 + } + }); + + expect(wrapper.hasClass('van-picker-column')).to.be.true; + expect(wrapper.vm.values.length).to.equal(5); + + wrapper.vm.value = 3; + wrapper.update(); + wrapper.vm.$nextTick(() => { + expect(wrapper.vm.currentValue).to.equal(3); + done(); + }); + }); + it('change picker-column values', (done) => { wrapper = mount(PickerColumn);