This commit is contained in:
2024-10-22 09:09:41 +08:00
parent ef869c5ab1
commit 3a9b2d55c6
99 changed files with 4506 additions and 3465 deletions

View File

@@ -90,7 +90,9 @@ const _sfc_main$1 = defineComponent({
const innerVisible = ref(props.visible);
const isExist = ref(props.visible);
let scrollElements;
const triggerMethods = computed(() => [].concat(props.trigger));
const triggerMethods = computed(
() => [].concat(props.trigger)
);
const doShow = function() {
if (!props.disabled) {
if (!isExist.value) {
@@ -112,7 +114,11 @@ const _sfc_main$1 = defineComponent({
style.value = { top: -window.innerHeight + "px", left: 0 };
};
const calcPosistion = function() {
postionFns[props.position] && (style.value = postionFns[props.position](triggerRefEl.value, popperRefEl.value, innnerPosition));
postionFns[props.position] && (style.value = postionFns[props.position](
triggerRefEl.value,
popperRefEl.value,
innnerPosition
));
};
const updatePosistion = function() {
if (innerVisible.value) {
@@ -184,14 +190,18 @@ const _sfc_main$1 = defineComponent({
updatePosistion();
}
}, 15);
onClickOutside(triggerRefEl.value, (e) => {
if (!innerVisible.value || triggerRefEl.value.contains(e.target) || popperRefEl.value.contains(e.target)) {
return;
onClickOutside(
triggerRefEl.value,
(e) => {
if (!innerVisible.value || triggerRefEl.value.contains(e.target) || popperRefEl.value.contains(e.target)) {
return;
}
doHidden();
},
{
ignore: [popperRefEl.value]
}
doHidden();
}, {
ignore: [popperRefEl.value]
});
);
useResizeObserver(triggerRefEl, () => {
updatePosistion();
});
@@ -206,10 +216,16 @@ const _sfc_main$1 = defineComponent({
popperObserver && popperObserver.stop();
}
});
watch(() => props.visible, (isShow) => isShow ? doShow() : doHidden());
watch(() => props.content, () => {
updatePosistion();
});
watch(
() => props.visible,
(isShow) => isShow ? doShow() : doHidden()
);
watch(
() => props.content,
() => {
updatePosistion();
}
);
const isScrollElement = function(element) {
return element.scrollHeight > element.offsetHeight || element.scrollWidth > element.offsetWidth;
};