chore: move useRect to @vant/use
This commit is contained in:
@@ -16,7 +16,7 @@ import {
|
||||
import { useToggle } from '@vant/use';
|
||||
import { useRefs } from '../../composition/use-refs';
|
||||
import { useExpose } from '../../composition/use-expose';
|
||||
import { useRect, useHeight } from '../../composition/use-rect';
|
||||
import { useRect, useHeight } from '../../composition/use-height';
|
||||
|
||||
// Components
|
||||
import Day from './Day';
|
||||
|
||||
@@ -17,8 +17,8 @@ import {
|
||||
} from './utils';
|
||||
|
||||
// Composition
|
||||
import { useRect } from '@vant/use';
|
||||
import { useRefs } from '../composition/use-refs';
|
||||
import { useRect } from '../composition/use-rect';
|
||||
import { useExpose } from '../composition/use-expose';
|
||||
|
||||
// Components
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
import { Ref, ref, unref, onMounted, nextTick } from 'vue';
|
||||
|
||||
export const useRect = (element: Element | Ref<Element>) => {
|
||||
return unref(element).getBoundingClientRect();
|
||||
};
|
||||
import { useRect } from '@vant/use';
|
||||
import { Ref, ref, onMounted, nextTick } from 'vue';
|
||||
|
||||
export const useHeight = (element: Element | Ref<Element>) => {
|
||||
const height = ref();
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useHeight } from './use-rect';
|
||||
import { useHeight } from './use-height';
|
||||
import type { Ref, VNode } from 'vue';
|
||||
import type { BEM } from '../utils/create/bem';
|
||||
|
||||
|
||||
@@ -5,12 +5,12 @@ import { createNamespace, isDef } from '../utils';
|
||||
|
||||
// Composition
|
||||
import {
|
||||
useRect,
|
||||
useChildren,
|
||||
useClickAway,
|
||||
useScrollParent,
|
||||
useEventListener,
|
||||
} from '@vant/use';
|
||||
import { useRect } from '../composition/use-rect';
|
||||
|
||||
const [createComponent, bem] = createNamespace('dropdown-menu');
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import { INDEX_BAR_KEY } from '../index-bar';
|
||||
|
||||
// Composition
|
||||
import { useParent } from '@vant/use';
|
||||
import { useHeight } from '../composition/use-rect';
|
||||
import { useHeight } from '../composition/use-height';
|
||||
import { useExpose } from '../composition/use-expose';
|
||||
|
||||
const [createComponent, bem] = createNamespace('index-anchor');
|
||||
|
||||
@@ -13,8 +13,12 @@ import {
|
||||
} from '../utils';
|
||||
|
||||
// Composition
|
||||
import { useChildren, useScrollParent, useEventListener } from '@vant/use';
|
||||
import { useRect } from '../composition/use-rect';
|
||||
import {
|
||||
useRect,
|
||||
useChildren,
|
||||
useScrollParent,
|
||||
useEventListener,
|
||||
} from '@vant/use';
|
||||
import { useTouch } from '../composition/use-touch';
|
||||
|
||||
export const INDEX_BAR_KEY = 'vanIndexBar';
|
||||
|
||||
+2
-16
@@ -4,8 +4,7 @@ import { ref, watch, nextTick, onUpdated, onMounted } from 'vue';
|
||||
import { isHidden, createNamespace } from '../utils';
|
||||
|
||||
// Composition
|
||||
import { useScrollParent, useEventListener } from '@vant/use';
|
||||
import { useRect } from '../composition/use-rect';
|
||||
import { useRect, useScrollParent, useEventListener } from '@vant/use';
|
||||
import { useExpose } from '../composition/use-expose';
|
||||
|
||||
// Components
|
||||
@@ -44,19 +43,6 @@ export default createComponent({
|
||||
const placeholder = ref();
|
||||
const scrollParent = useScrollParent(root);
|
||||
|
||||
const getScrollParentRect = () => {
|
||||
const element = scrollParent.value;
|
||||
if (element.getBoundingClientRect) {
|
||||
return element.getBoundingClientRect();
|
||||
}
|
||||
const height = element.innerHeight;
|
||||
return {
|
||||
top: 0,
|
||||
height,
|
||||
bottom: height,
|
||||
};
|
||||
};
|
||||
|
||||
const check = () => {
|
||||
nextTick(() => {
|
||||
if (loading.value || props.finished || props.error) {
|
||||
@@ -64,7 +50,7 @@ export default createComponent({
|
||||
}
|
||||
|
||||
const { offset, direction } = props;
|
||||
const scrollParentRect = getScrollParentRect();
|
||||
const scrollParentRect = useRect(scrollParent);
|
||||
|
||||
if (!scrollParentRect.height || isHidden(root)) {
|
||||
return false;
|
||||
|
||||
@@ -2,8 +2,7 @@ import { ref, watch, reactive, nextTick, onActivated } from 'vue';
|
||||
import { isDef, doubleRaf, createNamespace } from '../utils';
|
||||
|
||||
// Composition
|
||||
import { useRect } from '../composition/use-rect';
|
||||
import { useEventListener } from '@vant/use';
|
||||
import { useRect, useEventListener } from '@vant/use';
|
||||
|
||||
// Components
|
||||
import Icon from '../icon';
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ import {
|
||||
import { deepClone } from '../utils/deep-clone';
|
||||
|
||||
// Composition
|
||||
import { useRect } from '../composition/use-rect';
|
||||
import { useRect } from '@vant/use';
|
||||
import { useTouch } from '../composition/use-touch';
|
||||
import { useLinkField } from '../composition/use-link-field';
|
||||
|
||||
|
||||
@@ -5,8 +5,7 @@ import { range, createNamespace, preventDefault } from '../utils';
|
||||
import { callInterceptor } from '../utils/interceptor';
|
||||
|
||||
// Composition
|
||||
import { useClickAway } from '@vant/use';
|
||||
import { useRect } from '../composition/use-rect';
|
||||
import { useRect, useClickAway } from '@vant/use';
|
||||
import { useTouch } from '../composition/use-touch';
|
||||
import { useExpose } from '../composition/use-expose';
|
||||
|
||||
|
||||
+6
-2
@@ -19,8 +19,12 @@ import {
|
||||
} from '../utils';
|
||||
|
||||
// Composition
|
||||
import { useChildren, useWindowSize, usePageVisibility } from '@vant/use';
|
||||
import { useRect } from '../composition/use-rect';
|
||||
import {
|
||||
useRect,
|
||||
useChildren,
|
||||
useWindowSize,
|
||||
usePageVisibility,
|
||||
} from '@vant/use';
|
||||
import { useTouch } from '../composition/use-touch';
|
||||
import { useExpose } from '../composition/use-expose';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user