Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
5fdb744e
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
6132
Star
98
Fork
169
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
19
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello uni-app x
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
19
Issue
19
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
5fdb744e
编写于
10月 16, 2024
作者:
M
mehaotian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 折叠面板兼容微信小程序
上级
c924338b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
44 addition
and
27 deletion
+44
-27
components/uni-collapse-item/uni-collapse-item.vue
components/uni-collapse-item/uni-collapse-item.vue
+44
-27
未找到文件。
components/uni-collapse-item/uni-collapse-item.vue
浏览文件 @
5fdb744e
...
...
@@ -5,8 +5,8 @@
: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"
>
<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>
...
...
@@ -35,9 +35,10 @@
data
()
{
return
{
height
:
0
,
is_open
:
this
.
open
as
boolean
,
is_open
:
this
.
open
as
boolean
,
box_is_open
:
this
.
open
as
boolean
,
boxNode
:
null
as
UniElement
|
null
,
contentNode
:
null
as
UniElement
|
null
,
contentNode
:
null
as
UniElement
|
null
,
};
},
watch
:
{
...
...
@@ -65,35 +66,42 @@
this
.
is_open
=
open
this
.
openOrClose
(
open
)
},
openOrClose
(
open
:
boolean
)
{
const
boxNode
=
this
.
boxNode
?.
style
!
;
const
contentNode
=
this
.
contentNode
?.
style
!
;
let
hide
=
open
?
'
flex
'
:
'
none
'
;
const
opacity
=
open
?
"
1
"
:
"
0
"
let
ani_transform
=
open
?
'
translateY(0)
'
:
'
translateY(-100%)
'
;
boxNode
.
setProperty
(
'
display
'
,
hide
);
this
.
$nextTick
(()
=>
{
contentNode
.
setProperty
(
'
transform
'
,
ani_transform
);
contentNode
.
setProperty
(
'
opacity
'
,
opacity
);
})
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
'
;
const
opacity
=
open
?
"
1
"
:
"
0
"
let
ani_transform
=
open
?
'
translateY(0)
'
:
'
translateY(-100%)
'
;
boxNode
.
setProperty
(
'
display
'
,
hide
);
this
.
$nextTick
(()
=>
{
contentNode
.
setProperty
(
'
transform
'
,
ani_transform
);
contentNode
.
setProperty
(
'
opacity
'
,
opacity
);
})
// #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 +112,46 @@
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
;
position
:
relative
;
overflow
:
hidden
;
}
.uni-collapse-item
.box-open--active
{
display
:
flex
;
}
.uni-collapse-item__content-box
{
.uni-collapse-item
.uni-collapse-item
__content-box
{
width
:
100%
;
transition-property
:
transform
,
opacity
;
transition-duration
:
0.2s
;
transform
:
translateY
(
-100%
);
opacity
:
0
;
}
.uni-collapse-item
.content-open--active
{
transform
:
translateY
(
0%
);
opacity
:
1
;
}
</
style
>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录