Skip to content

Vue3 Fileinput Props

Props

PropTypeDescription
v-modelFileThe selected file object.
fileTypeArrayAllowed file types.
maxSizeNumberMaximum file size in bytes.
placeholderStringPlaceholder text.
helperTextStringHelper text below the input.

Using Props Example

vue
<template>
  <Vue3Fileinput
    v-model="uploadedFile"
    :fileType="['image/png', 'image/jpeg']"
    :maxSize="5 * 1024 * 1024"
    placeholder="Drop your file here"
    helperText="Max size Upload: 5MB"
  />
</template>

<script setup>
import { ref } from "vue";

const uploadedFile = ref(null);
</script>

inValid Prop

vue
<template>
  <Vue3Fileinput
    v-model="uploadedFile"
    :fileType="['image/png', 'image/jpeg']"
    :maxSize="5 * 1024 * 1024"
    placeholder="Drop your file here"
    helperText="Max size Upload: 5MB"
    :inValid="true"
  />
</template>

<script setup>
import { ref } from "vue";

const uploadedFile = ref(null);
</script>

slot #icon

vue
<Vue3Fileinput v-model="uploadedFile">
  <template #icon>
    <svg xmlns="http://www.w3.org/2000/svg" width="35" height="35" fill="currentColor" class="bi bi-cloud-arrow-up" viewBox="0 0 16 16">
  <path fill-rule="evenodd" d="M7.646 5.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708z"/>
  <path d="M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383m.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z"/>
</svg>
  </template>
</Vue3Fileinput>

<script setup>
import { ref } from "vue";

const uploadedFile = ref(null);
</script>

Since we are not using any specific icon library, users have the flexibility to integrate their own preferred icon libraries. However, if needed, we can utilize icons from our available libraries.