Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
c9b9f006
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
5995
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看板
提交
c9b9f006
编写于
11月 06, 2023
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update uni-collapse.vue
上级
683b8fe1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
49 addition
and
49 deletion
+49
-49
components/uni-collapse/uni-collapse.vue
components/uni-collapse/uni-collapse.vue
+49
-49
未找到文件。
components/uni-collapse/uni-collapse.vue
浏览文件 @
c9b9f006
<
template
>
<!-- 父组件暂时无用,后续子组件联动需要使用到父组件 -->
<view>
<slot></slot>
</view>
</
template
>
<
script
lang=
"uts"
>
import
{
ComponentPublicInstance
}
from
'
vue
'
export
default
{
name
:
"
UniCollapse
"
,
props
:
{
// 是否开启手风琴效果
accordion
:
{
type
:
Boolean
,
default
:
true
}
},
data
()
{
return
{
child_nodes
:
[]
as
Array
<
ComponentPublicInstance
>
};
},
methods
:
{
init
(
child
:
ComponentPublicInstance
)
{
this
.
child_nodes
.
push
(
child
)
},
// 关闭所有
cloceAll
()
{
// 开启手风琴效果才回关闭其他
if
(
this
.
accordion
&&
this
.
child_nodes
.
length
>
0
)
{
this
.
child_nodes
.
forEach
((
item
)
=>
{
const
is_open
=
item
.
$data
.
get
(
'
is_open
'
)
as
boolean
// TODO 暂时无法获取子组件上的属性和方法,暂时使用绕过方案
if
(
is_open
)
{
item
.
$data
.
set
(
'
is_open
'
,
false
)
item
.
$callMethod
(
'
oepnOrClose
'
,
false
)
}
})
}
}
}
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
<
template
>
<!-- 父组件暂时无用,后续子组件联动需要使用到父组件 -->
<view>
<slot></slot>
</view>
</
template
>
<
script
lang=
"uts"
>
import
{
ComponentPublicInstance
}
from
'
vue
'
export
default
{
name
:
"
UniCollapse
"
,
props
:
{
// 是否开启手风琴效果
accordion
:
{
type
:
Boolean
,
default
:
true
}
},
data
()
{
return
{
child_nodes
:
[]
as
Array
<
ComponentPublicInstance
>
};
},
methods
:
{
init
(
child
:
ComponentPublicInstance
)
{
this
.
child_nodes
.
push
(
child
)
},
// 关闭所有
cloceAll
()
{
// 开启手风琴效果才回关闭其他
if
(
this
.
accordion
&&
this
.
child_nodes
.
length
>
0
)
{
this
.
child_nodes
.
forEach
((
item
)
=>
{
const
is_open
=
item
.
$data
[
'
is_open
'
]
as
boolean
// TODO 暂时无法获取子组件上的属性和方法,暂时使用绕过方案
if
(
is_open
)
{
item
.
$data
[
'
is_open
'
]
=
false
item
.
$callMethod
(
'
oepnOrClose
'
,
false
)
}
})
}
}
}
}
</
script
>
<
style
>
</
style
>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录