Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
anyefeiyu
uni-app
提交
b13a0306
U
uni-app
项目概览
anyefeiyu
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b13a0306
编写于
2月 14, 2020
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: H5 修复 picker 组件设置 fields 未影响返回值的问题
fix: _getDateValueArray
上级
44fb8b2b
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
62 addition
and
92 deletion
+62
-92
src/platforms/h5/view/components/picker/index.vue
src/platforms/h5/view/components/picker/index.vue
+62
-92
未找到文件。
src/platforms/h5/view/components/picker/index.vue
浏览文件 @
b13a0306
...
...
@@ -55,6 +55,42 @@
import
{
emitter
}
from
'
uni-mixins
'
import
{
formatDateTime
}
from
'
uni-shared
'
function
getDefaultStartValue
()
{
if
(
this
.
mode
===
mode
.
TIME
)
{
return
'
00:00
'
}
if
(
this
.
mode
===
mode
.
DATE
)
{
let
year
=
new
Date
().
getFullYear
()
-
100
switch
(
this
.
fields
)
{
case
fields
.
YEAR
:
return
year
case
fields
.
MONTH
:
return
year
+
'
-01
'
case
fields
.
DAY
:
return
year
+
'
-01-01
'
}
}
return
''
}
function
getDefaultEndValue
()
{
if
(
this
.
mode
===
mode
.
TIME
)
{
return
'
23:59
'
}
if
(
this
.
mode
===
mode
.
DATE
)
{
let
year
=
new
Date
().
getFullYear
()
+
100
switch
(
this
.
fields
)
{
case
fields
.
YEAR
:
return
year
case
fields
.
MONTH
:
return
year
+
'
-12
'
case
fields
.
DAY
:
return
year
+
'
-12-31
'
}
}
return
''
}
const
mode
=
{
SELECTOR
:
'
selector
'
,
MULTISELECTOR
:
'
multiSelector
'
,
...
...
@@ -106,43 +142,11 @@ export default {
},
start
:
{
type
:
String
,
default
()
{
if
(
this
.
mode
===
mode
.
TIME
)
{
return
'
00:00
'
}
if
(
this
.
mode
===
mode
.
DATE
)
{
let
year
=
new
Date
().
getFullYear
()
-
100
switch
(
this
.
fields
)
{
case
fields
.
YEAR
:
return
year
case
fields
.
MONTH
:
return
year
+
'
-01
'
case
fields
.
DAY
:
return
year
+
'
-01-01
'
}
}
return
''
}
default
:
getDefaultStartValue
},
end
:
{
type
:
String
,
default
()
{
if
(
this
.
mode
===
mode
.
TIME
)
{
return
'
23:59
'
}
if
(
this
.
mode
===
mode
.
DATE
)
{
let
year
=
new
Date
().
getFullYear
()
+
100
switch
(
this
.
fields
)
{
case
fields
.
YEAR
:
return
year
case
fields
.
MONTH
:
return
year
+
'
-12
'
case
fields
.
DAY
:
return
year
+
'
-12-31
'
}
}
return
''
}
default
:
getDefaultEndValue
},
disabled
:
{
type
:
[
Boolean
,
String
],
...
...
@@ -185,24 +189,10 @@ export default {
}
},
startArray
()
{
var
splitStr
=
this
.
mode
===
mode
.
DATE
?
'
-
'
:
'
:
'
var
array
=
this
.
mode
===
mode
.
DATE
?
this
.
dateArray
:
this
.
timeArray
var
val
=
this
.
start
.
split
(
splitStr
).
map
((
val
,
i
)
=>
array
[
i
].
indexOf
(
val
))
if
(
val
.
indexOf
(
-
1
)
>=
0
)
{
val
=
array
.
map
(()
=>
0
)
}
return
this
.
_filterDateValue
(
val
)
return
this
.
_getDateValueArray
(
this
.
start
,
getDefaultStartValue
.
bind
(
this
)())
},
endArray
()
{
var
splitStr
=
this
.
mode
===
mode
.
DATE
?
'
-
'
:
'
:
'
var
array
=
this
.
mode
===
mode
.
DATE
?
this
.
dateArray
:
this
.
timeArray
var
val
=
this
.
end
.
split
(
splitStr
).
map
((
val
,
i
)
=>
array
[
i
].
indexOf
(
val
))
if
(
val
.
indexOf
(
-
1
)
>=
0
)
{
val
=
array
.
map
((
val
)
=>
val
.
length
-
1
)
}
return
this
.
_filterDateValue
(
val
)
return
this
.
_getDateValueArray
(
this
.
end
,
getDefaultEndValue
.
bind
(
this
)())
},
units
()
{
switch
(
this
.
mode
)
{
...
...
@@ -366,46 +356,14 @@ export default {
valueArray
=
[...
val
]
break
case
mode
.
TIME
:
var
timeValTestFail
=
false
if
(
typeof
this
.
value
!==
'
string
'
)
{
timeValTestFail
=
true
}
else
{
val
.
split
(
'
:
'
).
map
((
val
,
i
)
=>
{
var
valIndex
=
this
.
timeArray
[
i
].
indexOf
(
val
)
if
(
valIndex
===
-
1
)
{
timeValTestFail
=
true
}
})
}
// 处理默认值为当前时间
if
(
timeValTestFail
)
{
val
=
formatDateTime
({
valueArray
=
this
.
_getDateValueArray
(
val
,
formatDateTime
({
mode
:
mode
.
TIME
})
}
valueArray
=
val
.
split
(
'
:
'
)
.
map
((
val
,
i
)
=>
this
.
timeArray
[
i
].
indexOf
(
val
))
}))
break
case
mode
.
DATE
:
var
dateValTestFail
=
false
if
(
typeof
this
.
value
!==
'
string
'
)
{
dateValTestFail
=
true
}
else
{
val
.
split
(
'
-
'
).
map
((
val
,
i
)
=>
{
var
valIndex
=
this
.
dateArray
[
i
].
indexOf
(
val
)
if
(
valIndex
===
-
1
)
{
dateValTestFail
=
true
}
})
}
// 处理默认值为当前日期
if
(
dateValTestFail
)
{
val
=
formatDateTime
({
valueArray
=
this
.
_getDateValueArray
(
val
,
formatDateTime
({
mode
:
mode
.
DATE
})
}
valueArray
=
this
.
_filterDateValue
(
val
.
split
(
'
-
'
).
map
((
val
,
i
)
=>
this
.
dateArray
[
i
].
indexOf
(
val
)))
}))
break
}
this
.
oldValueArray
=
[...
valueArray
]
...
...
@@ -428,16 +386,28 @@ export default {
.
join
(
'
-
'
)
}
},
_filterDateValue
(
val
)
{
_getDateValueArray
(
valueStr
,
defaultValue
)
{
const
splitStr
=
this
.
mode
===
mode
.
DATE
?
'
-
'
:
'
:
'
const
array
=
this
.
mode
===
mode
.
DATE
?
this
.
dateArray
:
this
.
timeArray
let
max
=
3
switch
(
this
.
fields
)
{
case
fields
.
YEAR
:
val
.
length
=
1
max
=
1
break
case
fields
.
MONTH
:
val
.
length
=
2
max
=
2
break
}
return
val
const
inputArray
=
String
(
valueStr
).
split
(
splitStr
)
let
value
=
[]
for
(
let
i
=
0
;
i
<
max
;
i
++
)
{
const
val
=
inputArray
[
i
]
value
.
push
(
array
[
i
].
indexOf
(
val
))
}
if
(
value
.
indexOf
(
-
1
)
>=
0
)
{
value
=
defaultValue
?
this
.
_getDateValueArray
(
defaultValue
)
:
value
.
map
(()
=>
0
)
}
return
value
},
_change
()
{
this
.
_close
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录