修复日期框按键操作空值报错问题

This commit is contained in:
xuliangzhan
2020-04-14 22:30:52 +08:00
parent 8aef690313
commit 1235fd935b
11 changed files with 58 additions and 34 deletions

View File

@@ -13,4 +13,4 @@
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
}
})();</script><link href=/vxe-table/static/css/advanced.b2d8c067.css rel=prefetch><link href=/vxe-table/static/css/api.3940869e.css rel=prefetch><link href=/vxe-table/static/css/base.66df2255.css rel=prefetch><link href=/vxe-table/static/css/edit.dc1a434e.css rel=prefetch><link href=/vxe-table/static/css/grid.c32cf2fc.css rel=prefetch><link href=/vxe-table/static/css/module.61691a2f.css rel=prefetch><link href=/vxe-table/static/css/other.68b39f76.css rel=prefetch><link href=/vxe-table/static/css/scroll.38d9b5ec.css rel=prefetch><link href=/vxe-table/static/css/start.5d992dc3.css rel=prefetch><link href=/vxe-table/static/css/tree.ffbbba2c.css rel=prefetch><link href=/vxe-table/static/css/virtual-tree.628317ae.css rel=prefetch><link href=/vxe-table/static/js/advanced.b8138007.js rel=prefetch><link href=/vxe-table/static/js/advanced~base~edit~excel~grid~module~other~plugin~scroll~start~tree~virtual-tree.9c6eb998.js rel=prefetch><link href=/vxe-table/static/js/api.823bb87b.js rel=prefetch><link href=/vxe-table/static/js/base.73062c81.js rel=prefetch><link href=/vxe-table/static/js/edit.7489d54b.js rel=prefetch><link href=/vxe-table/static/js/excel.ef7c7fbd.js rel=prefetch><link href=/vxe-table/static/js/grid.c4126d7f.js rel=prefetch><link href=/vxe-table/static/js/module.f1fbc8a6.js rel=prefetch><link href=/vxe-table/static/js/other.35845d63.js rel=prefetch><link href=/vxe-table/static/js/plugin.be97b7d2.js rel=prefetch><link href=/vxe-table/static/js/scroll.61c5f881.js rel=prefetch><link href=/vxe-table/static/js/start.eda7701c.js rel=prefetch><link href=/vxe-table/static/js/tree.75938f97.js rel=prefetch><link href=/vxe-table/static/js/virtual-tree.cd0a0c36.js rel=prefetch><link href=/vxe-table/static/css/chunk-vendors.ca8d117a.css rel=preload as=style><link href=/vxe-table/static/css/index.2431a7ce.css rel=preload as=style><link href=/vxe-table/static/js/chunk-vendors.d679de41.js rel=preload as=script><link href=/vxe-table/static/js/index.6bc8218b.js rel=preload as=script><link href=/vxe-table/static/css/chunk-vendors.ca8d117a.css rel=stylesheet><link href=/vxe-table/static/css/index.2431a7ce.css rel=stylesheet></head><body><noscript><strong>We're sorry but vxe-table doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/vxe-table/static/js/chunk-vendors.d679de41.js></script><script src=/vxe-table/static/js/index.6bc8218b.js></script></body></html>
})();</script><link href=/vxe-table/static/css/advanced.b2d8c067.css rel=prefetch><link href=/vxe-table/static/css/api.3940869e.css rel=prefetch><link href=/vxe-table/static/css/base.66df2255.css rel=prefetch><link href=/vxe-table/static/css/edit.dc1a434e.css rel=prefetch><link href=/vxe-table/static/css/grid.c32cf2fc.css rel=prefetch><link href=/vxe-table/static/css/module.61691a2f.css rel=prefetch><link href=/vxe-table/static/css/other.68b39f76.css rel=prefetch><link href=/vxe-table/static/css/scroll.38d9b5ec.css rel=prefetch><link href=/vxe-table/static/css/start.5d992dc3.css rel=prefetch><link href=/vxe-table/static/css/tree.ffbbba2c.css rel=prefetch><link href=/vxe-table/static/css/virtual-tree.628317ae.css rel=prefetch><link href=/vxe-table/static/js/advanced.b8138007.js rel=prefetch><link href=/vxe-table/static/js/advanced~base~edit~excel~grid~module~other~plugin~scroll~start~tree~virtual-tree.9c6eb998.js rel=prefetch><link href=/vxe-table/static/js/api.823bb87b.js rel=prefetch><link href=/vxe-table/static/js/base.73062c81.js rel=prefetch><link href=/vxe-table/static/js/edit.7489d54b.js rel=prefetch><link href=/vxe-table/static/js/excel.ef7c7fbd.js rel=prefetch><link href=/vxe-table/static/js/grid.c4126d7f.js rel=prefetch><link href=/vxe-table/static/js/module.3c4f6e93.js rel=prefetch><link href=/vxe-table/static/js/other.35845d63.js rel=prefetch><link href=/vxe-table/static/js/plugin.be97b7d2.js rel=prefetch><link href=/vxe-table/static/js/scroll.61c5f881.js rel=prefetch><link href=/vxe-table/static/js/start.eda7701c.js rel=prefetch><link href=/vxe-table/static/js/tree.75938f97.js rel=prefetch><link href=/vxe-table/static/js/virtual-tree.cd0a0c36.js rel=prefetch><link href=/vxe-table/static/css/chunk-vendors.ca8d117a.css rel=preload as=style><link href=/vxe-table/static/css/index.2431a7ce.css rel=preload as=style><link href=/vxe-table/static/js/chunk-vendors.d679de41.js rel=preload as=script><link href=/vxe-table/static/js/index.1cf0eba7.js rel=preload as=script><link href=/vxe-table/static/css/chunk-vendors.ca8d117a.css rel=stylesheet><link href=/vxe-table/static/css/index.2431a7ce.css rel=stylesheet></head><body><noscript><strong>We're sorry but vxe-table doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/vxe-table/static/js/chunk-vendors.d679de41.js></script><script src=/vxe-table/static/js/index.1cf0eba7.js></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -13,4 +13,4 @@
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
}
})();</script><link href=/vxe-table/v1/static/css/advanced.b2d8c067.css rel=prefetch><link href=/vxe-table/v1/static/css/api.e624a969.css rel=prefetch><link href=/vxe-table/v1/static/css/base.66df2255.css rel=prefetch><link href=/vxe-table/v1/static/css/edit.5ed65c61.css rel=prefetch><link href=/vxe-table/v1/static/css/grid.c32cf2fc.css rel=prefetch><link href=/vxe-table/v1/static/css/module.4868c3d5.css rel=prefetch><link href=/vxe-table/v1/static/css/other.68b39f76.css rel=prefetch><link href=/vxe-table/v1/static/css/scroll.38d9b5ec.css rel=prefetch><link href=/vxe-table/v1/static/css/start.5d992dc3.css rel=prefetch><link href=/vxe-table/v1/static/css/tree.ffbbba2c.css rel=prefetch><link href=/vxe-table/v1/static/css/virtual-tree.628317ae.css rel=prefetch><link href=/vxe-table/v1/static/js/advanced.a24f92cb.js rel=prefetch><link href=/vxe-table/v1/static/js/advanced~base~edit~excel~grid~module~other~plugin~scroll~start~tree~virtual-tree.9c6eb998.js rel=prefetch><link href=/vxe-table/v1/static/js/api.7071e0cf.js rel=prefetch><link href=/vxe-table/v1/static/js/base.d55e3e86.js rel=prefetch><link href=/vxe-table/v1/static/js/edit.afc95552.js rel=prefetch><link href=/vxe-table/v1/static/js/excel.77115614.js rel=prefetch><link href=/vxe-table/v1/static/js/grid.28a3e23c.js rel=prefetch><link href=/vxe-table/v1/static/js/module.7791b9e5.js rel=prefetch><link href=/vxe-table/v1/static/js/other.eae9ac63.js rel=prefetch><link href=/vxe-table/v1/static/js/plugin.8001dad1.js rel=prefetch><link href=/vxe-table/v1/static/js/scroll.c84d5a80.js rel=prefetch><link href=/vxe-table/v1/static/js/start.dca9b19b.js rel=prefetch><link href=/vxe-table/v1/static/js/tree.f205d735.js rel=prefetch><link href=/vxe-table/v1/static/js/virtual-tree.8fb082b4.js rel=prefetch><link href=/vxe-table/v1/static/css/chunk-vendors.4e97863d.css rel=preload as=style><link href=/vxe-table/v1/static/css/index.fbecb543.css rel=preload as=style><link href=/vxe-table/v1/static/js/chunk-vendors.6e71f7f4.js rel=preload as=script><link href=/vxe-table/v1/static/js/index.c7a1bdcc.js rel=preload as=script><link href=/vxe-table/v1/static/css/chunk-vendors.4e97863d.css rel=stylesheet><link href=/vxe-table/v1/static/css/index.fbecb543.css rel=stylesheet></head><body><noscript><strong>We're sorry but vxe-table doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/vxe-table/v1/static/js/chunk-vendors.6e71f7f4.js></script><script src=/vxe-table/v1/static/js/index.c7a1bdcc.js></script></body></html>
})();</script><link href=/vxe-table/v1/static/css/advanced.b2d8c067.css rel=prefetch><link href=/vxe-table/v1/static/css/api.e624a969.css rel=prefetch><link href=/vxe-table/v1/static/css/base.66df2255.css rel=prefetch><link href=/vxe-table/v1/static/css/edit.5ed65c61.css rel=prefetch><link href=/vxe-table/v1/static/css/grid.c32cf2fc.css rel=prefetch><link href=/vxe-table/v1/static/css/module.4868c3d5.css rel=prefetch><link href=/vxe-table/v1/static/css/other.68b39f76.css rel=prefetch><link href=/vxe-table/v1/static/css/scroll.38d9b5ec.css rel=prefetch><link href=/vxe-table/v1/static/css/start.5d992dc3.css rel=prefetch><link href=/vxe-table/v1/static/css/tree.ffbbba2c.css rel=prefetch><link href=/vxe-table/v1/static/css/virtual-tree.628317ae.css rel=prefetch><link href=/vxe-table/v1/static/js/advanced.a24f92cb.js rel=prefetch><link href=/vxe-table/v1/static/js/advanced~base~edit~excel~grid~module~other~plugin~scroll~start~tree~virtual-tree.9c6eb998.js rel=prefetch><link href=/vxe-table/v1/static/js/api.7071e0cf.js rel=prefetch><link href=/vxe-table/v1/static/js/base.d55e3e86.js rel=prefetch><link href=/vxe-table/v1/static/js/edit.afc95552.js rel=prefetch><link href=/vxe-table/v1/static/js/excel.77115614.js rel=prefetch><link href=/vxe-table/v1/static/js/grid.28a3e23c.js rel=prefetch><link href=/vxe-table/v1/static/js/module.58566ea2.js rel=prefetch><link href=/vxe-table/v1/static/js/other.eae9ac63.js rel=prefetch><link href=/vxe-table/v1/static/js/plugin.8001dad1.js rel=prefetch><link href=/vxe-table/v1/static/js/scroll.c84d5a80.js rel=prefetch><link href=/vxe-table/v1/static/js/start.dca9b19b.js rel=prefetch><link href=/vxe-table/v1/static/js/tree.f205d735.js rel=prefetch><link href=/vxe-table/v1/static/js/virtual-tree.8fb082b4.js rel=prefetch><link href=/vxe-table/v1/static/css/chunk-vendors.4e97863d.css rel=preload as=style><link href=/vxe-table/v1/static/css/index.fbecb543.css rel=preload as=style><link href=/vxe-table/v1/static/js/chunk-vendors.6e71f7f4.js rel=preload as=script><link href=/vxe-table/v1/static/js/index.124db5a8.js rel=preload as=script><link href=/vxe-table/v1/static/css/chunk-vendors.4e97863d.css rel=stylesheet><link href=/vxe-table/v1/static/css/index.fbecb543.css rel=stylesheet></head><body><noscript><strong>We're sorry but vxe-table doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/vxe-table/v1/static/js/chunk-vendors.6e71f7f4.js></script><script src=/vxe-table/v1/static/js/index.124db5a8.js></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -13,4 +13,4 @@
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
}
})();</script><link href=/vxe-table/v2/static/css/advanced.b2d8c067.css rel=prefetch><link href=/vxe-table/v2/static/css/api.e624a969.css rel=prefetch><link href=/vxe-table/v2/static/css/base.66df2255.css rel=prefetch><link href=/vxe-table/v2/static/css/edit.dc1a434e.css rel=prefetch><link href=/vxe-table/v2/static/css/grid.c32cf2fc.css rel=prefetch><link href=/vxe-table/v2/static/css/module.4868c3d5.css rel=prefetch><link href=/vxe-table/v2/static/css/other.68b39f76.css rel=prefetch><link href=/vxe-table/v2/static/css/scroll.38d9b5ec.css rel=prefetch><link href=/vxe-table/v2/static/css/start.5d992dc3.css rel=prefetch><link href=/vxe-table/v2/static/css/tree.ffbbba2c.css rel=prefetch><link href=/vxe-table/v2/static/css/virtual-tree.628317ae.css rel=prefetch><link href=/vxe-table/v2/static/js/advanced.d9c0d36e.js rel=prefetch><link href=/vxe-table/v2/static/js/advanced~base~edit~excel~grid~module~other~plugin~scroll~start~tree~virtual-tree.d9ecbab9.js rel=prefetch><link href=/vxe-table/v2/static/js/api.0c6dbc3f.js rel=prefetch><link href=/vxe-table/v2/static/js/base.ee1a3694.js rel=prefetch><link href=/vxe-table/v2/static/js/edit.40382df3.js rel=prefetch><link href=/vxe-table/v2/static/js/excel.04812f65.js rel=prefetch><link href=/vxe-table/v2/static/js/grid.ca3da72e.js rel=prefetch><link href=/vxe-table/v2/static/js/module.9f44c099.js rel=prefetch><link href=/vxe-table/v2/static/js/other.7bbf7c3d.js rel=prefetch><link href=/vxe-table/v2/static/js/plugin.91003e1e.js rel=prefetch><link href=/vxe-table/v2/static/js/scroll.bd49fe35.js rel=prefetch><link href=/vxe-table/v2/static/js/start.5f3d13c7.js rel=prefetch><link href=/vxe-table/v2/static/js/tree.2cb32ef8.js rel=prefetch><link href=/vxe-table/v2/static/js/virtual-tree.8b77b9cc.js rel=prefetch><link href=/vxe-table/v2/static/css/chunk-vendors.1f75709f.css rel=preload as=style><link href=/vxe-table/v2/static/css/index.a55407e4.css rel=preload as=style><link href=/vxe-table/v2/static/js/chunk-vendors.16f3e421.js rel=preload as=script><link href=/vxe-table/v2/static/js/index.54289ed8.js rel=preload as=script><link href=/vxe-table/v2/static/css/chunk-vendors.1f75709f.css rel=stylesheet><link href=/vxe-table/v2/static/css/index.a55407e4.css rel=stylesheet></head><body><noscript><strong>We're sorry but vxe-table doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/vxe-table/v2/static/js/chunk-vendors.16f3e421.js></script><script src=/vxe-table/v2/static/js/index.54289ed8.js></script></body></html>
})();</script><link href=/vxe-table/v2/static/css/advanced.b2d8c067.css rel=prefetch><link href=/vxe-table/v2/static/css/api.e624a969.css rel=prefetch><link href=/vxe-table/v2/static/css/base.66df2255.css rel=prefetch><link href=/vxe-table/v2/static/css/edit.dc1a434e.css rel=prefetch><link href=/vxe-table/v2/static/css/grid.c32cf2fc.css rel=prefetch><link href=/vxe-table/v2/static/css/module.4868c3d5.css rel=prefetch><link href=/vxe-table/v2/static/css/other.68b39f76.css rel=prefetch><link href=/vxe-table/v2/static/css/scroll.38d9b5ec.css rel=prefetch><link href=/vxe-table/v2/static/css/start.5d992dc3.css rel=prefetch><link href=/vxe-table/v2/static/css/tree.ffbbba2c.css rel=prefetch><link href=/vxe-table/v2/static/css/virtual-tree.628317ae.css rel=prefetch><link href=/vxe-table/v2/static/js/advanced.d9c0d36e.js rel=prefetch><link href=/vxe-table/v2/static/js/advanced~base~edit~excel~grid~module~other~plugin~scroll~start~tree~virtual-tree.d9ecbab9.js rel=prefetch><link href=/vxe-table/v2/static/js/api.0c6dbc3f.js rel=prefetch><link href=/vxe-table/v2/static/js/base.ee1a3694.js rel=prefetch><link href=/vxe-table/v2/static/js/edit.40382df3.js rel=prefetch><link href=/vxe-table/v2/static/js/excel.04812f65.js rel=prefetch><link href=/vxe-table/v2/static/js/grid.ca3da72e.js rel=prefetch><link href=/vxe-table/v2/static/js/module.f1608c00.js rel=prefetch><link href=/vxe-table/v2/static/js/other.7bbf7c3d.js rel=prefetch><link href=/vxe-table/v2/static/js/plugin.91003e1e.js rel=prefetch><link href=/vxe-table/v2/static/js/scroll.bd49fe35.js rel=prefetch><link href=/vxe-table/v2/static/js/start.5f3d13c7.js rel=prefetch><link href=/vxe-table/v2/static/js/tree.2cb32ef8.js rel=prefetch><link href=/vxe-table/v2/static/js/virtual-tree.8b77b9cc.js rel=prefetch><link href=/vxe-table/v2/static/css/chunk-vendors.1f75709f.css rel=preload as=style><link href=/vxe-table/v2/static/css/index.a55407e4.css rel=preload as=style><link href=/vxe-table/v2/static/js/chunk-vendors.16f3e421.js rel=preload as=script><link href=/vxe-table/v2/static/js/index.495455e5.js rel=preload as=script><link href=/vxe-table/v2/static/css/chunk-vendors.1f75709f.css rel=stylesheet><link href=/vxe-table/v2/static/css/index.a55407e4.css rel=stylesheet></head><body><noscript><strong>We're sorry but vxe-table doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/vxe-table/v2/static/js/chunk-vendors.16f3e421.js></script><script src=/vxe-table/v2/static/js/index.495455e5.js></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -49,7 +49,9 @@
<code>
| Tab | 切换到上一个 |
| Shift Tab | 切换到下一个 |
| Enter | 展开下拉面板确定选中日期... |
| Enter | 展开下拉面板确定选中日期...用于日期类型... |
| Page Up | 向前翻页用于日期类型... |
| Page Down | 向后翻页用于日期类型... |
</code>
</pre>

