提交 67992edc 编写于 作者: Q qiang

fix: 修复 picker 组件设置 value 为 -1 时表现异常的问题 fixed #1553

上级 f138d9a8
......@@ -182,7 +182,8 @@ export default {
for (let index = 0; index < length; index++) {
const val0 = Number(val[index])
const val1 = Number(this.valueSync[index])
this.valueSync.splice(index, 1, isNaN(val0) ? (isNaN(val1) ? 0 : val1) : val0)
const val2 = isNaN(val0) ? (isNaN(val1) ? 0 : val1) : val0
this.valueSync.splice(index, 1, val2 < 0 ? 0 : val2)
}
}
break
......@@ -190,16 +191,20 @@ export default {
case mode.DATE:
this.valueSync = String(val)
break
default:
this.valueSync = Number(val) || 0
default: {
const valueSync = Number(val)
this.valueSync = valueSync < 0 ? 0 : valueSync
break
}
}
},
_show () {
if (this.disabled) {
return
}
this._showPicker(Object.assign({}, this.$props))
this._showPicker(Object.assign({}, this.$props, {
value: this.valueSync
}))
},
_showPicker (data) {
if ((data.mode === mode.TIME || data.mode === mode.DATE) && !data.fields) {
......@@ -276,7 +281,7 @@ export default {
_resetFormData () {
switch (this.mode) {
case mode.SELECTOR:
this.valueSync = -1
this.valueSync = 0
break
case mode.MULTISELECTOR:
this.valueSync = this.value.map(val => 0)
......
......@@ -248,7 +248,7 @@ export default {
const day = Number(dateArray[2][valueArray[2]]) || 1
const realDay = new Date(
`${dateArray[0][valueArray[0]]}/${
dateArray[1][valueArray[1]]
dateArray[1][valueArray[1]]
}/${day}`
).getDate()
if (realDay < day) {
......@@ -314,7 +314,7 @@ export default {
_resetFormData () {
switch (this.mode) {
case mode.SELECTOR:
this.valueSync = -1
this.valueSync = 0
break
case mode.MULTISELECTOR:
this.valueSync = this.value.map(val => 0)
......@@ -387,7 +387,7 @@ export default {
const val1 = Number(this.valueSync[index])
const val2 = isNaN(val0) ? (isNaN(val1) ? 0 : val1) : val0
const maxVal = this.range[index] ? this.range[index].length - 1 : 0
this.valueSync.splice(index, 1, val2 > maxVal ? 0 : val2)
this.valueSync.splice(index, 1, (val2 < 0 || val2 > maxVal) ? 0 : val2)
}
}
break
......@@ -395,9 +395,11 @@ export default {
case mode.DATE:
this.valueSync = String(val)
break
default:
this.valueSync = Number(val) || 0
default: {
const valueSync = Number(val)
this.valueSync = valueSync < 0 ? 0 : valueSync
break
}
}
},
_setValueArray () {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册