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

效果图

实现

<!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>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

亚马逊云科技向量数据库助力生成式AI成功落地实践探秘(一) ​

随着大语言模型效果明显提升&#xff0c;其相关的应用不断涌现呈现出越来越火爆的趋势。其中一种比较被广泛关注的技术路线是大语言模型&#xff08;LLM&#xff09;知识召回&#xff08;Knowledge Retrieval&#xff09;的方式&#xff0c;在私域知识问答方面可以很好的弥补通…

RevCol实战:使用RevCol实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度&#xff0c;DP多卡&#xff0c;EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

【JUC】一篇通关JUC并发之共享模型

目录 1. 共享带来的问题1-1. 临界区 Critical Section1-2. 竞态条件 Race Condition1-3. synchronized 解决方案 1. 共享带来的问题 1-1. 临界区 Critical Section 一个程序运行多个线程本身是没有问题的问题出在多个线程访问共享资源 多个线程读共享资源其实也没有问题在多个…

线程信息分析,生产环境问题

现象&#xff1a; 应用服务器启动不了 产生原因&#xff1a; 最近升级了&#xff0c;将单线程查询数据变成了多线程查询数据。 分析&#xff1a; 推测一、sql 查询时间太慢导致 排查sql 后发现&#xff0c;不是这个原因 取回线程启动过程的线程信息 发现线程死锁了&…

老牌开源 SVG 编辑器 SVGEdit 是如何架构的?

大家好&#xff0c;我是前端西瓜哥。这次简单看看 SVGEdit 的架构。 SVGEdit 的版本为 7.2.0。 SVGEdit 一款非常老牌的 SVG 图形编辑器&#xff0c;用于编辑处理 SVG&#xff0c;start 数目前是 5.8k。 它的优点在于经过多年的开发&#xff0c;完成度高&#xff0c;较为成熟&a…

Redis key的类型以及命令

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

ubuntu22.04 arrch64版在线安装redis

脚本 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 echo "deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse" >…

『亚马逊云科技产品测评』活动征文|AWS 域名注册、启动与连接 EC2 新实例、端口开放详细教程

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 目录 一、AWS 域名注册 二、AWS 域名解析 三、个人网站 ICP 备案 …

【C语言】函数(四):函数递归与迭代,二者有什么区别

目录 前言递归定义递归的两个必要条件接受一个整型值&#xff08;无符号&#xff09;&#xff0c;按照顺序打印它的每一位使用函数不允许创建临时变量&#xff0c;求字符串“abcd”的长度求n的阶乘求第n个斐波那契数 迭代总结递归与迭代的主要区别用法不同结构不同时间开销不同…

Python基础:JSON保存结构化数据(详解)

1. JSON概念 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;易于人阅读和编写&#xff0c;也易于机器解析和生产。   虽然JSON使用JavaScript语法来描述数据对象&#xff0c;但是JSON仍然独立于语言和平台&#xff0c;JSON解…

php获取当前域名方法

使用$_SERVER[HTTP_HOST]变量只获取到域名&#xff1a; $domain $_SERVER[HTTP_HOST]; echo $domain; 获取包含协议和域名的完整URL $protocol isset($_SERVER[HTTPS]) && $_SERVER[HTTPS] on ? https:// : http://; $domain $_SERVER[HTTP_HOST]; $current_url…

PyQt6库和工具库QTDesigner安装与配置

锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计12条视频&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面开发 视频教程(无废话版…

【华为网络-配置-021】- MSTP 多实例配置及安全保护等

要求&#xff1a; 1、vlan 10 从红色链路转发。 2、vlan 20 从黄色链路转发。 一、基础配置 [SW1]vlan batch 10 20 [SW1]interface GigabitEthernet 0/0/1 [SW1-GigabitEthernet0/0/1]port link-type trunk [SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all [SW…

Ubuntu下使用protoBuf

一、protobuf简介&#xff1a; 1.1 protobuf的定义&#xff1a; protobuf是用来干嘛的&#xff1f; protobuf是一种用于 对结构数据进行序列化的工具&#xff0c;从而实现 数据存储和交换。 &#xff08;主要用于网络通信中 收发两端进行消息交互。所谓的“结构数据”是指类…

工具柜与6S管理的协同优势

在现代企业管理中&#xff0c;物料管理是确保生产流程高效、成本控制有效的关键环节。为了更好地实现物料管理目标&#xff0c;企业需要借助先进的技术支持。本文将聚焦于物料管理所需的技术支持&#xff0c;特别关注工具柜与6S管理的协同优势&#xff0c;为企业管理者提供实用…

2023年亚太杯数学建模A题水果采摘机器人的图像识别功能(免费思路)

中国是世界上最大的苹果生产国&#xff0c;年产量约为 3500 万吨。同时&#xff0c;中国也是世界上最大的苹果出口国&#xff0c;世界上每两个苹果中就有一个出口到国。世界上每两个苹果中就有一个来自中国&#xff0c;中国出口的苹果占全球出口量的六分之一以上。来自中国。中…

0002Java程序设计-springboot在线考试系统小程序

文章目录 **摘 要****目录**系统实现开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅&#x1f427;裙&#xff1a;776871563 摘 要 本毕业设计的内容是设计并且实现一个基于springboot的在线考试系统小程序。它是在Windows下&#xff0c;以MYSQL为数据库开发平台&…

react的开发中关于图片的知识

React是一个流行的JavaScript库&#xff0c;用于构建用户界面。在React开发中&#xff0c;图片是一个非常重要的元素&#xff0c;可以用于美化界面和展示内容。本篇博客将详细讲解React中关于图片的知识。 1. React中使用图片 在React中使用图片非常简单&#xff0c;只需要使…

React UI界面:Ant Design初步

文章目录 初步回调函数变量输出 React初步 初步 Antd是一套非常现代的React组件库&#xff0c;是好多人用过的第一个组件库&#xff0c;但我对其印象最深的却是圣诞节彩蛋&#xff0c;只是上网一查才发现&#xff0c;一晃这么多年过去了。 先创建一个React项目&#xff0c;然…

Leetcode刷题笔记题解(C++):1008. 前序遍历构造二叉搜索树

思路&#xff1a; 1.树中的第一个值为根&#xff08;数组的第一个值&#xff09;&#xff0c;小于根的值存放在左子树中&#xff0c;大于根的值存放在右子树中&#xff1b; 2.利用递归对左右子树 /*** Definition for a binary tree node.* struct TreeNode {* int val;*…