salix-front/src/components/FetchData.vue

47 lines
770 B
Vue
Raw Normal View History

2022-10-27 12:59:19 +00:00
<script setup>
import { h, onMounted } from 'vue';
import axios from 'axios';
const $props = defineProps({
autoLoad: {
type: Boolean,
default: false,
},
url: {
type: String,
default: '',
},
filter: {
type: Object,
default: null,
},
limit: {
type: String,
default: '20',
},
});
const emit = defineEmits(['fetch-data']);
onMounted(async () => {
if ($props.autoLoad) {
await fetch();
}
});
async function fetch() {
const { data } = await axios.get($props.url, {
params: { filter: $props.filter },
});
return emit('fetch-data', data);
}
const render = () => {
return h('div', []);
};
</script>
<template>
<render />
</template>