View File

@@ -1211,26 +1211,14 @@ export default {
},
dateOffsetEvent (evnt) {
const { isActivated, datePanelValue, datePanelType } = this
const keyCode = evnt.keyCode
const isLeftArrow = keyCode === 37
const isUpArrow = keyCode === 38
const isRightArrow = keyCode === 39
const isDwArrow = keyCode === 40
if (isActivated) {
evnt.preventDefault()
if (datePanelType === 'month') {
let offsetMonth = XEUtils.getWhatMonth(datePanelValue || Date.now(), 0, 'first')
if (isLeftArrow) {
offsetMonth = XEUtils.getWhatMonth(offsetMonth, -1)
} else if (isUpArrow) {
offsetMonth = XEUtils.getWhatMonth(offsetMonth, -4)
} else if (isRightArrow) {
offsetMonth = XEUtils.getWhatMonth(offsetMonth, 1)
} else if (isDwArrow) {
offsetMonth = XEUtils.getWhatMonth(offsetMonth, 4)
}
this.dateMoveMonth(offsetMonth)
} else if (datePanelType === 'year') {
const keyCode = evnt.keyCode
const isLeftArrow = keyCode === 37
const isUpArrow = keyCode === 38
const isRightArrow = keyCode === 39
const isDwArrow = keyCode === 40
if (datePanelType === 'year') {
let offsetYear = XEUtils.getWhatYear(datePanelValue || Date.now(), 0, 'first')
if (isLeftArrow) {
offsetYear = XEUtils.getWhatYear(offsetYear, -1)
@@ -1242,6 +1230,18 @@ export default {
offsetYear = XEUtils.getWhatYear(offsetYear, 4)
}
this.dateMoveYear(offsetYear)
} else if (datePanelType === 'month') {
let offsetMonth = XEUtils.getWhatMonth(datePanelValue || Date.now(), 0, 'first')
if (isLeftArrow) {
offsetMonth = XEUtils.getWhatMonth(offsetMonth, -1)
} else if (isUpArrow) {
offsetMonth = XEUtils.getWhatMonth(offsetMonth, -4)
} else if (isRightArrow) {
offsetMonth = XEUtils.getWhatMonth(offsetMonth, 1)
} else if (isDwArrow) {
offsetMonth = XEUtils.getWhatMonth(offsetMonth, 4)
}
this.dateMoveMonth(offsetMonth)
} else {
let offsetDay = datePanelValue || XEUtils.getWhatDay(Date.now(), 0, 'first')
if (isLeftArrow) {
@@ -1257,6 +1257,17 @@ export default {
}
}
},
datePgOffsetEvent (evnt) {
const { isActivated } = this
if (isActivated) {
evnt.preventDefault()
if (evnt.keyCode === 33) {
this.dateNextEvent(evnt)
} else {
this.dateNextEvent(evnt)
}
}
},
dateChange (date) {
const { value, type, datetimePanelValue, dateValueFormat } = this
if (type === 'week') {
@@ -1414,6 +1425,8 @@ export default {
const isUpArrow = keyCode === 38
const isRightArrow = keyCode === 39
const isDwArrow = keyCode === 40
const isPgUp = keyCode === 33
const isPgDn = keyCode === 34
const operArrow = isLeftArrow || isUpArrow || isRightArrow || isDwArrow
let isActivated = this.isActivated
if (isTab) {
@@ -1426,21 +1439,30 @@ export default {
if (isDatePicker) {
this.dateOffsetEvent(evnt)
}
}
if (isEnter) {
} else if (isEnter) {
if (isDatePicker) {
if (visiblePanel) {
this.dateSelectItem(this.datePanelValue)
if (this.datePanelValue) {
this.dateSelectItem(this.datePanelValue)
} else {
this.hidePanel()
}
} else if (isActivated) {
this.showPanel()
}
}
} else if (isTab || isEsc) {
} else if (isPgUp || isPgDn) {
if (isDatePicker) {
if (isActivated) {
this.datePgOffsetEvent(evnt)
}
}
}
if (isTab || isEsc) {
if (visiblePanel) {
this.hidePanel()
}
}
if (isDel && clearable) {
} else if (isDel && clearable) {
if (isActivated) {
this.clearValueEvent(evnt, null)
}