提交 8ba375f1 编写于 作者: X xzs02

fix: 解决picker组件start和end值不合法时表现异常的问题。

上级 de2dc2d9
<template> <template>
<uni-picker @touchmove.prevent> <uni-picker @touchmove.prevent>
<transition name="uni-fade"> <transition name="uni-fade">
<div <div
v-show="visible" v-show="visible"
class="uni-mask" class="uni-mask"
@click="_cancel"/> @click="_cancel"/>
</transition> </transition>
<div <div
:class="{'uni-picker-toggle':visible}" :class="{'uni-picker-toggle':visible}"
class="uni-picker"> class="uni-picker">
<div <div
class="uni-picker-header" class="uni-picker-header"
@click.stop> @click.stop>
<div <div
class="uni-picker-action uni-picker-action-cancel" class="uni-picker-action uni-picker-action-cancel"
@click="_cancel">取消</div> @click="_cancel">取消</div>
<div <div
class="uni-picker-action uni-picker-action-confirm" class="uni-picker-action uni-picker-action-confirm"
@click="_change">确定</div> @click="_change">确定</div>
</div> </div>
<v-uni-picker-view <v-uni-picker-view
v-if="visible" v-if="visible"
:value.sync="valueArray" :value.sync="valueArray"
class="uni-picker-content"> class="uni-picker-content">
<v-uni-picker-view-column <v-uni-picker-view-column
v-for="(range,index0) in rangeArray" v-for="(range,index0) in rangeArray"
:key="index0"> :key="index0">
<div <div
v-for="(item,index) in range" v-for="(item,index) in range"
...@@ -173,13 +173,23 @@ export default { ...@@ -173,13 +173,23 @@ export default {
}, },
startArray () { startArray () {
var splitStr = this.mode === mode.DATE ? '-' : ':' var splitStr = this.mode === mode.DATE ? '-' : ':'
return this.start.split(splitStr).map((val, i) => (this.mode === mode.DATE ? this.dateArray : this.timeArray)[i].indexOf( var array = this.mode === mode.DATE ? this.dateArray : this.timeArray
var val = this.start.split(splitStr).map((val, i) => array[i].indexOf(
val)) val))
if (val.indexOf(-1) >= 0) {
val = array.map(() => 0)
}
return val
}, },
endArray () { endArray () {
var splitStr = this.mode === mode.DATE ? '-' : ':' var splitStr = this.mode === mode.DATE ? '-' : ':'
return this.end.split(splitStr).map((val, i) => (this.mode === mode.DATE ? this.dateArray : this.timeArray)[i].indexOf( var array = this.mode === mode.DATE ? this.dateArray : this.timeArray
var val = this.end.split(splitStr).map((val, i) => array[i].indexOf(
val)) val))
if (val.indexOf(-1) >= 0) {
val = array.map((val) => val.length - 1)
}
return val
}, },
units () { units () {
switch (this.mode) { switch (this.mode) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册