mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
[bugfix] 修复sku改变后skuMessages没有更新的bug (#627)
This commit is contained in:
parent
267390212b
commit
ce401de06d
@ -54,10 +54,16 @@ export default create({
|
|||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
messageValues: this.messages.map(() => ({ value: '' }))
|
messageValues: this.resetMessageValues(this.messages)
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
watch: {
|
||||||
|
messages(val) {
|
||||||
|
this.messageValues = this.resetMessageValues(val);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
messagePlaceholderMap() {
|
messagePlaceholderMap() {
|
||||||
return this.messageConfig.placeholderMap || {};
|
return this.messageConfig.placeholderMap || {};
|
||||||
@ -65,6 +71,9 @@ export default create({
|
|||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
resetMessageValues(messages) {
|
||||||
|
return (messages || []).map(() => ({ value: '' }));
|
||||||
|
},
|
||||||
getType(message) {
|
getType(message) {
|
||||||
if (+message.multiple === 1) {
|
if (+message.multiple === 1) {
|
||||||
return 'textarea';
|
return 'textarea';
|
||||||
|
@ -219,15 +219,17 @@ describe('Sku', (done) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should not render sku group when none_sku is true', (done) => {
|
it('should not render sku group when none_sku is true', (done) => {
|
||||||
const newData = Object.assign({}, data);
|
const newSku = {
|
||||||
newData.sku.none_sku = true; // eslint-disable-line
|
...data.sku,
|
||||||
|
none_sku: true
|
||||||
|
};
|
||||||
|
|
||||||
wrapper = mount(Sku, {
|
wrapper = mount(Sku, {
|
||||||
attachToDocument: true,
|
attachToDocument: true,
|
||||||
propsData: {
|
propsData: {
|
||||||
value: false,
|
value: false,
|
||||||
sku: newData.sku,
|
sku: newSku,
|
||||||
goodsId: newData.goods_id,
|
goodsId: data.goods_id,
|
||||||
goods: goods
|
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();
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user