Skip to content

Vue directive allowing you to hide an element on expression (visibility:hidden)

Notifications You must be signed in to change notification settings

ventralnet/v-hide

Repository files navigation

v-hide

Overview

v-hide is a Vue.js 2 and 3 directive that allows for conditional rendering maintaining rendered layout space in the DOM. Simply put... v-hide will add visibility: hidden; or visibility: visible styles based on a boolean vue expression

Live Demo V-Hide Demo

Purpose

Vue.js provides you with two conditional rendering options; v-if and v-show. v-if will competely remove an item from the DOM. v-show will set display: none style which hides your item and removes it from the rendering of the DOM.

The key feature v-hide provides is to allow conditional rendering but also include the items dimensions if it is hidden. More specifically v-hide will set the style visibility: hidden; or visibility: visible. This may help with some layouts. See the Live Demo V-Hide Demo to show the conditional rendering options.

Important!

For vue2 use the npm ^1.0.0 version

For vue3 use the npm ^3.0.0 version

Installation

Vue2

npm install @ventralnet/v-hide@^1.0.0 --save

Vue3

npm install @ventralnet/v-hide@^3.0.0 --save
/* 
  In vue2 (v-hide v^1.0.0) you don't need to add v-hide as a directive, just import the 
  dependency
*/
import '@ventralnet/v-hide' // in your main vue entrypont

/*
 In Vue 3 you need to import the directive definition and add it to your vue app
*/
import vHide from '@ventralnet/v-hide';

...

const myApp = createApp({...});

...

myApp.directive('hide', vHide);


...

<div v-hide="isThisHidden"></div>

Sample Use

<template>
   <div v-hide="isHidden">Hi!</div>
</template>

<script>
import '@ventralnet/v-hide'  // Import vHide in your main entry point after importing Vue
                            // vHide will automatically add itself as a directive to the global Vue object
export default {
  data() {
    return {
      isHidden: false,
    };
  }
};
</script>

Building

npm install
npm run test:unit
npm run serve # Serves the sample demo
npm run build # builds the library module to dist/
npm run build-example # builds the example site to dist/example

About

Vue directive allowing you to hide an element on expression (visibility:hidden)

Resources

Stars

Watchers

Forks

Packages

No packages published