【问题标题】:nativescript-angular - radcalendar - keep today's date selectednativescript-angular - radcalendar - 选择今天的日期
【发布时间】:2020-09-04 02:03:35
【问题描述】:

我已经在我的 Nativescript Angular 项目中实现了 RadCalendar。

<GridLayout>
    <ScrollView class="page">
        <StackLayout class="home-panel">
            <Button text="Clear" (tap)="onClearTap()"></Button>
            <RadCalendar height="1000px" [viewMode]="viewMode" #mainCalendar
                [selectionMode]="selectionMode" [eventSource]="calEvents"
                (loaded)="calendarLoaded($event)"
                [eventsViewMode]="eventsViewMode"
                [selectedDate]="selectedDate" [displayedDate]="selectedDate">
            </RadCalendar>
        </StackLayout>
    </ScrollView>
</GridLayout>

在构造函数中,我正在为今天的日期添加一个事件。

constructor() {
    let eventDate = new Date();
    eventDate.setDate(eventDate.getDate());
    let event = new CalendarEvent("XXX", eventDate, eventDate, true);
    this.calEvents.push(event);
    this.mainCalendar.selectedDate = eventDate;
}

我试图保持默认选择今天的日期,并在用户访问日历时列出其下的事件。 现在用户必须点击今天的日期才能看到它下面的事件。

我尝试使用selectedDate 选择今天的日期,但它不起作用。

谁能告诉我怎么做?谢谢!

这是playground link

【问题讨论】:

  • 您必须等待组件被创建才能访问它,使用加载的事件可以确保这一点。

标签: nativescript angular2-nativescript nativescript-angular


【解决方案1】:

应将构造函数代码移至 NgOnInit。

ngOnInit(): void {
    let eventDate = new Date();
    eventDate.setDate(eventDate.getDate());
    let event = new CalendarEvent("XXX", eventDate, eventDate, true);
    this.calEvents.push(event);
    this.mainCalendar.selectedDate = eventDate;
}

【讨论】:

  • 我已经在 android 和 ios 中测试了你的代码。修改工作正常。你有什么例外吗?
  • 当我将代码移动到 ngOnInit 时,出现以下错误:“ElementRef”类型上不存在属性“selectedDate”
【解决方案2】:

尝试像这样放置 nativeElement:

this.mainCalendar.nativeElement.selectedDate = eventDate;

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 2014-09-24
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多