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

Vue+Element UI實(shí)現(xiàn)概要小彈窗的全過程

 更新時(shí)間:2021年05月30日 11:25:06   作者:一天學(xué)億點(diǎn)  
彈窗效果是我們?nèi)粘i_發(fā)中經(jīng)常遇到的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于Vue+Element UI實(shí)現(xiàn)概要小彈窗的相關(guān)資料,需要的朋友可以參考下

場(chǎng)景:一個(gè)巡檢單據(jù)有n個(gè)巡檢明細(xì),一個(gè)巡檢明細(xì)有n個(gè)巡檢項(xiàng)目。

實(shí)現(xiàn)效果:當(dāng)鼠標(biāo)移到明細(xì)行的概要圖標(biāo)時(shí)顯示當(dāng)前行的巡檢項(xiàng)目卡片彈窗,移出彈窗時(shí)關(guān)閉彈窗

巡檢單據(jù)詳情

在這里插入圖片描述

鼠標(biāo)移到項(xiàng)目概要圖標(biāo)

在這里插入圖片描述
在這里插入圖片描述

效果實(shí)現(xiàn)

data里面聲明的變量

// 概要彈窗
outlineDialog: false,
// 當(dāng)前行標(biāo)準(zhǔn)概要
standSummary: [],
// 概要彈窗位置控制
outlineCard: {
    pageY: null,
    pageX: null,
    display: "none"
}

1、彈窗代碼

outlineDialog:默認(rèn)false,概要彈窗顯示標(biāo)志
outlineStyle:彈窗的動(dòng)態(tài)樣式設(shè)置,在computed進(jìn)行監(jiān)控和進(jìn)行雙向數(shù)據(jù)綁定展示
leave:鼠標(biāo)離開彈窗卡片的事件

<!-- 項(xiàng)目概要 -->
<div class="summary-div" v-show="outlineDialog" ref="box-cardDiv" :style="outlineStyle"  @mouseleave="leave">
    <div class="summary-title">項(xiàng)目概要</div>
    <ul class="summary-ul">
        <li class="summary-li"><span>標(biāo)準(zhǔn)名稱</span><span>是否必填</span><span>是否顯示</span></li>
        <li v-for="(item, index) in standSummary" :key="index" class="summary-li"><span>{{item.inspectdetailName}}</span><span>{{item.isRequired ? '是':'否'}}</span> <span>{{item.isDisplay ? '是':'否'}}</span> </li>
    </ul>
</div>

2、彈窗樣式代碼

<style lang="scss">
#box-cardDiv {
    position: absolute;
}

.summary-div {
    border: solid 1px #eee;
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
    padding: 10px 10px 0 10px;
    width: 300px;
    position: absolute;
    font-size: 13px;
}

.summary-ul {
    list-style: none;
    padding-left: 0;
    max-height: 350px;
    overflow-x: hidden;
    overflow-y: auto;
}

.summary-li {
    margin: 10px 10px 15px 10px;
    width: 250px;
    text-overflow: ellipsis;
    overflow: hidden;
    /* white-space: nowrap; */
    display: flex;

    span {
        margin: auto;
        width: 55px;
    }
}

.summary-li:first-child span:not(:first-child) {
    margin-left: 40px;
}

.summary-li:not(:first-child) span:nth-child(1) {
    width: 90px;
}

.summary-li:not(:first-child) span:nth-child(2) {
    width: 50px;
    margin-left: 45px;
}

.summary-li:not(:first-child) span:nth-child(3) {
    margin-left: 60px;
}

.summary-title {
    color: #cccccc;
    margin-left: 10px;
}
</style>

3、明細(xì)表格的項(xiàng)目概要列代碼

checkStandSunmmary:鼠標(biāo)移到概要圖標(biāo)的事件
<el-table-column label="項(xiàng)目概要" align="center" width="500">
    <template slot="header">
        <span>項(xiàng)目概要</span>
        <span class="vertical"></span>
    </template>
    <template slot-scope="scope">
        <div class="col-summmary-div">
            <span class="col-summmary-format"><span>{{scope.row.firstListItem}}</span></span>
            <span>&nbsp;等&nbsp;{{scope.row.equInspectplanItemList.length}}&nbsp;項(xiàng)&nbsp;</span>
            <i class="el-icon-arrow-down" @mouseenter="checkStandSunmmary(scope.row)"></i>
        </div>
    </template>
</el-table-column>

4、outlineStyle 彈窗卡片動(dòng)態(tài)樣式控制

明細(xì)在頁(yè)面底端的時(shí)候卡片照舊展示會(huì)被蓋掉一部分,需要根據(jù)概要圖標(biāo)的位置動(dòng)態(tài)計(jì)算卡片打開的位置,如果在底端就把卡片往上邊打開
computed: {
    outlineStyle() {
        let h = 45 * this.standSummary.length;
        let browser = document.body.clientHeight - 50;
        let pageY = this.outlineCard.pageY - 50;
        let pageX = this.outlineCard.pageX - 280;
        if (pageY + h > browser) {
            return `left: ${ pageX }px; top: ${ (pageY-h) }px; position: absolute; display: ${ this.outlineCard.display }`;
        } else {
            return `left: ${ pageX }px; top: ${ (pageY-60) }px; position: absolute; display: ${ this.outlineCard.display }`;
        }
    }
},

5、leave 鼠標(biāo)離開彈窗卡片的事件

