Vue项目实战之一----实现分类弹框效果

news2024/12/25 9:00:00

效果图

实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/vue.js"></script>
    <!-- 引入样式 -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <!-- 引入组件库 -->
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>

    <style>
        .as {
            width: auto;
            margin-left: 20px;
            height: auto;
        }

        .ass {
            width: auto;
            margin-left: 20px;
            height: auto;
            margin-top: 20px;
        }

        .cass {
            width: auto;
            margin-left: 20px;
            height: auto;
            margin-top: 20px;
        }
    </style>


</head>
<body>

<div id="app">
    <el-button round @click="drawer = true" typer="primary" style="margin-left: 16px">点击选择需要的东西</el-button>
    <el-drawer
            title="请选择商品分类"
            :visible.sync="drawer"
            :direction="direction"
            :before-close="handleClose">
        <div class="as">
            <el-button round v-for="(item,index) in tableDate" style="margin-bottom: 20px;margin-left: 10px"
                       @click="xian(item)">
                {{item.name}}
            </el-button>
        </div>

        <div v-show="hiddens" class="ass">
            <hr/>
            <el-button round v-for="(ss,index) in childrens" style="margin-bottom: 20px;margin-left: 10px"
                    @click="san(ss)">
                {{ss.na}}
            </el-button>
        </div>
        <div v-show="hiddenes" class="ass">
            <hr/>
            <el-button round v-for="(san,index) in sanChildrens" style="margin-bottom: 20px;margin-left: 10px">
                {{san.yu}}
            </el-button>
        </div>

        <div class="cass">
            <el-button type="warning" round>取消</el-button>
            <el-button type="success" round style="width: 400px">确认</el-button>
        </div>
    </el-drawer>


</div>

</body>
<script>
    new Vue({
        el: '#app',
        data: {
            childrens: [],
            sanChildrens:[],
            hiddens: false,
            hiddenes: false,
            drawer: false,
            direction: 'rtl',
            tableDate: [
                {
                    name: '活畜',
                    children: [
                        {na: "生猪"},
                        {na: "羊"},
                        {na: "鸡"},
                        {na: "鸭"},
                        {na: "格子"}]
                }, {
                    name: "猪肉类",
                    children: [
                        {na: "猪瘦肉",
                            children: [
                                {yu: "猪背"},
                                {yu: "猪脚"},
                                {yu: "猪头"}]},
                        {na: "新鲜猪大腿",
                            children: [
                                {yu: "猪脚"},
                                {yu: "猪脚"},
                                {yu: "猪脚"}]},
                        {na: "新鲜猪尾巴",
                            children: [
                                {yu: "猪头"},
                                {yu: "猪头肉"},
                                {yu: "猪眼"}]}]
                }, {
                    name: "牛肉类",
                    children: [
                        {na: "西藏黑山耗牛肉"},
                        {na: "日本合牛肉"},
                        {na: "俄罗斯黄牛肉"}]
                }, {
                    name: "鸡鸭鹅类",
                    children: [
                        {na: "鸡胸肉"},
                        {na: "整只鸡"},
                        {na: "鸭腿"}]
                }, {
                    name: "羊狗类",
                    children: [
                        {na: "狗头"},
                        {na: "羊头"},
                        {na: "羊大腿"}]
                }, {
                    name: "水产海鲜类",
                    children: [
                        {na: "鲟鱼"},
                        {na: "鱿鱼"},
                        {na: "多宝鱼"}]
                }, {
                    name: "蔬菜类",
                    children: [
                        {na: "白菜"},
                        {na: "菠菜"},
                        {na: "卷心菜"}]
                }, {
                    name: "水果类",
                    children: [
                        {na: "苹果"},
                        {na: "香蕉"},
                        {na: "梨"}]
                }, {
                    name: "米面粮油",
                    children: [
                        {na: "东北大米"},
                        {na: "缅甸小米"},
                        {na: "东北珍珠米"}]
                }, {
                    name: "干货调味品",
                    children: [
                        {na: "耗油"},
                        {na: "生抽"},
                        {na: "胡椒盐"}]
                }, {
                    name: "冷冻冻货",
                    children: [
                        {na: "冷冻猪大腿"},
                        {na: "冷冻瘦肉"},
                        {na: "冷冻猪尾巴"}]
                }, {
                    name: "农副加工",
                    children: [
                        {na: "面粉"},
                        {na: "面包"},
                        {na: "小麦面包"}]
                }, {
                    name: "日常用品",
                    children: [
                        {na: "毛巾"},
                        {na: "钢丝球"},
                        {na: "沐浴露"}]
                }, {
                    name: "酒水饮料",
                    children: [
                        {na: "雪碧"},
                        {na: "可乐"},
                        {na: "啤酒"}]
                }]
        },
        methods: {
            handleClose(done) {
                this.$confirm('确认关闭?')
                    .then(_ => {
                        done();
                    })
                    .catch(_ => {
                    });
            },
            xian(dd) {
                this.hiddens = true;
                this.childrens = dd.children;
                this.hiddenes=false;
            },
            san(item){
                this.hiddenes = true;
                this.sanChildrens = item.children;
            }
        }
    })
