Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
开源元宇宙
vue-vben-admin
提交
92cc6036
V
vue-vben-admin
项目概览
开源元宇宙
/
vue-vben-admin
与 Fork 源项目一致
从无法访问的项目Fork
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vue-vben-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
92cc6036
编写于
2月 05, 2023
作者:
qq_25847755
提交者:
GitHub
2月 05, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: fix type (#2516)
上级
d3ec7a58
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
23 addition
and
7 deletion
+23
-7
src/utils/index.ts
src/utils/index.ts
+23
-7
未找到文件。
src/utils/index.ts
浏览文件 @
92cc6036
import
type
{
RouteLocationNormalized
,
RouteRecordNormalized
}
from
'
vue-router
'
;
import
type
{
App
,
Plugin
}
from
'
vue
'
;
import
type
{
App
,
Component
}
from
'
vue
'
;
import
{
unref
}
from
'
vue
'
;
import
{
isObject
}
from
'
/@/utils/is
'
;
...
...
@@ -57,7 +57,7 @@ export function openWindow(
}
// dynamic use hook props
export
function
getDynamicProps
<
T
,
U
>
(
props
:
T
):
Partial
<
U
>
{
export
function
getDynamicProps
<
T
extends
Record
<
string
,
unknown
>
,
U
>
(
props
:
T
):
Partial
<
U
>
{
const
ret
:
Recordable
=
{};
Object
.
keys
(
props
).
map
((
key
)
=>
{
...
...
@@ -82,13 +82,29 @@ export function getRawRoute(route: RouteLocationNormalized): RouteLocationNormal
};
}
export
const
withInstall
=
<
T
>
(
component
:
T
,
alias
?:
string
)
=>
{
const
comp
=
component
as
any
;
comp
.
install
=
(
app
:
App
)
=>
{
app
.
component
(
comp
.
name
||
comp
.
displayName
,
component
);
// https://github.com/vant-ui/vant/issues/8302
type
EventShim
=
{
new
(...
args
:
any
[]):
{
$props
:
{
onClick
?:
(...
args
:
any
[])
=>
void
;
};
};
};
export
type
WithInstall
<
T
>
=
T
&
{
install
(
app
:
App
):
void
;
}
&
EventShim
;
export
type
CustomComponent
=
Component
&
{
displayName
?:
string
};
export
const
withInstall
=
<
T
extends
CustomComponent
>
(
component
:
T
,
alias
?:
string
)
=>
{
(
component
as
Record
<
string
,
unknown
>
).
install
=
(
app
:
App
)
=>
{
const
compName
=
component
.
name
||
component
.
displayName
;
if
(
!
compName
)
return
;
app
.
component
(
compName
,
component
);
if
(
alias
)
{
app
.
config
.
globalProperties
[
alias
]
=
component
;
}
};
return
component
as
T
&
Plugin
;
return
component
as
WithInstall
<
T
>
;
};
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录