올바르게 표시하려면 일반적인 방법은 날짜 및 시간 형식이 문자열 반환으로 변경되도록 배경 코드를 변경하는 것입니다. 내 솔루션은 TimeField의 setValue를 다시 작성하는 것입니다.
Ext.override(Ext.form.TimeField, {
getValue: 함수() {
return this.value;
},
setValue: 함수(v) {
this.value = v
this.setRawValue(this.formatValue( v));
return this;
},
formatValue: function (v) {
if (v.length>8) { //시간 필드의 최대 수는 8을 초과할 수 없습니다. 숫자는 8보다 커야 합니다.
var jsondate = eval in json ("new " v.substr(1, v.length - 2)).toLocaleTimeString()
jsondate = jsondate.length == 8 ? jsondate.substr(0, 5) : '0' jsondate.substr( 0, 4); //toLocaleTimeString은 상대적으로 바보같습니다. 반환된 시간이 10시간 미만이면 1자리만 있습니다.
return jsondate ;
}
반환
}
});