</script>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1250195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

p12 63.删除无头结点无头指针的循环链表中所有值为x的结点 桂林电子科技大学2015年 (c语言代码实现)注释详解

本题代码如下 void delete(linklist* L, int x) {lnode* p *L, * q *L;while (p->next ! q)// 从第一个结点开始遍历链表&#xff0c;直到尾结点的前一个结点{if (p->next->data x)//判断是否等于x{lnode* r p->next;//将r指向x的位置p->next r->next;…

热门话题解析:pytest测试用例顺序问题解决方案!

前言 上一篇文章我们讲了在pytest中测试用例的命名规则&#xff0c;那么在pytest中又是以怎样的顺序执行测试用例的呢&#xff1f; 在unittest框架中&#xff0c;默认按照ACSII码的顺序加载测试用例并执行&#xff0c;顺序为&#xff1a;09、AZ、a~z&#xff0c;测试目录、测…

Redis key的类型以及命令

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Sprin…

常见树种(贵州省):016杜鹃、含笑、桃金娘、金丝桃、珍珠花、观光木

摘要&#xff1a;本专栏树种介绍图片来源于PPBC中国植物图像库&#xff08;下附网址&#xff09;&#xff0c;本文整理仅做交流学习使用&#xff0c;同时便于查找&#xff0c;如有侵权请联系删除。 图片网址&#xff1a;PPBC中国植物图像库——最大的植物分类图片库 一、杜鹃 …

C语言——指针(二)

&#x1f4dd;前言 上篇文章C语言——指针&#xff08;一&#xff09;初步讲解了&#xff1a; 1&#xff0c;指针与指针变量 2&#xff0c;指针变量的基本使用&#xff08;如何定义&#xff0c;初始化&#xff0c;引用&#xff09; 这篇文章我们进一步探讨&#xff0c;使用指针…

【漏洞复现】金蝶云星空管理中心 ScpSupRegHandler接口存在任意文件上传漏洞 附POC

漏洞描述 金蝶云星空是一款云端企业资源管理(ERP)软件,为企业提供财务管理、供应链管理以及业务流程管理等一体化解决方案。金蝶云星空聚焦多组织,多利润中心的大中型企业,以 “开放、标准、社交”三大特性为数字经济时代的企业提供开放的 ERP 云平台。服务涵盖:财务、供…

原始类型 vs. 对象实践应用

● 首先是原始类型的例子 let lastName Williams; let oldLastName lastName; lastName Davis; console.log(lastName.oldLastName);● 然后是对象的例子 const jessica {firstName: Jessica,lastName: Williams,age: 27, }; const marriedJessica jessica; marriedJess…

docker部署phpIPAM

0说明 IPAM&#xff1a;IP地址管理系统 IP地址管理(IPAM)是指的一种方法IP扫描&#xff0c;IP地址跟踪和管理与网络相关的信息的互联网协议地址空间和IPAM系统。 IPAM软件和IP的工具,管理员可以确保分配IP地址仍然是当前和足够的库存先进的IP工具和IPAM服务。 IPAM简化并自动化…

2023.11.25-istio安全

目录 文章目录 目录本节实战1、安全概述2、证书签发流程1.签发证书2.身份认证 3、认证1.对等认证a.默认的宽容模式b.全局严格 mTLS 模式c.命名空间级别策略d.为每个工作负载启用双向 TLS 2.请求认证a.JWK 与 JWKS 概述b.配置 JWT 终端用户认证c.设置强制认证规则 关于我最后 本…

居家适老化设计第三十条---卫生间之坐便

以上产品图片均来源于淘宝 侵权联系删除 在居家适老化中&#xff0c;马桶是非常重要的设施之一&#xff0c;它能够提供方便、安全、舒适的上厕所体验。以下是一些居家适老化中常见的马桶设计和功能&#xff1a;1. 高度合适&#xff1a;为了方便老年人坐起和站起&#xff0c;马…

js逆向-JS加密破解

一、常见五种js加密手段 &#xff08;一&#xff09;加密位置&#xff1a; 1.Request Payload 加密 2.Request Headers 加密 3.Request URL params 参数加密 4.Response Data 数据加密 5.JS代码混淆加密 &#xff08;二&#xff09;加密算法 base64 编码 哈希算法&…

【从删库到跑路 | MySQL总结篇】数据库基础(增删改查的基本操作)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】&#x1f388; 本专栏旨在分享学习MySQL的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 重点放前面&am…

常见树种(贵州省):017柳树、喜树、珙桐、木棉、楝、枫杨、竹柏、百日青、翅荚香槐、皂荚、灯台树

摘要&#xff1a;本专栏树种介绍图片来源于PPBC中国植物图像库&#xff08;下附网址&#xff09;&#xff0c;本文整理仅做交流学习使用&#xff0c;同时便于查找&#xff0c;如有侵权请联系删除。 图片网址&#xff1a;PPBC中国植物图像库——最大的植物分类图片库 一、柳树 …

Ubuntu服务器/工作站常见故障修复记录

日常写代码写方案文档&#xff0c;偶尔遇上服务器出现问题的时候&#xff0c;也需要充当一把运维工程师&#xff0c;此帖用来记录服务器报错的一些解决方案&#xff0c;仅供参考&#xff01; 文章目录 一、服务器简介二、机箱拆解三、基本操作3.1 F2进入BIOS3.2 F12进入Boot Me…

sql 动态语句

批量删除用的 foreach

剑指offer(C++)-JZ43:整数中1出现的次数(算法-其他)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 题目描述&#xff1a; 输入一个整数 n &#xff0c;求 1&#xff5e;n 这 n 个整数的十进制表示中 1 出现的次数 例如&#xff0…

Spring原理——基于xml配置文件创建IOC容器的过程

Spring框架的核心之一是IOC&#xff0c;那么我们是怎么创建出来的Bean呢&#xff1f; 作者进行了简单的总结&#xff0c;希望能对你有所帮助。 IOC的创建并不是通过new而是利用了java的反射机制&#xff0c;利用了newInstance方法进行的创建对象。 首先&#xff0c;我们先定义…

医学检验(LIS)管理系统源码,LIS源码,云LIS系统源码

医学检验(LIS)管理系统源码&#xff0c;云LIS系统全套商业源码 随着全自动生化分析仪、全自动免疫分析仪和全自动血球计数器等仪器的使用&#xff0c;检验科的大多数项目实现了全自动化分析。全自动化分析引入后&#xff0c;组合化验增多&#xff0c;更好的满足了临床需要&…

抵御网络威胁的虚拟盾牌:威胁建模

威胁建模是一个允许您管理因日益复杂且不断变化的 IT 安全威胁而产生的风险的过程。为了保护敏感系统和数据&#xff0c;主动了解和应对这些威胁至关重要。 威胁建模是识别、评估和减轻这些威胁的关键过程&#xff0c;确保组织准备好面对不断出现的新的复杂挑战。 本文将详细…

RTL8762x芯片避坑总结之1——用GPIO模拟I2C

1. 使用GPIO模拟I2C&#xff1a; 1.1 按常规逻辑 在输出第1个数据&#xff0c;切换为输入读取ACK后&#xff0c;切回输出无效&#xff0c;不能输出数据&#xff1a; 1.2 在切换输入输出前&#xff0c;需要对Pad重新进行配置 重新配置后&#xff0c;输入输出切换成功&#xf…