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

vue+antd實(shí)現(xiàn)折疊與展開(kāi)組件

 更新時(shí)間:2022年09月20日 16:09:51   作者:yehaocheng520  
這篇文章主要為大家詳細(xì)介紹了vue+antd實(shí)現(xiàn)折疊與展開(kāi)組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近在寫(xiě)前臺(tái)頁(yè)面,遇到一個(gè)需求,如下:點(diǎn)擊頭部標(biāo)題,如果有內(nèi)容,則展開(kāi),否則不展開(kāi),其實(shí)就是展開(kāi)與折疊的組件。效果圖如下:

由于其它地方也需要實(shí)現(xiàn)這種功能,所以,需要封裝成一個(gè)組件。

代碼如下:

1. 父頁(yè)面代碼

1.1 變量:open:表示現(xiàn)在的狀態(tài),true是展開(kāi),false為折疊

1.2 變量:height:表示折疊時(shí)的高度,也就是根據(jù)標(biāo)題的高度來(lái)的。

1.3 插槽:在組件中寫(xiě)的內(nèi)容是一個(gè)插槽,可以預(yù)知組件內(nèi)有個(gè)<slot></slot>來(lái)接收外部的內(nèi)容

<openCloseBox :open="true" :height="40">
? <div class="card_tit">
? ? <a-icon type="minus" /><span class="tab_tit">常規(guī)工藝</span>
? </div>
? <div class="card_con">
? ? <a-row>
? ? ? <a-col :span="12">產(chǎn)品類型:常規(guī)</a-col>
? ? ? <a-col :span="12">板子大?。撼R?guī)</a-col>
? ? ? <a-col :span="12">出貨方式:常規(guī)</a-col>
? ? ? <a-col :span="12">交貨數(shù)量:11</a-col>
? ? </a-row>
? </div>
</openCloseBox>

1.4 組件引入

import openCloseBox from './modules/openCloseBox.vue';
export default {
? name: 'index',
? components: {
? ? openCloseBox,
? ?},
}

2. 組件代碼

<template>
? <div
? ? class="openclose-box"
? ? :class="{
? ? ? 'openclose-card-open': isOpen && card,
? ? ? 'openclose-card-close': !isOpen && card,
? ? ? 'openclose-box-open': isOpen && !card,
? ? ? 'openclose-box-close': !isOpen && !card,
? ? }"
? ? :style="{ height: !isOpen && !card ? height + 'px' : 'auto' }"
? >
? ? <div
? ? ? class="openclose-btn"
? ? ? :class="{ 'openclose-btn-box': !card }"
? ? ? @click="isOpen = !isOpen"
? ? ></div>
? ? <a-card v-if="card">
? ? ? <slot></slot>
? ? </a-card>
? ? <slot v-else></slot>
? </div>
</template>

<script>
export default {
? name: 'OpenCloseBox',
? props: {
? ? open: {
? ? ? type: Boolean,
? ? ? default: false,
? ? },
? ? card: {
? ? ? type: Boolean,
? ? ? default: false,
? ? },
? ? height: {
? ? ? type: Number,
? ? ? default: 60,
? ? },
? },
? data() {
? ? return {
? ? ? isOpen: this.open,
? ? };
? },
};
</script>

<style lang="less" scoped>
.openclose-box {
? position: relative;
? /deep/ .ant-card-body {
? ? padding: 20px 18px;
? }
? .openclose-btn {
? ? font-size: 14px;
? ? line-height: 16px;
? ? color: #333;
? ? width: 100%;
? ? height: 56px;
? ? position: absolute;
? ? top: 0;
? ? right: 0;
? ? padding-right: 18px;
? ? display: flex;
? ? justify-content: flex-end;
? ? align-items: center;
? ? z-index: 1;
? ? user-select: none;
? ? cursor: pointer;
? ? .openclose-icon {
? ? ? color: #999;
? ? }
? ? &:hover {
? ? ? color: #f90;
? ? ? .openclose-icon {
? ? ? ? color: #f90;
? ? ? }
? ? }
? }
? .openclose-btn-box {
? ? height: 48px;
? }
}
.openclose-card-open {
? /deep/ .ant-card-body {
? ? height: auto;
? }
}
.openclose-card-close {
? /deep/ .ant-card-body {
? ? height: 56px;
? ? overflow: hidden;
? }
}
.openclose-box-open {
? height: auto;
}
.openclose-box-close {
? height: 60px;
? overflow: hidden;
}
</style>

