fix(ai-pick): cardData 变化时重建 Model,对齐 Vue setCardData
This commit is contained in:
@@ -17,10 +17,21 @@ export struct AiPick {
|
|||||||
card_title: { value: '' },
|
card_title: { value: '' },
|
||||||
bury_point: '',
|
bury_point: '',
|
||||||
};
|
};
|
||||||
|
// 初值用 placeholder cardData 占位(仅类型占位,实际值由 aboutToAppear 用真实 cardData 创建)
|
||||||
@State vm: AiPickModel = new AiPickModel(this.cardData);
|
@State vm: AiPickModel = new AiPickModel(this.cardData);
|
||||||
@State tabIdx: number = 0;
|
@State tabIdx: number = 0;
|
||||||
|
|
||||||
aboutToAppear(): void {
|
aboutToAppear(): void {
|
||||||
|
this.vm = new AiPickModel(this.cardData);
|
||||||
|
this.vm.loadData();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 对应 Vue 端 watch(() => props.cardData, () => cardHandler.value.setCardData(...))
|
||||||
|
// 父组件传入不同卡片配置时,重新构造 Model 并重新加载数据
|
||||||
|
@Watch('cardData')
|
||||||
|
onCardDataChanged(): void {
|
||||||
|
this.vm = new AiPickModel(this.cardData);
|
||||||
|
this.tabIdx = 0;
|
||||||
this.vm.loadData();
|
this.vm.loadData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user