Extjs TimeField 에서 정상 시간 형식 표시

975 단어 ExtJs
배경 에서 돌아 오 는 json 의 날짜 시간 형식 에 서 는 흔히 '\ / date (1309200030000) \ /' 와 같은 날짜 시간 형식 이 있 습 니 다. 그 결과 TimeField 에 정상적으로 표시 되 지 않 습 니 다. 정확하게 표시 하려 면 일반적인 방법 은 배경 코드 를 바 꾸 고 날짜 시간 칸 을 string 으로 되 돌려 주 는 것 입 니 다. 제 가 해결 하 는 방법 은 TimeField 의 setValue 를 다시 쓰 는 것 입 니 다. 구체 적 인 코드 는 다음 과 같 습 니 다.
Ext.override(Ext.form.TimeField, {

    getValue: function () {

        return this.value;

    },

    setValue: function (v) {

        this.value = v;

        this.setRawValue(this.formatValue(v));

        return this;

    },

    formatValue: function (v) {

        if (v.length>8) { //timefield     8    8     json  

            var jsondate = eval("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;

        }

        return v;

    }

});

좋은 웹페이지 즐겨찾기