完成??!

其它地方引用的效果如下:

展開(kāi)效果:

折疊效果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue?調(diào)用瀏覽器攝像頭實(shí)現(xiàn)及原理解析

    vue?調(diào)用瀏覽器攝像頭實(shí)現(xiàn)及原理解析

    這篇文章主要為大家介紹了vue調(diào)用瀏覽器攝像頭實(shí)現(xiàn)及原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • ES6 Proxy實(shí)現(xiàn)Vue的變化檢測(cè)問(wèn)題

    ES6 Proxy實(shí)現(xiàn)Vue的變化檢測(cè)問(wèn)題

    Vue3.0將采用ES6 Proxy的形式重新實(shí)現(xiàn)Vue的變化檢測(cè),在官方還沒(méi)給出新方法之前,我們先實(shí)現(xiàn)一個(gè)基于Proxy的變化檢測(cè)。感興趣的朋友跟隨小編一起看看吧
    2019-06-06
  • vue代理模式解決跨域詳解

    vue代理模式解決跨域詳解

    這篇文章主要介紹了vue代理模式解決跨域詳解的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 詳解vue之自行實(shí)現(xiàn)派發(fā)與廣播(dispatch與broadcast)

    詳解vue之自行實(shí)現(xiàn)派發(fā)與廣播(dispatch與broadcast)

    這篇文章主要介紹了詳解vue之自行實(shí)現(xiàn)派發(fā)與廣播(dispatch與broadcast),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • vant的picker的坑及解決

    vant的picker的坑及解決

    這篇文章主要介紹了vant的picker的坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Vue 簡(jiǎn)單配置公用接口地址方式

    Vue 簡(jiǎn)單配置公用接口地址方式

    這篇文章主要介紹了Vue 簡(jiǎn)單配置公用接口地址方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Vue常用指令詳解分析

    Vue常用指令詳解分析

    這篇文章給大家詳細(xì)分析了關(guān)于VUE的常用的相關(guān)指令內(nèi)容,對(duì)此有需要的朋友們可以學(xué)習(xí)下。
    2018-08-08
  • vue如何隨心所欲調(diào)整el-dialog中body的樣式

    vue如何隨心所欲調(diào)整el-dialog中body的樣式

    這篇文章主要介紹了vue如何隨心所欲調(diào)整el-dialog中body的樣式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 想到頭禿也想不到的Vue3復(fù)用組件還可以這么hack的用法

    想到頭禿也想不到的Vue3復(fù)用組件還可以這么hack的用法

    這篇文章主要為大家介紹了想到頭禿也想不到的Vue3復(fù)用組件還可以這么hack的用法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 詳解webpack打包vue時(shí)提取css

    詳解webpack打包vue時(shí)提取css

    本篇文章主要介紹了詳解webpack打包vue時(shí)提取css,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05

最新評(píng)論

信阳市| 台山市| 清徐县| 奎屯市| 德安县| 高州市| 封开县| 化德县| 称多县| 台山市| 土默特右旗| 秦安县| 巴南区| 周口市| 大荔县| 延津县| 阿拉善左旗| 湖北省| 邢台市| 黄冈市| 宁强县| 乌拉特前旗| 南宫市| 普兰店市| 临沭县| 会泽县| 湾仔区| 西青区| 五常市| 灌南县| 迁西县| 岳池县| 贵溪市| 巴马| 安西县| 蓬溪县| 禹州市| 宣武区| 南部县| SHOW| 洞口县|