Selaa lähdekoodia

date 格式化问题

luoyifan 3 vuotta sitten
vanhempi
commit
56730b6f54
4 muutettua tiedostoa jossa 40 lisäystä ja 1 poistoa
  1. 5 0
      src/Defaults.ts
  2. 32 0
      src/controls/input/datefield.js
  3. 1 1
      src/controls/input/textfield.js
  4. 2 0
      src/init.ts

+ 5 - 0
src/Defaults.ts

@@ -8,6 +8,11 @@ export const windows = {
     // scrollable: true,
     // scrollable: true,
 }
 }
 
 
+export const date = {
+    labelAlign: 'right',
+    labelWidth: 70,
+}
+
 export const combo = {
 export const combo = {
     labelAlign: 'right',
     labelAlign: 'right',
     labelWidth: 70,
     labelWidth: 70,

+ 32 - 0
src/controls/input/datefield.js

@@ -0,0 +1,32 @@
+import _ from 'lodash'
+import {baseConfig} from "../base";
+import {date} from "../../Defaults";
+
+export default function () {
+
+    const cc = Ext.form.field.Date.prototype.constructor
+    const {initComponent, getValue} = Ext.form.field.Date.prototype
+    Ext.form.field.Date.override({
+        constructor(config) {
+            const newConfig = _.defaultsDeep({
+                // 强制属性
+                format: 'Y-m-d',
+                altFormats: 'Y-m-d',
+
+            }, baseConfig(config, 'col-item'), config, date)
+
+            cc.call(this, newConfig)
+        },
+
+        getValue() {
+            const ov = getValue.call(this)
+            const nv = Ext.util.Format.date(ov, 'Y-m-d')
+            // console.log('cc:', nv, ov)
+            return nv
+        },
+
+        initComponent() {
+            initComponent.call(this)
+        }
+    });
+}

+ 1 - 1
src/controls/input/textfield.js

@@ -4,7 +4,7 @@ import {text} from "../../Defaults";
 
 
 export default function () {
 export default function () {
 
 
-    const cc = Ext.form.field.ComboBox.prototype.constructor
+    const cc = Ext.form.field.Text.prototype.constructor
     const {initComponent} = Ext.form.field.Text.prototype
     const {initComponent} = Ext.form.field.Text.prototype
     Ext.form.field.Text.override({
     Ext.form.field.Text.override({
         constructor(config) {
         constructor(config) {

+ 2 - 0
src/init.ts

@@ -6,6 +6,7 @@ import initToolbar from './controls/toolbar/toolbar'
 import initSplitter from './controls/splitter'
 import initSplitter from './controls/splitter'
 import initCombo from './controls/input/combo'
 import initCombo from './controls/input/combo'
 import initSearch from './controls/input/search'
 import initSearch from './controls/input/search'
+import initDate from './controls/input/datefield'
 import initRows from './controls/rows'
 import initRows from './controls/rows'
 import initCols from './controls/cols'
 import initCols from './controls/cols'
 import initButton from './controls/button'
 import initButton from './controls/button'
@@ -84,4 +85,5 @@ export function init() {
     initButton()
     initButton()
     initStores()
     initStores()
     initSearch()
     initSearch()
+    initDate()
 }
 }