2

私はテキストフィールドを持っています:

xtype: "fieldset",
items:[
   {
    xtype: "textfield",
    name: "dateScanned",
    label: "Datum",
    disabled: true,
    tpl: "{dateScanned:date('d/m/Y H:i')}"  // <--- this dosn't work
   }
]

私の店は:

fields: [
    { name: 'dateScanned', type: 'date', dateFormat: 'c' }
]

マークされたポイントが機能しないのはなぜですか?日付が定型化されていることをどのように確認できますか?

4

3 に答える 3

2
/*Override to allow textfields to format dates*/
Ext.override(Ext.field.Text, {
    setValue: function (value) {
        if (this.config.dateFormat && value) {
            if (Ext.isDate(value)) {
                value = Ext.Date.format(value, this.config.dateFormat);
            }
            else {
                var d = new Date(value);
                value = Ext.Date.format(d, this.config.dateFormat);
            }
        }
        this.callSuper(arguments);
    }
});
于 2013-12-20T10:15:12.163 に答える
1

MyAppどこにそのオーバーライドを挿入しますか? app/field/Text.js の下に新しい Text.js を追加し、require の下にリンクすると機能しません

解決

/*Override to allow textfields to format dates*/
Ext.define('MyApp.field.Text', {
override: 'Ext.field.Text', 
    setValue: function (value) {
        if (this.config.dateFormat && value) {
            if (Ext.isDate(value)) {
                value = Ext.Date.format(value, this.config.dateFormat);
            }
            else {
                var d = new Date(value);
                value = Ext.Date.format(d, this.config.dateFormat);
            }
        }
        this.callSuper(arguments);
    }
});

プロジェクト Project/app/field/Text.js にフォルダーを作成し、コードを配置してから、required add の下に

requires: [            
        'MyApp.field.Text'
    ],
于 2015-07-30T06:21:04.143 に答える
0

私は解決策を持っています:

tpl の代わりに dateFormat

xtype: "fieldset",
items:[
   {
    xtype: "datepickerfield",
    name: "dateScanned",
    label: "Datum",
    disabled: true,
    dateFormat: "d.m.Y H:i"
    //tpl: "{dateScanned:date('d/m/Y H:i')}"  // <--- this dosn't work
   }
]

わかりませんが、二重の疑問符を設定することが重要であることを覚えていると思います.

于 2013-08-23T10:06:22.103 に答える