簡體   English   中英

將 Bootstrap 5 工具提示添加到 Vue 3

[英]Adding Bootstrap 5 tooltip to Vue 3

主程序

import "bootstrap/dist/css/bootstrap.min.css";
import "bootstrap/dist/js/bootstrap.min.js";

組件.vue

<template> 
                  <i
                class="fas fa-info-circle"
                data-bs-toggle="tooltip"
                data-bs-placement="top"
                title="Tooltip on top"
                ref="info"
              ></i>


</template>
<script>
import { Tooltip } from "bootstrap/dist/js/bootstrap.esm.min.js";

export default {
  mounted() {
    console.log(this.$refs.info);
    new Tooltip(this.$refs.info)
  },
}
</script>

我嘗試單擊該圖標,但沒有任何結果。 我做錯了嗎?

只需使用import { Tooltip } from "bootstrap"; ,它應該工作。

演示

這是一個更優雅、更現代的解決方案,它使用 Typescript 和新的 Vue 3 腳本設置。

<script setup lang="ts">
import { ref, onMounted } from "vue";
import { Tooltip } from "bootstrap";

const info = ref(null);
let infoTooltip: Tooltip | undefined;

onMounted(() => {
  infoTooltip = new Tooltip(info.value!);
});
</script>

<template> 
  <i
    class="fas fa-info-circle"
    data-bs-toggle="tooltip"
    data-bs-placement="top"
    title="Tooltip on top"
    ref="info"
  ></i>
</template>

您可以創建指令“v-tooltip”並在任何元素 html 中使用。

創建文件 tooltip.js

import { Tooltip } from 'bootstrap'

export const tooltip = {
    
  mounted(el) {
    const tooltip = new Tooltip(el)
  }

}

在 main.js 添加

import { tooltip } from 'your_path/tooltip'

app.directive('tooltip', tooltip)

並使用它:

<button v-tooltip title="Hello world!">
    I am a button
</button>

我有同樣的問題。 這段代碼對我有用。

import { Tooltip } from 'bootstrap'

export default {
  mounted() {
    new Tooltip(document.body, {
      selector: "[data-bs-toggle='tooltip']",
    })
  }
}

如果您使用的是引導 CDN,那么您也可以在App.vue掛載函數中執行此操作,如下所示:

<script>

export default {
  mounted() {
    var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
    var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
      return new bootstrap.Tooltip(tooltipTriggerEl)
    });
  }
}

</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM