我的表单中有两个输入字段:
#:kivy 1.10.0
<CustomLabel>:
<CustBoxLayout>:
orientation: 'vertical'
CustomLabel:
id: header
text: 'MyApp'
font_size: 24
padding_x: 16
color: app.theme_cls.primary_color
Button:
text: 'Button Widget'
font_size: 24
padding_x: 16
color: app.theme_cls.primary_color
我想要的是,用户填写合同签署时的日期,而不是他添加合同运行的月份。比起onBlur,当他离开<input type="date" [(ngModel)]="contractInception" name="contractInception">
<input type="text" [(ngModel)]="contractLength" (blur)="calculateContractEnd()" name="contractLength" maxlength="2" max="72">
字段时,我想要contractInception Date +用户添加的月份。我需要在我的字段contractLength
中使用该值。
因此,合同结束不是用户必须填写的,它可以通过他输入的信息计算,但我不知道如何。我在Stack或google上找到的所有东西都没有在角度4中工作。
这些是我的模特:
<input type="date" [(ngModel)]="contractEnd" name="contractEnd" disabled>
示例:
用户输入20.04.2018到 contractLength: Number;
contractInception: Date;
contractEnd: Date;
和12到contractInception
比我想要contractLength
为20.04.2019
答案 0 :(得分:1)
我花了一点时间才发现,但现在使用moment.js的解决方案看起来像这样:
calculateContractEnd() {
let monthToAdd = this.contractLength.toString();
let dateToCalc = moment(this.contractInception).add(monthToAdd, 'month');
let newDate = dateToCalc.toDate();
let newConvertedDate = newDate.toISOString()
let newOnlyDate = newConvertedDate.split('T')[0];
this.contractEnd = newOnlyDate;
}
问题是获取一个值,该值可以从<input type="date">
解析回值字段,但是使用该解决方案,它可以正常工作!