mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-24 02:16:12 +08:00
feat: add use-lazy-render
This commit is contained in:
parent
bd41102cf3
commit
d9e9879465
13
src/api/use-lazy-render.ts
Normal file
13
src/api/use-lazy-render.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import { ref, Ref, watch } from 'vue';
|
||||
|
||||
export function useLazyRender(show: Ref<boolean>) {
|
||||
const inited = ref(show.value);
|
||||
|
||||
watch(show, (value) => {
|
||||
if (value) {
|
||||
inited.value = value;
|
||||
}
|
||||
});
|
||||
|
||||
return inited;
|
||||
}
|
@ -6,6 +6,7 @@ import { raf, doubleRaf } from '../utils/dom/raf';
|
||||
|
||||
// Composition
|
||||
import { useParent } from '../api/use-relation';
|
||||
import { useLazyRender } from '../api/use-lazy-render';
|
||||
|
||||
// Components
|
||||
import Cell from '../cell';
|
||||
@ -42,7 +43,7 @@ export default createComponent({
|
||||
});
|
||||
|
||||
const show = ref(expanded.value);
|
||||
const inited = ref(expanded.value);
|
||||
const shouldRender = useLazyRender(show);
|
||||
|
||||
const onTransitionEnd = () => {
|
||||
if (!expanded.value) {
|
||||
@ -59,7 +60,6 @@ export default createComponent({
|
||||
|
||||
if (value) {
|
||||
show.value = true;
|
||||
inited.value = true;
|
||||
}
|
||||
|
||||
// Use raf: flick when opened in safari
|
||||
@ -118,7 +118,7 @@ export default createComponent({
|
||||
};
|
||||
|
||||
const renderContent = () => {
|
||||
if (inited.value) {
|
||||
if (shouldRender.value) {
|
||||
return (
|
||||
<div
|
||||
ref={wrapper}
|
||||
|
Loading…
x
Reference in New Issue
Block a user