我在Ionic 5中使用我的表格。在我保存了一个新的日期之后,当我导航回具有另一个rsv对象的页面时,它仍然显示我刚刚在前一个对象上保存的日期,而不是我选择的对象上的实际日期值。建议。
<ion-label color="medium">
{{'COMMON.CHECKIN_DATE' | translate }}*
</ion-label>
<ion-datetime presentation="date" (ionChange)="callBla()" name="rsv1Begin"
displayFormat="DDD DD MMM YYYY" placeholder="{{rsv.beginDate | date:'EEE, d MMM, y'}}"
[(ngModel)]="rsv.beginDate">
</ion-datetime>
`
在创建新对象之前,选定对象的日期将正确显示。之后,它总是显示我刚刚创建的值。看起来好像组件保留了更改/保存的值,并且在此之后不刷新视图。
1条答案
按热度按时间vh0rcniy1#
嗯,似乎在不同对象之间导航时,先前选择的日期似乎会持续存在。以下是我解决这个问题的方法:
1.刷新或重置
rsv
对象导航到新对象或创建新对象时,请确保重置或刷新
rsv
对象。你可以在生命周期钩子中做到这一点,比如ngOnInit
或ionViewWillEnter
:2.考虑使用响应式表单
与
[(ngModel)]
的双向绑定不同,您可以使用表单控件,它提供了更多的控制:在HTML中:
3.调试
rsv
的生命周期如果问题仍然存在,请添加控制台日志以跟踪
rsv
的生命周期。检查它在何时何地被设置、修改或未按预期更新。如果你发现任何有趣的事情,请告诉我并发表评论。