如何动态添加日期到Ionic ion-datetime

drnojrws  于 2023-09-28  发布在  Ionic
关注(0)|答案(2)|浏览(193)

我正在尝试使用离子日期时间创建一个离子日历。在它我想标记几个日期的月份视图。这些日期通过API检索。这里的问题是,当我从API收到日期时,日历已经绘制好了。如果我以编程方式添加日期,它们将按预期添加。我使用以下代码:

async ngOnInit() {
    this.highlightedDates.push({ date: '2023-09-06', textColor: '#ffffff', backgroundColor: '#ff7f00' });
    this.token = await this.storage.get('token');
    this.getDates(JSON.stringify(this.token)).subscribe(data => {
    for (let i=0; i<data.dates.date.length; i++) {
      this.highlightedDates.push({ date: data.dates.date[i], textColor: '#ffffff', backgroundColor: '#ff7f00' });
    }
    console.log(this);
  }

在控制台中,我可以看到几个日期,但日历上只显示了这个月的6号。如何在日历上反映所有日期?我使用的是最新的Ionic版本(7.4.0)。

eqqqjvef

eqqqjvef1#

我终于让它工作了。除了要突出显示的日期外,我还将边界值添加到API响应中。那不管用因此,我现在在代码本身中计算边界,并只在API中传递日期。还必须将代码从ngOnInit移动到ionViewDidEnter。边界似乎适用于ngOnInit,而不是ionViewDidEnter,对于日期则相反。

mrzz3bfm

mrzz3bfm2#

for (let i=0; i<data.dates.date.length; i++) {
      this.highlightedDates.push({ date: data.dates.date[i], textColor: '#ffffff', backgroundColor: '#ff7f00' });
    }

你是在问
data.dates.date.length
也就是一个月所以你只能得到
2023-09-06

data.dates.length
在你的循环中
(我想)

相关问题