File
Vue Bootstrap 5 File
Vue File Input is a field which the user can use to upload one or more files (photos, documents or any other file type) from local storage.
Basic example
The file input is the most gnarly of the bunch and requires additional JavaScript if you’d like to hook them up with functional Choose file… and selected file name text.
        
            
            <template>
              <MDBFile v-model="files1" label="Default file input example" />
            </template>
          
        
    
        
            
            <script>
              import { MDBFile } from "mdb-vue-ui-kit";
              import { ref } from "vue";
              export default {
                components: {
                  MDBFile
                },
                setup() {
                  const files1 = ref([]);
                  return {
                    files1
                  };
                }
              };
            </script>
          
        
    
        
            
            <script setup lang="ts">
              import { MDBFile } from "mdb-vue-ui-kit";
              import { ref } from "vue";
              const files1 = ref([]);
            </script>
          
        
    
      Add the disabled attribute to the component and the custom markup will be updated
      to appear disabled.
    
        
            
            <template>
              <MDBFile disabled label="Disabled file input example" />
            </template>
          
        
    
        
            
            <script>
              import { MDBFile } from "mdb-vue-ui-kit";
              export default {
                components: {
                  MDBFile
                }
              };
            </script>
          
        
    
        
            
            <script setup lang="ts">
              import { MDBFile } from "mdb-vue-ui-kit";
            </script>
          
        
    
Sizing
You may also choose from small and large file inputs to match our similarly sized text inputs.
        
            
            <template>
              <MDBFile
                size="sm"
                label="Small file input example"
                class="mb-2"
              />
              <MDBFile size="lg" label="Large file input example" />
            </template>
          
        
    
        
            
            <script>
              import { MDBFile } from "mdb-vue-ui-kit";
              export default {
                components: {
                  MDBFile
                }
              };
            </script>
          
        
    
        
            
            <script setup lang="ts">
              import { MDBFile } from "mdb-vue-ui-kit";
            </script>
          
        
    
Multiple
      Add the multiple attribute to the component to enable uploading more than one
      file.
    
        
            
            <template>
              <MDBFile
                v-model="files2"
                multiple
                label="Multiple file input example"
              />
            </template>
          
        
    
        
            
            <script>
              import { MDBFile } from "mdb-vue-ui-kit";
              import { ref } from "vue";
              
              export default {
                components: {
                  MDBFile
                },
                setup() {
                  const files2 = ref([]);
                  return {
                    files2
                  };
                }
              };
            </script>
          
        
    
        
            
            <script setup lang="ts">
              import { MDBFile } from "mdb-vue-ui-kit";
              import { ref } from "vue";
              const files2 = ref([]);
            </script>
          
        
    
File - API
Import
        
            
          <script>
            import {
              MDBFile
            } from 'mdb-vue-ui-kit';
          </script>
        
        
    
Properties
| Property | Type | Default | Description | 
|---|---|---|---|
            id
           | 
          String | random unique id | 
          Changes input id | 
            inputClass
           | 
          String | "" | 
          Adds new input classes | 
            invalidFeedback
           | 
          String | "" | 
          Sets invalid feedback | 
            isValid
           | 
          Boolean | false | 
          Sets input as valid or invalid | 
            isValidated
           | 
          Boolean | false | 
          Marks input as validated | 
            label
           | 
          String | "" | 
          Defines label text | 
            labelClass
           | 
          String | "" | 
          Adds new label classes | 
            v-model
           | 
          [FileList, Array] | [] | 
          Changes input value with two-way data binding | 
            size
           | 
          String | "" | 
          Changes input size. Available options are: sm or lg. | 
        
            tooltipFeedback
           | 
          Boolean | false | 
          Enables tooltip feedback | 
            validFeedback
           | 
          String | "" | 
          Sets valid feedback | 
            validateOnChange
           | 
          Boolean | false | 
          Enables validation on change |