當(dāng)鼠標(biāo)移出卡片把卡片display樣式設(shè)置為none同時(shí)設(shè)置v-show為false彈窗不展示
/**
 * 鼠標(biāo)離開標(biāo)準(zhǔn)概要
 */
leave() {
    this.outlineCard.display = "none";
    this.outlineDialog = false;
},

6、checkStandSunmmary 鼠標(biāo)移到概要圖標(biāo)的事件

打開彈窗卡片
獲取當(dāng)前行的檢驗(yàn)項(xiàng)目集合
獲取當(dāng)前鼠標(biāo)在瀏覽器的X軸Y軸位置
動(dòng)態(tài)設(shè)置彈窗卡片樣式為null(display除了寫none為不顯示其他值都是顯示)

/**
 * 當(dāng)前行標(biāo)準(zhǔn)概要
 */
checkStandSunmmary(row) {
    this.outlineDialog = true;
    this.standSummary = row.equInspectplanItemList;
    this.outlineCard.pageY = window.event.clientY;
    this.outlineCard.pageX = window.event.clientX;
    this.outlineCard.display = null;
},

總結(jié)

到此這篇關(guān)于Vue+Element UI實(shí)現(xiàn)概要小彈窗的文章就介紹到這了,更多相關(guān)Vue+Element UI小彈窗內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue實(shí)現(xiàn)Layui的集成方法步驟

    Vue實(shí)現(xiàn)Layui的集成方法步驟

    這篇文章主要介紹了Vue實(shí)現(xiàn)Layui的集成方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Vue.js每天必學(xué)之計(jì)算屬性computed與$watch

    Vue.js每天必學(xué)之計(jì)算屬性computed與$watch

    Vue.js每天必學(xué)之計(jì)算屬性computed與$watch,為大家詳細(xì)講解計(jì)算屬性computed與$watch,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Vue?中ref()和?reactive()響應(yīng)式數(shù)據(jù)的使用方法

    Vue?中ref()和?reactive()響應(yīng)式數(shù)據(jù)的使用方法

    article介紹Vue3中ref()和reactive()函數(shù)的使用方法,ref()用于創(chuàng)建基本數(shù)據(jù)類型的響應(yīng)式引用,reactive()用于創(chuàng)建響應(yīng)式對(duì)象,本文介紹Vue中ref()和reactive()響應(yīng)式數(shù)據(jù)的使用方法,感興趣的朋友一起看看吧
    2025-01-01
  • VUE 單頁(yè)面使用 echart 窗口變化時(shí)的用法

    VUE 單頁(yè)面使用 echart 窗口變化時(shí)的用法

    這篇文章主要介紹了VUE 單頁(yè)面使用 echart 窗口變化時(shí)的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue?監(jiān)視屬性之天氣案例實(shí)現(xiàn)

    Vue?監(jiān)視屬性之天氣案例實(shí)現(xiàn)

    這篇文章主要介紹了Vue?監(jiān)視屬性之天氣案例實(shí)現(xiàn),文章以天氣為例展開介紹Vue?監(jiān)視屬性?的相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-05-05
  • Vue項(xiàng)目打包并部署nginx服務(wù)器的詳細(xì)步驟

    Vue項(xiàng)目打包并部署nginx服務(wù)器的詳細(xì)步驟

    vue項(xiàng)目開發(fā)好之后需要部署到服務(wù)器上進(jìn)行外網(wǎng)訪問,下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目打包并部署nginx服務(wù)器的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • vue組件以及父子組件通信方式

    vue組件以及父子組件通信方式

    這篇文章主要介紹了Vue組件化的基本概念,包括什么是組件化、Vue的組件化思想以及如何在Vue中注冊(cè)和使用組件,文章還詳細(xì)講解了如何進(jìn)行父子組件之間的通信,包括父組件傳遞數(shù)據(jù)給子組件和子組件通過自定義事件將數(shù)據(jù)傳遞給父組件,文章最后通過一個(gè)綜合練習(xí)來鞏固所學(xué)知識(shí)
    2025-02-02
  • 基于vue實(shí)現(xiàn)圖片驗(yàn)證碼倒計(jì)時(shí)60s功能

    基于vue實(shí)現(xiàn)圖片驗(yàn)證碼倒計(jì)時(shí)60s功能

    這篇文章主要介紹了基于vue實(shí)現(xiàn)圖片驗(yàn)證碼倒計(jì)時(shí)60s功能,本文通過截圖實(shí)例代碼的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 詳解vue的diff算法原理

    詳解vue的diff算法原理

    這篇文章主要介紹了詳解vue的diff算法原理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • vue使用localStorage保存登錄信息 適用于移動(dòng)端、PC端

    vue使用localStorage保存登錄信息 適用于移動(dòng)端、PC端

    這篇文章主要為大家詳細(xì)介紹了vue使用localStorage保存登錄信息 適用于移動(dòng)端、PC端,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05

最新評(píng)論

定陶县| 饶河县| 牡丹江市| 福泉市| 驻马店市| 新乐市| 自治县| 分宜县| 洱源县| 南投县| 顺义区| 惠安县| 西峡县| 十堰市| 太康县| 灌阳县| 汕头市| 惠州市| 大足县| 屏山县| 西林县| 汉川市| 商水县| 余姚市| 盐城市| 武邑县| 乐都县| 兴宁市| 阜宁县| 香港 | 昌宁县| 湟源县| 兴仁县| 石首市| 长兴县| 叶城县| 石门县| 铁岭市| 黄陵县| 石城县| 巴塘县|