Tooltip text for Vue.

# Installation

npm install --save v-title
import Vue from 'vue';
import VTitle from 'v-title';

Vue.use(VTitle);

# Usage

# dark

Click me to show code
<template>
  <button v-title="'ABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFG'">
    hover me!
  </button>
</template>

# light

Click me to show code
<template>
  <button v-title.light="'ABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFG'">
    hover me!
  </button>
</template>

# delay

Click me to show code
<template>
  <button v-title.delay="'ABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFG'">
    hover me!
  </button>
</template>

# delay-time

Click me to show code
<template>
  <button
    v-title.delay="'ABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFG'"
    title-delay-time="1000"
  >
    hover me and hold 1000ms!
  </button>
</template>

# max-width

Click me to show code
<template>
  <button
    v-title="'ABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFG'"
    title-max-width="100"
  >
    hover me!
  </button>
</template>

# trigger

Support mouseenter foucs click foucin.

Click me to show code
<template>
  <button
    v-title="'ABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFG'"
    title-trigger="click"
  >
    click me!
  </button>
</template>

# overflow

Only show when text overflow.

hover me! try toggle switch and hover me again!

Click me to show code
<template>
  <div>
    <p
      :class="{ 'text-ellipsis': overflowMode }"
      :style="{ width: overflowMode ? '90px' : 'auto' }"
      v-title.overflow="'ABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFG'"
    >
      hover me! try toggle switch and hover me again!
    </p>
    <label>
      overflow mode
      <input
        type="checkbox"
        :checked="overflowMode"
        @change="(e) => (overflowMode = e.target.checked)"
    /></label>
  </div>
</template>

<script>
export default {
  data() {
    return {
      overflowMode: true,
    };
  },
};
</script>

<style>
.text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
</style>

# overflow + multiple

Only show when multi-line text overflow.

hover me! try toggle switch and hover me again!

Click me to show code
<template>
  <div>
    <p
      :class="{ 'text-ellipsis-2': overflowAndMultipleMode }"
      :style="{ width: overflowAndMultipleMode ? '90px' : 'auto' }"
      v-title.overflow.multiple="'ABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFG'"
    >
      hover me! try toggle switch and hover me again!
    </p>
    <label>
      overflow and multiple mode
      <input
        type="checkbox"
        :checked="overflowAndMultipleMode"
        @change="(e) => (overflowAndMultipleMode = e.target.checked)"
      />
    </label>
  </div>
</template>

<script>
export default {
  data() {
    return {
      overflowAndMultipleMode: true,
    };
  },
};
</script>

<style>
.text-ellipsis-2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
</style>

# placement

top    top-start    top-end
right  right-start  right-end
bottom bottom-start bottom-end
left   left-start   left-end
auto   auto-start   auto-end
Last Updated: 11/13/2023, 2:52:09 AM