Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
27ccdcc8
U
uni-app
项目概览
DCloud
/
uni-app
6 个月 前同步成功
通知
750
Star
38709
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
8
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
8
Issue
8
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
27ccdcc8
编写于
3月 29, 2024
作者:
D
DCloud_LXH
提交者:
qiang
5月 08, 2024
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: input 在输入小数点时不上屏的Bug
上级
02511425
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
38 addition
and
28 deletion
+38
-28
packages/uni-components/src/vue/input/index.tsx
packages/uni-components/src/vue/input/index.tsx
+38
-28
未找到文件。
packages/uni-components/src/vue/input/index.tsx
浏览文件 @
27ccdcc8
...
...
@@ -86,30 +86,32 @@ export default /*#__PURE__*/ defineBuiltInComponent({
input
.
removeEventListener
(
'
blur
'
,
resetCache
)
resetCache
=
null
}
//ios 16之后number类型连续输入3个小数点后会自动删除数字
if
(
plus
.
os
.
version
&&
plus
.
os
.
name
===
'
iOS
'
&&
parseFloat
(
plus
.
os
.
version
)
>=
16.0
)
{
if
(
cache
.
value
&&
!
state
.
value
&&
!
input
.
value
)
{
pointCount
=
pointCount
>=
2
?
pointCount
:
pointCount
+
1
if
(
cache
.
value
.
includes
(
'
.
'
))
{
input
.
value
=
cache
.
value
return
true
}
return
false
}
if
(
__PLATFORM__
===
'
app
'
)
{
//ios 16之后number类型连续输入3个小数点后会自动删除数字
if
(
cache
.
value
.
includes
(
'
.
'
)
&&
state
.
value
==
cache
.
value
.
slice
(
0
,
-
1
)
&&
p
ointCount
>=
2
plus
.
os
.
version
&&
plus
.
os
.
name
===
'
iOS
'
&&
p
arseFloat
(
plus
.
os
.
version
)
>=
16.0
)
{
state
.
value
=
input
.
value
=
cache
.
value
return
true
if
(
cache
.
value
&&
!
state
.
value
&&
!
input
.
value
)
{
pointCount
=
pointCount
>=
2
?
pointCount
:
pointCount
+
1
if
(
cache
.
value
.
includes
(
'
.
'
))
{
input
.
value
=
cache
.
value
return
true
}
return
false
}
if
(
cache
.
value
.
includes
(
'
.
'
)
&&
state
.
value
==
cache
.
value
.
slice
(
0
,
-
1
)
&&
pointCount
>=
2
)
{
state
.
value
=
input
.
value
=
cache
.
value
return
true
}
}
pointCount
=
0
}
pointCount
=
0
if
(
input
.
validity
&&
!
input
.
validity
.
valid
)
{
if
(
((
!
cache
.
value
||
!
input
.
value
)
&&
...
...
@@ -126,12 +128,9 @@ export default /*#__PURE__*/ defineBuiltInComponent({
return
false
}
// 处理小数点
if
(
cache
.
value
)
{
if
((
event
as
InputEvent
).
data
===
'
.
'
)
{
// 输入小数点时
cache
.
value
+=
'
.
'
return
false
}
if
(
cache
.
value
&&
(
event
as
InputEvent
).
data
===
'
.
'
)
{
cache
.
value
+=
'
.
'
return
false
}
cache
.
value
=
state
.
value
=
...
...
@@ -140,6 +139,11 @@ export default /*#__PURE__*/ defineBuiltInComponent({
// 输入非法字符不触发 input 事件
return
false
}
else
{
// 处理在 chrome 中输入 . 不上屏的问题
if
(
cache
.
value
&&
(
event
as
InputEvent
).
data
===
'
.
'
)
{
cache
.
value
+=
'
.
'
return
false
}
cache
.
value
=
input
.
value
}
...
...
@@ -157,7 +161,7 @@ export default /*#__PURE__*/ defineBuiltInComponent({
()
=>
state
.
value
,
(
value
)
=>
{
if
(
props
.
type
===
'
number
'
&&
!
(
cache
.
value
===
'
-
'
&&
value
===
''
))
{
cache
.
value
=
value
cache
.
value
=
value
.
toString
()
}
}
)
...
...
@@ -242,7 +246,13 @@ export default /*#__PURE__*/ defineBuiltInComponent({
<
uni
-
input
ref
=
{
rootRef
}
>
<
div
class
=
"uni-input-wrapper"
>
<
div
v
-
show
=
{
!
(
state
.
value
.
length
||
cache
.
value
===
'
-
'
)
}
v
-
show
=
{
!
(
state
.
value
.
length
||
cache
.
value
===
'
-
'
||
cache
.
value
.
includes
(
'
.
'
)
)
}
{
...
scopedAttrsState
.
attrs
}
style
=
{
props
.
placeholderStyle
}
class
=
{
[
'
uni-input-placeholder
'
,
props
.
placeholderClass
]
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录