diff --git a/entry/src/main/ets/ai-pick/AiPick.ets b/entry/src/main/ets/ai-pick/AiPick.ets index fc192e4..e52e49c 100644 --- a/entry/src/main/ets/ai-pick/AiPick.ets +++ b/entry/src/main/ets/ai-pick/AiPick.ets @@ -17,10 +17,21 @@ export struct AiPick { card_title: { value: '' }, bury_point: '', }; + // 初值用 placeholder cardData 占位(仅类型占位,实际值由 aboutToAppear 用真实 cardData 创建) @State vm: AiPickModel = new AiPickModel(this.cardData); @State tabIdx: number = 0; 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(); }