我无法获得TimePicker的用户修改值 . 我得到的只是我在控件中设置的原始值 .
这是我的组件模板:
<TabView [(ngModel)]="tabSelectedIndex" selectedColor="#FF0000" style="height:90%">
<StackLayout *tabItem="{title: 'Time'}">
<TimePicker #timePicker [(ngModel)]='model.time'></TimePicker>
</StackLayout>
<StackLayout *tabItem="{title: 'Date'}">
<DatePicker #datePicker [(ngModel)]='model.date'></DatePicker>
</StackLayout>
</TabView>
<button text="Done" (tap)="onDoneTap()"></button>
我的组件代码:
export class DateTimePickerComponent
{
public mDate: Date;
public tabSelectedIndex: number;
public model: any;
constructor()
{
this.mDate = new Date();
this.model = {
date: new Date(2014, 5, 13, 2, 24),
time: new Date(2014, 5, 13, 2, 24)
};
}
private onDoneTap()
{
this.mDate.setMinutes(this.model.time.getMinutes());
this.mDate.setHours(this.model.time.getHours());
this.mDate.setDate(this.model.date.getDate());
this.mDate.setMonth(this.model.date.getMonth());
this.mDate.setFullYear(this.model.date.getFullYear());
console.log(this.mDate);
}
}
为了构建这个,我使用了Docs:
-
DatePicker - 日期属性
-
TimePicker - 时间属性
在此示例中,DatePicker工作正常,它在2014-05-13初始化,当我更改它时,我在控制台中获得修改后的值 . 我在使用TimePicker做错了吗?
注意:我还尝试使用ID读取小时和分钟属性但未成功 . 始终保持相同的初始值(2:24)
@ViewChild("timePicker") timePicker: ElementRef;
let datePickerView = <TimePicker>this.timePicker.nativeElement;
console.log(datePickerView.hour); // 2
console.log(datePickerView.minute) // 24
2 回答
当您错过在
main.ts
文件中的imports
中添加NativeScriptFormsModule
时,可能会导致此问题 . 您可以查看下面给出的示例:. platformNativeScriptDynamic()bootstrapModule(AppComponentModule);
我希望这有帮助 .
更新:您可以返回
TimePicker
值作为onDoneTap
方法的参数 . 您可以查看附加的示例 .app.component.html
app.component.ts
对于任何可能落在这里的人:
在Github上针对此问题打开了一个错误 . [see here] .