首页 > 其他分享 >vue3,实现如何在element plus Collapse折叠面板中,只有在点击图标时才展开

vue3,实现如何在element plus Collapse折叠面板中,只有在点击图标时才展开

时间:2024-03-26 18:13:16浏览次数:15  
标签:Collapse 时才 cat item vue3 element titleList name

 

 

 

 

这个的类名是tailwind css的,主要看这里,对应上面的图片

<el-collapse-item name="1" class="relative">
          <template #title>
            <div class="w-full">
              <div @click="handleChangeURL" class="w-[90%] text-left">
                {{ titleList[0].cat_name }}
              </div>
              <div
                class="w-[50px] bg-white absolute -right-4 top-0 h-10 z-[99]"
              >
                <span
                  class="icon-jian iconfont theme-color"
                  v-if="menuNumber == 1"
                ></span>
                <span class="icon-jia1 iconfont theme-color" v-else></span>
              </div>
            </div>
          </template>
          <div>---------------你的内容--------------------</div> 
</el-collapse-item>

 

 

 

 

 

 

我的代码完整的

 <el-drawer v-model="visible" :show-close="true" size="100%">
      <el-collapse @change="handleChangeMenu" accordion>
        <el-collapse-item name="1" class="relative">
          <template #title>
            <div class="w-full">
              <div @click="handleChangeURL" class="w-[90%] text-left">
                {{ titleList[0].cat_name }}
              </div>
              <div
                class="w-[50px] bg-white absolute -right-4 top-0 h-10 z-[99]"
              >
                <span
                  class="icon-jian iconfont theme-color"
                  v-if="menuNumber == 1"
                ></span>
                <span class="icon-jia1 iconfont theme-color" v-else></span>
              </div>
            </div>
          </template>
          <div>
            <div class="overflow-x-auto whitespace-nowrap">
              <div
                @click="changeGoods(item.id)"
                v-for="(item, index) in goodsCategoryList"
                :key="index"
                class="inline-block px-4 py-1 bg-gray-200 mr-4 rounded-lg"
              >
                {{ item.cat_name }}
              </div>
            </div>
          </div>
          <!-- 图片 -->
          <div class="pt-4">
            <div class="overflow-x-auto whitespace-nowrap">
              <template v-for="(item, index) in goodsList" :key="index">
                <div
                  class="inline-block px-1 py-1 mr-2"
                  v-if="item.is_new === 0"
                >
                  <NuxtLink :to="`/productName/${item.id}`">
                    <div class="h-28 w-full">
                      <NuxtImg
                        class="h-full w-full object-cover"
                        :src="`${$config.public.IMAGR_URL}${
                          JSON.parse(item.images)[0]
                        }`"
                        :alt="item.name"
                      />
                    </div>
                  </NuxtLink>
                  <p
                    class="w-40 mt-2 text-center line-clamp-3 theme-text-color text-sm SourceHanSansCN-Normal whitespace-normal"
                  >
                    <!-- @click="handleChangeURL" -->
                    {{ item.name }}
                  </p>
                </div>
              </template>
            </div>
          </div>
        </el-collapse-item>
        <el-collapse-item name="2" class="relative">
          <template #title>
            <div class="w-full">
              <div @click="handleChangeURL" class="w-[90%] text-left">
                {{ titleList[1].cat_name }}
              </div>
              <div
                class="w-[50px] bg-white absolute -right-4 top-0 h-10 z-[99]"
              >
                <span
                  class="icon-jian iconfont theme-color"
                  v-if="menuNumber == 2"
                ></span>
                <span class="icon-jia1 iconfont theme-color" v-else></span>
              </div>
            </div>
          </template>
          <div class="overflow-x-auto whitespace-nowrap">
            <template v-for="(item, index) in goodsListNew" :key="index">
              <div class="inline-block px-1 py-1 mr-2" v-if="item.is_new === 1">
                <div class="h-28 w-full">
                  <NuxtImg
                    class="h-full w-full object-cover"
                    :src="`${$config.public.IMAGR_URL}${
                      JSON.parse(item.images)[0]
                    }`"
                    :alt="item.name"
                  />
                </div>
                <p
                  class="w-40 mt-2 text-center line-clamp-3 theme-text-color text-sm SourceHanSansCN-Normal whitespace-normal"
                >
                  {{ item.name }}
                </p>
              </div>
            </template>
          </div>
        </el-collapse-item>
        <template v-for="(item, index) in titleList" :key="index">
          <el-collapse-item :name="index + 2" v-if="index > 1" class="relative">
            <template #title>
              <div class="w-full">
                <div @click="handleChangeURL" class="w-[90%] text-left">
                  {{ item.cat_name }}
                </div>
                <div
                  class="w-[50px] bg-white absolute -right-4 top-0 h-10 z-[99]"
                >
                  <div v-if="item.child.length > 0">
                    <span
                      class="icon-jian iconfont theme-color"
                      v-if="menuNumber == index + 2"
                    ></span>
                    <span class="icon-jia1 iconfont theme-color" v-else></span>
                  </div>
                </div>
              </div>
            </template>
            <ul v-if="item.child.length > 0">
              <li
                class="py-1"
                v-for="(item1, index1) in item.child"
                :key="index1"
                @click="handleChangeURL"
              >
                <NuxtLink to="/about"> {{ item1.cat_name }} </NuxtLink>
              </li>
            </ul>
          </el-collapse-item>
        </template>
      </el-collapse>
    </el-drawer>

 

标签:Collapse,时才,cat,item,vue3,element,titleList,name
From: https://www.cnblogs.com/hechunfeng/p/18097256

相关文章

  • Element UI中日期选择日(date-picker)等其他选择器下拉显示错位、位置错误解决
    省流版给选择器加上唯一key(下面的想看就看)问题复现需求是用一个下拉切换时间维度的选择,分别为年度、季度、月度,但是开发的时候发现,当切换的时候,视图可正常切换,但点击选择时却发现选择器跑到了左上角,代码和问题截图如下:问题代码:<el-forminline><el-for......
  • 基于 Vue3 + Element-plus 封装的 Table 组件
    项目信息项目名称:vue3-xmw-table预览地址:点击预览Github:vue3-element-table使用方法根目录下执行npmivue3-xmw-table命令npmivue3-xmw-table全局挂载组件import{createApp}from'vue'importAppfrom'./App.vue'importXmwtablefrom'vue3-xmw-table'......
  • tailwindcss 默认的button按钮样式导致其他ui库,如antd、element等透明失效问题的终极
    我先说一下好消息,这个问题在官方层面已经准备解决了,并且在当前版本(3.4.1)的下一个正式版彻底解决。这里是原文:https://github.com/tailwindlabs/tailwindcss/pull/12735但截至目前24.3.26日,仍然没发布新版。官方的解决办法也很简单,就是降低优先级原来的:button,[type='button......
  • element table 单选按钮
    Elementel-table实现单选操作 https://juejin.cn/post/6844904073498460174 https://juejin.cn/post/7021803438392475662&nbsp;可以用{{``}}代替 用&nbsp;或者‘’代替lable的话,el-radio__label会占用空间,导致radio不居中。如果有这个需求,可以给el-radio__labeldispla......
  • element 文本域设置 隐藏边框,禁止缩放,自动换行...
    1.隐藏边框:deep(.el-textarea__inner){box-shadow:0000px;}:deep(.el-textarea__inner:hover){box-shadow:0000px;}:deep(.el-textarea__inner:focus){box-shadow:0000px;} 2.禁止缩放resize="none"3.自动换行 autosizeminRows:5......
  • 基于vue+element ui实现下拉表格选择组件
    一:前言本文属于转载;二:正文1:示例展示单选多选index.vue<template><el-selectref="select"v-model="defaultValue":title="isNeedTitle?getTitle():null":clearable="false":multiple="multiple"......
  • Java项目:小程序公交信息在线查询系统(java+SSM+Vue+ElementUI+mysql)
    源码获取:俺的博客首页"资源"里下载! 项目介绍基于SSM+Vue的小程序公交信息在线查询系统小程序角色:管理员、用户两种角色,分为小程序端和后台管理两部分;用户:用户通过小程序登录页面可以填写用户名和密码等信息进行登录操作,登录成功后,进入首页可以查看首页、线路信息、站......
  • Java项目:小程序公交信息在线查询系统(java+SSM+Vue+ElementUI+mysql)
    源码获取:俺的博客首页"资源"里下载! 项目介绍基于SSM+Vue的小程序公交信息在线查询系统小程序角色:管理员、用户两种角色,分为小程序端和后台管理两部分;用户:用户通过小程序登录页面可以填写用户名和密码等信息进行登录操作,登录成功后,进入首页可以查看首页、线路信息、站......
  • Java项目:汽车租赁管理系统(java+SpringBoot+Vue+ElementUI+Mybaits+mysql)
    源码获取:俺的博客首页"资源"里下载! 项目介绍基于SpringbootVue汽车租赁管理系统角色:管理员、用户、普通管理员三种角色,分为前后台;用户:用户通过用户登录页面可以填写用户名和密码等信息进行登录操作,登录成功后,进入首页可以查看首页、汽车信息、汽车资讯、汽车论坛、公......
  • ElementUI的Table控件,合并列
    x//计算需要合并的列for(letk=0;k<that.tableData.length;k++){//判断当前类型是否与下一个类型一致,一致则两个单元格合并。if((k+1)<that.tableData.length&&......