我有一个HTML输入,表明一年如此:
<input type="number" name="year" placeholder="Year" [max]="presentYear" min="1950">
输入不是必需的,所以默认情况下我只想要占位符&#34;年&#34;在场。但是,只要用户单击输入字段的向上或向下箭头,我希望max
值显示为默认值,在本例中为当前年份(2018)。但是,会显示最小数字。这对于这种情况毫无意义,因为用户必须滚动68年才能找到最常见的用例。
有没有办法指定默认的&#34;第一个值&#34;数字类型输入字段?如果它有助于回答这个问题,我就是在这个项目中使用Angular 5。
答案 0 :(得分:0)
:
dateObj: Date = new Date();
year: number = dateObj.getUTCFullYear();
yearModel: number = year;
HTML中的
将属性绑定到输入控件,如下面的代码所示,它将为您执行
<input type="number" name="year"
placeholder="Year"
[(ngModel)] = "yearModel"
[max]="year"
min="1950">
单独的模型会阻止值超过当前年度
答案 1 :(得分:0)
您最初可以将min
设置为与max
相同的值,并在输入值更改后,在ngModel
和{{1}的帮助下将其更改为1950 }。第一次单击微调器按钮会将当前年份设置为初始值,修改后的ngModelChange
值将允许在之后更改它。
min
<input type="number" name="year" placeholder="Year"
[(ngModel)]="year" (ngModelChange)="setMinYear($event)"
[max]="presentYear" [min]="minYear">
可以在this stackblitz中测试代码。