1

プラットフォームは Sencha Touch 2.1.1 です。次のように、フォーム パネルで datPicker を使用しています。

        {
            xtype: 'datepickerfield',
            destroyPickerOnHide: true,
            name : 'dateOfEvaluation', 
            label: 'Date of evaluation',
            dateFormat: 'm/d/Y',
            value: new Date(),
            picker: {
                yearFrom: 2013
            }
        },

私のモデルの日付型として保存されています:

        {name: 'dateOfEvaluation', type: 'date'}, 

ストアに値がある場合、次のメソッドを介して itemTpl を介してレンダリングされます。

onSelectSiteGeneral: function(view, index, target, record, event) {
    console.log('Selected a SiteGeneral from the list');
    var siteGeneralForm = Ext.Viewport.down('siteGeneralForm');

    if(!siteGeneralForm){
        siteGeneralForm = Ext.widget('siteGeneralForm');
    }    
    siteGeneralForm.setRecord(record);
    siteGeneralForm.showBy(target);
}

これはすべてうまく機能します。

問題は、日付が保存されていないレコードにあります。日付型の localStorage では、null/空の値が 0 のように見えますが、上記のフォームでは「12/31/1969」と表示されます。この表示を現在の日付にするハンドラーを作成できることはわかっていますが、続行する方法は確かです (デフォルト値を使用することはできません: new Date()、ところで、これはデータ ストアに既にある値では機能しないためです)。フォームにレンダリングされます)。現在の日付を取得するには、n-days をゼロに追加する必要があることはわかっていますが、これをフォームで再レンダリングする方法がわかりません。

現在の日付など、より現実的な日付として表示される 0 番目の日付を取得する方法についての提案 (上記のメソッド onSelectSiteGeneral を使用すると、デフォルトの日付が機能しないように見えることを強調します)。グラジー!

4

0 に答える 0