feat: add iframe comp

pull/99/head^2
xingyu4j 2025-05-09 14:37:37 +08:00
parent 88c8447840
commit db864a53e2
2 changed files with 39 additions and 0 deletions

View File

@ -0,0 +1,38 @@
<script setup lang="ts">
import { onMounted, ref } from 'vue';
interface IFrameProps {
/** iframe 的源地址 */
src: string;
}
const props = defineProps<IFrameProps>();
const loading = ref(true);
const height = ref('');
const frameRef = ref<HTMLElement | null>(null);
function init() {
height.value = `${document.documentElement.clientHeight - 94.5}px`;
loading.value = false;
}
onMounted(() => {
setTimeout(() => {
init();
}, 300);
});
// TODO @使 vben
</script>
<template>
<div v-loading="loading" :style="`height:${height}`">
<iframe
ref="frameRef"
:src="props.src"
style="width: 100%; height: 100%"
frameborder="no"
scrolling="auto"
></iframe>
</div>
</template>

View File

@ -0,0 +1 @@
export { default as IFrame } from './iframe.vue';