Vue Bootstrap Dummy MDB Pro component

Vue Dummy - Bootstrap 4 & Material Design

The mdb-dummy is a custom directive which loads placeholders for images, tables, text & lists.

Live Preview

Import

Step 1: Import the directive from 'mdbvue'

        
            
      <script>
        import {
          mdbDummy
        } from "mdbvue";
      </script>
      
        
    

Step 2: Add mdbDummy to the directives object

        
            
      <script>
        import {
          mdbDummy
        } from "mdbvue";
        export default {
          directives: {
            mdbDummy
          }
        };
      </script>
      
        
    

Random text

To generate random text, attach the directive to the element which innerText attribute is to be edited and add :text modifier. The value indicated the number of characters in the generated text.

        
            
      <template>
        <p v-mdb-dummy:text="1000"></p>
      </template>
      
        
    
        
            
      <script>
        import {
          mdbDummy
        } from "mdbvue";
        export default {
          directives: {
            mdbDummy
          }
        };
      </script>
      
        
    
Name Type Default Description Example
value Number 150 Specifies the length of the generated random text <p v-mdb-dummy:text="300" ></p>

Image placeholder

To generate an image placeholder in the given size, attach the directive to an img tag (the directive will also work if it's attached to a wrapper containing img elements - bear in mind that in this case, it will affect all of the nested images) and add :img modifier. The value will indicate the size of a placeholder - there are two data types supported: number and object (with width and height keys)

        
            
      <template>
        <div>
          <img v-mdb-dummy:img="{ height: 100, width: 50 }" class="img-fluid" />
          <img v-mdb-dummy:img="100" class="img-fluid" />
        </div>
      </template>
      
        
    
        
            
      <script>
        import {
          mdbDummy
        } from "mdbvue";
        export default {
          directives: {
            mdbDummy
          }
        };
      </script>
      
        
    
Name Type Default Description Example
value Number, Object 150 Specifies the size of an image placeholder <p v-mdb-dummy:img="300" ></p>

List

The directive attached to an ol or ul element will append li elements to it - the number depend on the value passed to the directive.

        
            
      <template>
        <ol v-mdb-dummy:list="10"></ol>
      </template>
      
        
    
        
            
      <script>
        import {
          mdbDummy
        } from "mdbvue";
        export default {
          directives: {
            mdbDummy
          }
        };
      </script>
      
        
    
Name Type Default Description Example
value Number 5 Number of list items <p v-mdb-dummy:list="3" ></p>

Table

You can generate a simple table with v-mdb-dummy as well - attach the directive to a table element, add :table modifier and pass an object indicating a number of rows and columns.

        
            
      <template>
        <table v-mdb-dummy:table="{ columns: 3, rows: 10 }" class="table" />
      </template>
      
        
    
        
            
      <script>
        import {
          mdbDummy
        } from "mdbvue";
        export default {
          directives: {
            mdbDummy
          }
        };
      </script>
      
        
    
Name Type Default Description Example
value Object { rows: 10, columns: 5} Number of rows and columns <p v-mdb-dummy:table="{columns: 7, rows: 14}" ></p>

Layout example

Live Preview
        
            
      <template>
        <mdb-container>
          <mdb-row>
            <mdb-col class="mb-4">
              <mdb-carousel 
                indicators 
                controlls 
                slide 
                v-mdb-dummy:img="{ width: 1200, height: 600 }" 
                :items="[
                  { img: true, src: '' },
                  { img: true, src: '' },
                  { img: true, src: '' }
                ]" 
              />
            </mdb-col>
          </mdb-row>
          <mdb-row>
            <mdb-col>
              <p v-mdb-dummy:text="1000"></p>
            </mdb-col>
          </mdb-row>
          <hr class="my-5" />
          <mdb-row>
            <mdb-col md="5" class="mb-4">
              <mdb-card>
                <mdb-card-image v-mdb-dummy:img="{ width: 600, height: 300 }" src="" />
                <mdb-card-body>
                  <mdb-card-title v-mdb-dummy:text="24"></mdb-card-title>
                  <mdb-card-text v-mdb-dummy:text="300"></mdb-card-text>
                </mdb-card-body>
              </mdb-card>
            </mdb-col>
            <mdb-col md="7" class="mb-4">
              <p v-mdb-dummy:text="700"></p>
              <div class="d-flex  align-items-end mt-5">
                <mdb-avatar tag="img" v-mdb-dummy:img="40" :width="40" />
                <h5 class="ml-3 mb-0">John Doe</h5>
              </div>
            </mdb-col>
          </mdb-row>
        </mdb-container>
      </template>
      
        
    
        
            
      <script>
        import {
          mdbContainer,
          mdbRow,
          mdbCol,
          mdbCard,
          mdbCardBody,
          mdbCardText,
          mdbCardTitle,
          mdbCardImage,
          mdbCarousel,
          mdbAvatar,
          mdbDummy
        } from "mdbvue";
        export default {
          components: {
            mdbContainer,
            mdbRow,
            mdbCol,
            mdbCard,
            mdbCardBody,
            mdbCardText,
            mdbCardTitle,
            mdbCardImage,
            mdbCarousel,
            mdbAvatar
          },
          directives: {
            mdbDummy
          }
        };
      </script>