[bugfix] 修复sku改变后skuMessages没有更新的bug (#627)

This commit is contained in:
wny 2018-02-08 16:59:39 +08:00 committed by GitHub
parent 267390212b
commit ce401de06d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 47 additions and 5 deletions

View File

@ -54,10 +54,16 @@ export default create({
data() {
return {
messageValues: this.messages.map(() => ({ value: '' }))
messageValues: this.resetMessageValues(this.messages)
};
},
watch: {
messages(val) {
this.messageValues = this.resetMessageValues(val);
}
},
computed: {
messagePlaceholderMap() {
return this.messageConfig.placeholderMap || {};
@ -65,6 +71,9 @@ export default create({
},
methods: {
resetMessageValues(messages) {
return (messages || []).map(() => ({ value: '' }));
},
getType(message) {
if (+message.multiple === 1) {
return 'textarea';

View File

@ -219,15 +219,17 @@ describe('Sku', (done) => {
});
it('should not render sku group when none_sku is true', (done) => {
const newData = Object.assign({}, data);
newData.sku.none_sku = true; // eslint-disable-line
const newSku = {
...data.sku,
none_sku: true
};
wrapper = mount(Sku, {
attachToDocument: true,
propsData: {
value: false,
sku: newData.sku,
goodsId: newData.goods_id,
sku: newSku,
goodsId: data.goods_id,
goods: goods
}
});
@ -364,4 +366,35 @@ describe('Sku', (done) => {
});
});
});
it('should reset values when sku change', (done) => {
wrapper = mount(Sku, {
attachToDocument: true,
propsData: {
value: true,
sku: data.sku,
goodsId: data.goods_id,
goods: goods,
resetStepperOnHide: true,
resetSelectedSkuOnHide: true
}
});
const newSku = {
...data.sku,
tree: [],
list: [],
messages: [],
none_sku: true
};
wrapper.vm.sku = newSku;
const skuMessages = wrapper.find(Sku.SkuMessages)[0];
wrapper.vm.$nextTick(() => {
expect(wrapper.vm.selectedSku).to.be.empty;
expect(skuMessages.vm.messageValues).to.be.empty;
done();
});
});
});