Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
陈庄旺
uni-app
提交
e6f35817
U
uni-app
项目概览
陈庄旺
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
e6f35817
编写于
8月 08, 2019
作者:
Y
YanYiLin
提交者:
GitHub
8月 08, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Create progress.js
add nvue component <progress>
上级
3af00f0d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
170 addition
and
0 deletion
+170
-0
src/platforms/app-plus-nvue/runtime/components/progress.js
src/platforms/app-plus-nvue/runtime/components/progress.js
+170
-0
未找到文件。
src/platforms/app-plus-nvue/runtime/components/progress.js
0 → 100644
浏览文件 @
e6f35817
import
{
PRIMARY_COLOR
}
from
'
../constants
'
import
{
emitter
}
from
'
../mixins
'
const
BACKGROUND_COLOR
=
'
#EBEBEB
'
const
ANIMATE_INTERVAL
=
30
const
FONT_SIZE
=
16
const
STROKE_WIDTH
=
6
function
getProgress
(
weex
)
{
return
{
name
:
'
Progress
'
,
mixins
:
[
emitter
],
props
:
{
percent
:
{
type
:
[
String
,
Number
],
default
:
0
},
showInfo
:
{
type
:
Boolean
,
default
:
false
},
borderRadius
:
{
type
:
[
String
,
Number
],
default
:
0
},
fontSize
:
{
type
:
[
String
,
Number
],
default
:
FONT_SIZE
},
strokeWidth
:
{
type
:
[
String
,
Number
],
default
:
STROKE_WIDTH
},
active
:
{
type
:
Boolean
,
default
:
false
},
activeColor
:
{
type
:
String
,
default
:
PRIMARY_COLOR
},
activeMode
:
{
type
:
String
,
default
:
'
backwards
'
},
backgroundColor
:
{
type
:
String
,
default
:
BACKGROUND_COLOR
}
},
data
()
{
return
{
width
:
0
,
curPercent
:
0
}
},
computed
:
{
barStyle
()
{
return
{
height
:
this
.
strokeWidth
,
borderRadius
:
this
.
borderRadius
,
backgroundColor
:
this
.
backgroundColor
}
},
innerBarStyle
()
{
return
{
width
:
this
.
activeWidth
,
height
:
this
.
strokeWidth
,
backgroundColor
:
this
.
activeColor
}
},
activeWidth
()
{
return
this
.
curPercent
*
this
.
width
/
100
},
finalPercent
()
{
let
percent
=
parseFloat
(
this
.
percent
,
10
)
percent
>
100
&&
(
percent
=
100
)
percent
<
0
&&
(
percent
=
0
)
return
percent
}
},
watch
:
{
finalPercent
(
newVal
,
oldVal
)
{
this
.
_timerId
&&
clearInterval
(
this
.
_timerId
)
this
.
_lastPercent
=
oldVal
||
0
this
.
_animate
()
}
},
mounted
()
{
setTimeout
(()
=>
{
const
dom
=
weex
.
requireModule
(
'
dom
'
)
dom
.
getComponentRect
(
this
.
$refs
.
progress
,
res
=>
{
this
.
width
=
res
.
size
.
width
this
.
_animate
()
})
},
50
)
},
methods
:
{
_animate
()
{
const
percent
=
this
.
finalPercent
if
(
!
this
.
active
)
{
return
(
this
.
curPercent
=
percent
)
}
this
.
curPercent
=
this
.
activeMode
===
'
forwards
'
?
this
.
_lastPercent
:
0
this
.
_timerId
=
setInterval
(()
=>
{
if
(
percent
<=
this
.
curPercent
+
1
)
{
this
.
curPercent
=
percent
clearInterval
(
this
.
_timerId
)
this
.
$trigger
(
'
activeend
'
,
{
curPercent
:
this
.
curPercent
})
}
else
{
++
this
.
curPercent
}
},
ANIMATE_INTERVAL
)
}
},
render
(
createElement
)
{
const
_vm
=
this
return
createElement
(
'
div
'
,
_vm
.
_g
({
ref
:
'
progress
'
,
staticClass
:
[
'
uni-progress
'
]
},
_vm
.
$listeners
),
[
createElement
(
'
div
'
,
{
staticClass
:
[
'
uni-progress-bar
'
],
style
:
_vm
.
barStyle
},
[
createElement
(
'
div
'
,
{
staticClass
:
[
'
uni-progress-inner-bar
'
],
style
:
_vm
.
innerBarStyle
})
]),
_vm
.
showInfo
?
[
createElement
(
'
u-text
'
,
{
staticClass
:
[
'
uni-progress-info
'
],
style
:
{
fontSize
:
_vm
.
fontSize
}
},
[
_vm
.
curPercent
+
'
%
'
])
]
:
_vm
.
_e
()
],
2
)
},
style
:
{
'
uni-progress
'
:
{
flexDirection
:
'
row
'
,
alignItems
:
'
center
'
},
'
uni-progress-bar
'
:
{
flex
:
1
},
'
uni-progress-inner-bar
'
:
{
position
:
'
absolute
'
},
'
uni-progress-info
'
:
{
marginLeft
:
'
15px
'
}
}
}
}
export
default
function
init
(
Vue
,
weex
)
{
Vue
.
component
(
'
progress
'
,
getProgress
(
weex
))
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录