Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
najiu-admin-template
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
najiu-frontend
najiu-admin-template
Commits
b6d5e5c9
Commit
b6d5e5c9
authored
Nov 05, 2020
by
vben
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
perf: enhance openModal and openDrawer
parent
94bf854d
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
38 additions
and
14 deletions
+38
-14
types.ts
src/components/Drawer/src/types.ts
+1
-1
useDrawer.ts
src/components/Drawer/src/useDrawer.ts
+4
-1
types.ts
src/components/Modal/src/types.ts
+2
-2
useModal.ts
src/components/Modal/src/useModal.ts
+4
-1
index.vue
src/views/demo/comp/drawer/index.vue
+12
-3
index.vue
src/views/demo/comp/modal/index.vue
+15
-6
No files found.
src/components/Drawer/src/types.ts
View file @
b6d5e5c9
...
...
@@ -7,7 +7,7 @@ export interface DrawerInstance {
}
export
interface
ReturnMethods
extends
DrawerInstance
{
openDrawer
:
(
visible
?:
boolean
)
=>
void
;
openDrawer
:
<
T
=
any
>
(
visible
?:
boolean
,
data
?:
T
)
=>
void
;
transferDrawerData
:
(
data
:
any
)
=>
void
;
}
...
...
src/components/Drawer/src/useDrawer.ts
View file @
b6d5e5c9
...
...
@@ -51,10 +51,13 @@ export function useDrawer(): UseDrawerReturnType {
getInstance
().
setDrawerProps
(
props
);
},
openDrawer
:
(
visible
=
true
):
void
=>
{
openDrawer
:
<
T
=
any
>
(
visible
=
true
,
data
?:
T
):
void
=>
{
getInstance
().
setDrawerProps
({
visible
:
visible
,
});
if
(
data
)
{
dataTransferRef
[
unref
(
uidRef
)]
=
data
;
}
},
transferDrawerData
(
val
:
any
)
{
...
...
src/components/Modal/src/types.ts
View file @
b6d5e5c9
import
type
{
ButtonProps
}
from
'
ant-design-vue/
types/button/button
'
;
import
type
{
ButtonProps
}
from
'
ant-design-vue/
lib/button/buttonTypes
'
;
import
type
{
CSSProperties
,
VNodeChild
}
from
'
vue
'
;
/**
* @description: 弹窗对外暴露的方法
...
...
@@ -9,7 +9,7 @@ export interface ModalMethods {
export
type
RegisterFn
=
(
modalMethods
:
ModalMethods
,
uuid
?:
string
)
=>
void
;
export
interface
ReturnMethods
extends
ModalMethods
{
openModal
:
(
props
?:
boolean
)
=>
void
;
openModal
:
<
T
=
any
>
(
props
?:
boolean
,
data
?:
T
)
=>
void
;
transferModalData
:
(
data
:
any
)
=>
void
;
}
export
type
UseModalReturnType
=
[
RegisterFn
,
ReturnMethods
];
...
...
src/components/Modal/src/useModal.ts
View file @
b6d5e5c9
...
...
@@ -46,10 +46,13 @@ export function useModal(): UseModalReturnType {
getInstance
().
setModalProps
(
props
);
},
openModal
:
(
visible
=
true
):
void
=>
{
openModal
:
<
T
=
any
>
(
visible
=
true
,
data
?:
T
):
void
=>
{
getInstance
().
setModalProps
({
visible
:
visible
,
});
if
(
data
)
{
dataTransferRef
[
unref
(
uidRef
)]
=
data
;
}
},
transferModalData
(
val
:
any
)
{
...
...
src/views/demo/comp/drawer/index.vue
View file @
b6d5e5c9
...
...
@@ -38,14 +38,23 @@
const
[
register1
,
{
openDrawer
:
openDrawer1
,
setDrawerProps
}]
=
useDrawer
();
const
[
register2
,
{
openDrawer
:
openDrawer2
}]
=
useDrawer
();
const
[
register3
,
{
openDrawer
:
openDrawer3
}]
=
useDrawer
();
const
[
register4
,
{
openDrawer
:
openDrawer4
,
transferDrawerData
}]
=
useDrawer
();
const
[
register4
,
{
openDrawer
:
openDrawer4
,
// ransferDrawerData
},
]
=
useDrawer
();
const
[
register5
,
{
openDrawer
:
openDrawer5
}]
=
useDrawer
();
function
send
()
{
transferDrawerData
({
// transferDrawerData({
// data: 'content',
// info: 'Info',
// });
openDrawer4
(
true
,
{
data
:
'
content
'
,
info
:
'
Info
'
,
});
openDrawer4
(
true
);
}
function
openDrawerLoading
()
{
openDrawer1
();
...
...
src/views/demo/comp/modal/index.vue
View file @
b6d5e5c9
...
...
@@ -40,19 +40,28 @@
const
[
register1
,
{
openModal
:
openModal1
,
setModalProps
}]
=
useModal
();
const
[
register2
,
{
openModal
:
openModal2
}]
=
useModal
();
const
[
register3
,
{
openModal
:
openModal3
}]
=
useModal
();
const
[
register4
,
{
openModal
:
openModal4
,
transferModalData
}]
=
useModal
();
const
[
register4
,
{
openModal
:
openModal4
,
// transferModalData
},
]
=
useModal
();
function
send
()
{
transferModalData
({
data
:
'
content
'
,
info
:
'
Info
'
,
});
//
transferModalData({
//
data: 'content',
//
info: 'Info',
//
});
// setTimeout(() => {
// transferModalData({
// data: 'content1',
// info: 'Info1',
// });
// }, 3000);
openModal4
(
true
);
openModal4
(
true
,
{
data
:
'
content
'
,
info
:
'
Info
'
,
});
}
function
openModalLoading
()
{
openModal1
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment