最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解vue3+quasar彈窗的幾種方式

 更新時(shí)間:2022年08月09日 08:10:22   作者:不知-_  
本文主要介紹了vue3+quasar彈窗的幾種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1. 鼠標(biāo)懸浮時(shí)的提示(Quasar Tooltip組件)

quasar tooltip組件
當(dāng)希望將鼠標(biāo)懸停在目標(biāo)元素上會(huì)顯示提示消息時(shí),可以使用html中的title屬性,但使用title屬性出現(xiàn)的提示框樣式可能并不是我們想要的,這時(shí)候可以使用quasar提供的tooltip組件。

可以看到,target默認(rèn)為true,則會(huì)默認(rèn)將 tooltip 的父元素作為觸發(fā)tooltip的目標(biāo),即鼠標(biāo)經(jīng)過(guò)tooltip的父元素時(shí),tooltip就會(huì)顯示。

<q-btn color="primary" label="tooltip的父元素" size="24px">
    <q-tooltip>我在這</q-tooltip>
</q-btn>

也可以用String類型指定觸發(fā) tooltip的目標(biāo)元素。

 <q-btn color="primary" label="tooltip的父元素" size="24px">
        <q-tooltip target=".hover-me">我在這</q-tooltip>
  </q-btn>

  <q-btn class="hover-me" label="tooltip指定的target元素"></q-btn>

其他詳見(jiàn)官方文檔。

2. 點(diǎn)擊某按鈕后出現(xiàn)自定義的彈窗

2.1 點(diǎn)擊某按鈕后出現(xiàn)自定義的彈窗(vue方法)

效果圖
點(diǎn)擊“+”按鈕后彈出選項(xiàng)列表Member子組件,
點(diǎn)擊Member子組件上的按鈕時(shí)關(guān)閉彈窗。

子組件:

父組件

注意:有需要時(shí)可以給子組件Member設(shè)置一個(gè)z-index的樣式。

知識(shí)點(diǎn)

vue 組件 官方文檔:https://staging-cn.vuejs.org/guide/components/registration.html
1、父組件可以使用 props 把數(shù)據(jù)傳給子組件。
2、子組件可以使用 $emit 觸發(fā)父組件的自定義事件。

2.2 點(diǎn)擊某按鈕后出現(xiàn)自定義的彈窗(quasar QDialog組件)

quasar dialog組件通過(guò)綁定的值來(lái)決定是否顯示該彈窗,值可以使用model-value進(jìn)行綁定,也可以使用v-model進(jìn)行綁定。

使用model-value進(jìn)行綁定時(shí),需要使用:。

<q-dialog :model-value="showFlag" persistent>
   ...
</q-dialog>

//or
<q-dialog v-model="showFlag" persistent>
   ...
</q-dialog>

上述同樣的效果也可用以下代碼實(shí)現(xiàn):

父組件

<template>
  <div>
     <q-btn round unelevated outline text-color="grey-8" icon="add" class="bg-white" @click="openMember"/>
     <q-dialog :model-value="showFlag" persistent>
          <Member  @close="closeMember"></Member>
     </q-dialog>
   </div>
</template>

<script setup>
import {ref, reactive, watch} from 'vue'
import Member from '../components/Member.vue'

let showFlag = ref(false);

function openMember() {
  showFlag.value = true;
}

function closeMember(list) {
  showFlag.value = false;
  taskInfo.receiverList = list;
}
</script>

<style></style>

子組件Member.vue

<template>
    <div class="q-pa-sm member-list bg-white shadow-1">
      <q-option-group v-model="group" :options="options" color="green" type="checkbox" class="list"/>
      <div class="q-mt-md q-pl-sm row">
        <q-btn class="bg-white q-mr-lg" unelevated outline  text-color="grey-8" label="取消"
               @click="$emit('close')"/>
        <q-btn class="btn-sure" unelevated filled text-color="white" label="確定"
               @click="$emit('close', group)"/>
      </div>
    </div>
</template>

<script setup>
import { ref, watch } from 'vue'
const group = ref([]);
const options = [
  {
    label: '何11',
    value: 'op4'
  },
  {
    label: '何22',
    value: 'op5'
  },
  {
    label: '何33',
    value: 'op6'
  },
  {
    label: '何44',
    value: 'op7'
  },
  {
    label: '何55',
    value: 'op8'
  },
  {
    label: '何66',
    value: 'op9'
  }
];

const emit = defineEmits(['close'])
</script>

<style scoped lang="scss">

.member-list {
  width: 200px;
  border: 1px solid #ffe5e5;
  z-index: 21;
  .list{
    height: 240px;
    overflow: auto;
  }
}

.btn-sure {
  background-color: #9abee8;
}
</style>

使用 dialog 組件還有一個(gè)好處就是可以通過(guò)transition-show和transition-hide設(shè)置彈窗時(shí)的動(dòng)畫(huà),詳見(jiàn)官方文檔。

3. 彈出操作列表/菜單列表(quasar Qmenu組件)

Quasar QMenu組件

<template>
<q-btn label="..." unelevated>
    <q-menu class="bg-grey-10 text-grey-2">
       <q-list>
          <q-item v-close-popup clickable @click="showDate(task.id)">
              <q-item-section>更改截止日期</q-item-section>
          </q-item>
          <q-separator class="bg-grey-5 q-mx-xs"/>
          <q-item v-close-popup clickable @click="deleteConfirm(task.id)">
              <q-item-section>刪除任務(wù)</q-item-section>
           </q-item>
        </q-list>
     </q-menu>
</q-btn>
</template>

QMenu同樣有target屬性,其默認(rèn)為true,會(huì)默認(rèn)將 menu 的父元素作為觸發(fā)menu的目標(biāo),即點(diǎn)擊 menu的父元素時(shí), menu就會(huì)顯示。

4. 彈出一個(gè)操作確認(rèn)框(Quasar Dialog插件)

quasar Dialog插件能實(shí)現(xiàn)類似html的window.confirm()的功能。

使用前需先安裝和引入,具體教程見(jiàn)官網(wǎng)。

以下截圖僅展示在Vite/Vue CLI項(xiàng)目中的使用:

使用示例:

<script setup>
import { ref } from "vue"
import { useQuasar } from 'quasar'

const $q = useQuasar()

function deleteUser(index) {
  $q.dialog({
    title: 'Confirm',
    message: '請(qǐng)確認(rèn)是否刪除該用戶',
    cancel: "取消",
    ok: "確定",
    persistent: true
  }).onOk(() => {
    console.log('>>>> 刪除了用戶' + index)
  }).onCancel(() => {
    console.log('>>>> 取消了刪除用戶操作')
  })
}
</script>

5. 彈出一個(gè)提示框(Quasar Notify插件)

如果僅需彈出一個(gè)提示消息而不需要用戶進(jìn)行其他操作,則可使用Quasar 的 Notify插件

同樣需要安裝后才能使用:

使用示例:

<script setup>
import { ref } from "vue"
import { useQuasar } from 'quasar'

const $q = useQuasar()

function doAddUser(newUser) {
  if (newUser.account.trim() && newUser.password.trim()) {
  	
    }
  else {
    $q.notify(
        {
          message: "請(qǐng)輸入賬號(hào)和密碼",
          position: "center",
          timeout: 5
        }
    )
  }
}

</script>

6. Quasar QPopupProxy

Quasar QPopupProxy 組件

到此這篇關(guān)于詳解vue3+quasar彈窗的幾種方式的文章就介紹到這了,更多相關(guān)vue3 quasar 彈窗內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于vue的video播放器的實(shí)現(xiàn)示例

    基于vue的video播放器的實(shí)現(xiàn)示例

    這篇文章主要介紹了基于vue的video播放器的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Vue解決跨域問(wèn)題常見(jiàn)方法詳解

    Vue解決跨域問(wèn)題常見(jiàn)方法詳解

    這篇文章主要介紹了Vue解決跨域問(wèn)題常見(jiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了vue出現(xiàn)跨域問(wèn)題的原因,以及常見(jiàn)解決方案與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2023-06-06
  • vue實(shí)現(xiàn)圖片按比例縮放問(wèn)題操作

    vue實(shí)現(xiàn)圖片按比例縮放問(wèn)題操作

    這篇文章主要介紹了vue實(shí)現(xiàn)圖片按比例縮放問(wèn)題操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • Vue3.0實(shí)現(xiàn)圖片預(yù)覽組件(媒體查看器)功能

    Vue3.0實(shí)現(xiàn)圖片預(yù)覽組件(媒體查看器)功能

    最近項(xiàng)目中有個(gè)場(chǎng)景,一組圖片、視頻、音頻、文件數(shù)據(jù),要求點(diǎn)擊圖片可以放大預(yù)覽,左右可以切換音視頻、文件,支持鼠標(biāo)及各種鍵控制?縮放,左右旋轉(zhuǎn),移動(dòng)等功能,這篇文章主要介紹了Vue3.0實(shí)現(xiàn)圖片預(yù)覽組件(媒體查看器),需要的朋友可以參考下
    2023-12-12
  • vue 組件基礎(chǔ)知識(shí)總結(jié)

    vue 組件基礎(chǔ)知識(shí)總結(jié)

    這篇文章主要介紹了vue 組件基礎(chǔ)知識(shí)的相關(guān)資料,幫助大家更好的理解和使用vue的組件,感興趣的朋友可以了解下
    2021-01-01
  • vue部署包可配置后臺(tái)接口地址的方法

    vue部署包可配置后臺(tái)接口地址的方法

    這篇文章主要介紹了vue部署包可配置后臺(tái)接口地址的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • vue+element多選級(jí)聯(lián)選擇器自定義props使用詳解

    vue+element多選級(jí)聯(lián)選擇器自定義props使用詳解

    這篇文章主要給大家介紹了關(guān)于vue+element多選級(jí)聯(lián)選擇器自定義props使用的相關(guān)資料,級(jí)聯(lián)選擇器展示的結(jié)果都是以數(shù)組的形式展示,也就是v-model綁定的結(jié)果,需要的朋友可以參考下
    2023-07-07
  • 在Vue項(xiàng)目中優(yōu)化字體文件的加載和緩存的常用方法

    在Vue項(xiàng)目中優(yōu)化字體文件的加載和緩存的常用方法

    在現(xiàn)代 Web 開(kāi)發(fā)中,字體文件通常是頁(yè)面加載時(shí)間的重要因素之一,特別是在字體文件較大或網(wǎng)絡(luò)環(huán)境不佳的情況下,用戶體驗(yàn)可能會(huì)受到影響,本文將詳細(xì)探討如何在 Vue.js 項(xiàng)目中優(yōu)化字體文件的加載和緩存,以提高頁(yè)面性能,需要的朋友可以參考下
    2024-09-09
  • Vue+Ant Design進(jìn)行大數(shù)據(jù)量下拉框卡頓與表單提交優(yōu)化

    Vue+Ant Design進(jìn)行大數(shù)據(jù)量下拉框卡頓與表單提交優(yōu)化

    在現(xiàn)代前端開(kāi)發(fā)中,處理大數(shù)據(jù)量渲染和表單交互是常見(jiàn)的挑戰(zhàn),本文將探討如何優(yōu)化 Ant Design Vue 下拉框在大數(shù)據(jù)量情況下的性能問(wèn)題,并解決表單提交后重復(fù)提示的問(wèn)題,需要的可以了解下
    2025-03-03
  • Vue3父組件訪問(wèn)子組件方法/屬性的五種方案

    Vue3父組件訪問(wèn)子組件方法/屬性的五種方案

    在Vue3的組件化開(kāi)發(fā)中,父子組件間的通信是核心功能之一,本文將詳細(xì)介紹五種父組件訪問(wèn)子組件屬性/方法的實(shí)現(xiàn)方案,包含最新的<script setup>語(yǔ)法糖實(shí)踐,需要的朋友可以參考下
    2025-03-03

最新評(píng)論

华亭县| 平凉市| 博罗县| 嘉定区| 盈江县| 太仆寺旗| 淮滨县| 兴海县| 山阴县| 南和县| 寿阳县| 武强县| 九寨沟县| 扶沟县| 湖南省| 怀柔区| 兴文县| 兴山县| 独山县| 克东县| 科技| 且末县| 公安县| 平邑县| 余姚市| 德令哈市| 宜丰县| 宜川县| 四会市| 吉安县| 新闻| 亳州市| 澄江县| 曲阜市| 普兰店市| 安龙县| 乌拉特后旗| 馆陶县| 绥滨县| 安化县| 永善县|