我遇到了一个奇怪的情况,我的数据在设置为对象时丢失了。 将尝试详细说明情况。 this.tempRenewals = this.findById(this.renewals,'id',21869);
findById(arr,searchBy,val){
if(!val){
return {};
}
if(arr){
return arr.find(x => x[searchBy] == val);
}
}
续订对象的价值
[{ “ID”:21869 “benefitEndDate”: “2019年2月22日”, “优质”:0, “enrollmentStatus”: “INFORCE”, “策略ID”: “test21331”, “productType”:空“stEnrollmentId”:空}]
在评估findById之后,我得到未定义的日期值。 我在tempRenewals中得到的值低于。
“{” ID “:21869,” 优质 “:0,” enrollmentStatus “:” INFORCE “ ”策略ID“: ”test21331“, ”productType“:NULL, ”stEnrollmentId“:NULL}”
调试结束后,评估下面代码后的丢失值。
this._setProperty(property, value);
在property-accessors.html(polymer \ lib \ mixins \ property-accessors.html)中, 它在内部被称为。
我正在使用与vaadin-date-picker的双向绑定,这实际上是导致问题。
<vaadin-date-picker value="{{tempRenewals.benefitStartDate}}"></vaadin-date-picker>
但我无法确定如何解决它。
答案 0 :(得分:1)
仅当this._setProperty(property, value);
属性定义为property
时,才使用readOnly
的方式。因此,如果要设置具有值的属性。尝试使用this.set(property, value);
。
答案 1 :(得分:1)
该问题是由于日期格式不正确“benefitEndDate”:“02/22/2019”造成的。 Vaadin-date-picker 无法识别此格式的日期,导致其设置空值,从而清除该值,因为它是双向绑定。