我正在开发使用Ionic 3的应用程序,并且使用DateTime组件发生问题。 Supose我在用户界面中有一个DateTime组件,并且它是可选的,所以默认值是可选的。没有最小日期和最大日期是从当前日起2年内:Ionic 3 DateTime - 当模型未定义时显示选择器与当前日期
<ion-datetime displayFormat="DD/MM/YYYY" [(ngModel)]="dataInicial" doneText="Feito"
cancelText="Cancelar" [max]="maxDate">
</ion-datetime>
export class AbaPedidosConfirmadosPage {
dataInicial:Date;
maxDate:string;
constructor() {
this.maxDate = moment().add(2, 'years').format('YYYY');
}
}
所以现在的问题是:有没有拣货机出现与当模型是不确定的(或空)选择当前日期的方法吗?这是为了可用性,在这种情况下,如果用户需要选择明天的日期,则需要改变年份,然后是月份,最后是日期;如果它在当前日期加载选择器内容,则用户只需要改变一天。
我tryied刚刚创建指令加载上点击当前日期,但它是一个DateTime组件后解雇proccess事件:
@Directive({
selector: '[load-date]'
})
export class LoadDateDirective {
private lastValue:any;
@Input() public ngModel:any;
@Output('ngModelChange') modelChange:EventEmitter<string> = new EventEmitter<string>();
public constructor(private _elementRef:ElementRef,
private _renderer:Renderer) {
}
@HostListener('click', ['$event'])
_click(ev: UIEvent) {
this.lastValue=this.ngModel;
if(!this.lastValue) {
ev.preventDefault();
ev.stopPropagation();
this.modelChange.next(moment().format('YYYY-MM-DD'));
}
}
}
编辑
我会尽力更好地解释它。下面是实际的领域,在该领域的用户点击,拣货机显示配置的最大日期:
正如我不知道它的最新的用户希望选择,期望的行为是捡拾工具出现在用当前的日期,就像这样:
由于这些字段用来过滤日期的结果,它们是可选的,因此服务器如果日期是空返回的一切。
你有没有尝试.. ?? –
是的,我试过......但是当我设置了离子日期时间的max属性时它不起作用。这个最大日期应该是未来日期。 – brevleq
刚刚检查,它的工作。更新的运动员,看看。 –