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

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

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