Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
93c1b2b9
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
5992
Star
90
Fork
162
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
18
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello uni-app x
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
18
Issue
18
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
93c1b2b9
编写于
11月 13, 2024
作者:
M
mehaotian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 修复折叠面板动画失效的问题
上级
f38140a8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
36 addition
and
16 deletion
+36
-16
components/uni-collapse-item/uni-collapse-item.vue
components/uni-collapse-item/uni-collapse-item.vue
+36
-16
未找到文件。
components/uni-collapse-item/uni-collapse-item.vue
浏览文件 @
93c1b2b9
<
template
>
<view
class=
"uni-collapse-item"
>
<view
class=
"uni-collapse-item__title"
@
click=
"openCollapse(!is_open)"
>
<text
class=
"uni-collapse-item__title-text"
:class=
"
{'is-disabled':disabled,'open--active':is_open}">
{{
title
}}
</text>
<text
class=
"uni-collapse-item__title-text"
:class=
"
{'is-disabled':disabled,'open--active':is_open}">
{{
title
}}
</text>
<view
class=
"down_arrow"
:class=
"
{'down_arrow--active': is_open}">
</view>
</view>
<view
ref=
"boxRef"
class=
"uni-collapse-item__content"
>
<view
ref=
"contentRef"
class=
"uni-collapse-item__content-box"
>
<slot></slot>
<view
ref=
"boxRef"
class=
"uni-collapse-item__content"
:class=
"
{'box-open--active':is_open}"
>
<view
ref=
"contentRef"
class=
"uni-collapse-item__content-box"
:class=
"
{'content-open--active':box_is_open}"
>
<slot></slot>
</view>
</view>
</view>
...
...
@@ -36,6 +35,7 @@
return
{
height
:
0
,
is_open
:
this
.
open
as
boolean
,
box_is_open
:
this
.
open
as
boolean
,
boxNode
:
null
as
UniElement
|
null
,
contentNode
:
null
as
UniElement
|
null
,
};
...
...
@@ -66,6 +66,12 @@
this
.
openOrClose
(
open
)
},
openOrClose
(
open
:
boolean
)
{
// #ifdef MP-WEIXIN
setTimeout
(()
=>
{
this
.
box_is_open
=
open
},
10
)
// #endif
// #ifndef MP-WEIXIN
const
boxNode
=
this
.
boxNode
?.
style
!
;
const
contentNode
=
this
.
contentNode
?.
style
!
;
let
hide
=
open
?
'
flex
'
:
'
none
'
;
...
...
@@ -73,27 +79,30 @@
let
ani_transform
=
open
?
'
translateY(0)
'
:
'
translateY(-100%)
'
;
boxNode
.
setProperty
(
'
display
'
,
hide
);
this
.
$nextTick
(()
=>
{
contentNode
.
setProperty
(
'
transform
'
,
ani_transform
);
contentNode
.
setProperty
(
'
opacity
'
,
opacity
);
setTimeout
(()
=>
{
contentNode
.
setProperty
(
'
transform
'
,
ani_transform
);
contentNode
.
setProperty
(
'
opacity
'
,
opacity
);
},
10
)
})
// #endif
}
}
}
</
script
>
<
style
scoped
>
<
style
>
.uni-collapse-item
{
background-color
:
#fff
;
}
.uni-collapse-item__title
{
.uni-collapse-item
.uni-collapse-item
__title
{
flex-direction
:
row
;
align-items
:
center
;
padding
:
12px
;
background-color
:
#fff
;
}
.down_arrow
{
.
uni-collapse-item
.
down_arrow
{
width
:
8px
;
height
:
8px
;
transform
:
rotate
(
45deg
);
...
...
@@ -104,37 +113,48 @@
transition-duration
:
0.2s
;
}
.down_arrow--active
{
.
uni-collapse-item
.
down_arrow--active
{
transform
:
rotate
(
-135deg
);
margin-top
:
0px
;
}
.uni-collapse-item__title-text
{
.uni-collapse-item
.uni-collapse-item
__title-text
{
flex
:
1
;
color
:
#000
;
font-size
:
14px
;
font-weight
:
400
;
}
.open--active
{
.
uni-collapse-item
.
open--active
{
/* background-color: #f0f0f0; */
color
:
#bbb
;
}
.is-disabled
{
.
uni-collapse-item
.
is-disabled
{
color
:
#999
;
}
.uni-collapse-item__content
{
.uni-collapse-item
.uni-collapse-item
__content
{
display
:
none
;
position
:
relative
;
overflow
:
hidden
;
}
.uni-collapse-item__content-box
{
.uni-collapse-item
.box-open--active
{
display
:
flex
;
}
.uni-collapse-item
.uni-collapse-item__content-box
{
width
:
100%
;
transition-property
:
transform
,
opacity
;
transition-duration
:
0.2s
;
transform
:
translateY
(
-100%
);
opacity
:
0
;
}
/* #ifdef MP-WEIXIN */
.uni-collapse-item
.content-open--active
{
transform
:
translateY
(
0%
);
opacity
:
1
;
}
/* #endif */
</
style
>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录