项目交互-选择器交互

选择器交互

<div>
    <el-select v-model="valueOne" placeholder="年级">
       <el-option v-for="item in optionsOne" :key="item.gradeId" :label="item.gradeName" :value="item.gradeId">
       </el-option>
    </el-select>
    <el-select v-model="valueTwo" placeholder="班级">
       <el-option v-for="item in optionsTwo" :key="item.classId" :label="item.className" :value="item.classId">
       </el-option>
    </el-select>
</div>
data () {
    return {
        valueOne: '',
        valueTwo: '',
        gradeId: 4,
        optionsOne: [],
        optionsTwo: [],
    }
}

1.写接口

(api)(@/api/user/index.js)

// 查询年级列表
export function searchGradeLists (query) {
    return request({
        url: '/system/grade/common/list',//接口
        method: 'get',
        params: query
    })
}

// 查询班级列表
export function searchClassList (query) {
    return request({
        url: '/system/class/list',
        method: 'get',
        params: query,
    })
}

2.在组件中导入接口

import {
    searchGradeLists,
    searchClassList,
} from '@/api/user/index'

3.调用接口

因为年级选择器一加载页面就应该有数据可以选择,所以需要挂载的时候请求数据

mounted () {
   // 因为一加载页面就应该有数据
   // 查询年级列表
   searchGradeLists({ pageNum: 1, pageSize: 10 }).then(res => {
      console.log(res, '哈哈哈哈哈')
      this.optionsOne = res.rows
   })
},

4.不能直接像选择班级一样请求接口

虽然请求年级的数据成功了,现在需要请求班级的数据,但是由于班级的数据的显示是当前选择的年级对应的所有班级。所以选择班级不能直接像选择班级一样请求接口。

解决:在element-ui中,选中值发生变化时会触发change事件,所以取到当前所选的年级。如下:

4.1给el-select标签绑定change事件

<div>
    <el-select v-model="valueOne" placeholder="年级">
       <el-option v-for="item in optionsOne" :key="item.gradeId" :label="item.gradeName" :value="item.gradeId">
       </el-option>
    </el-select>
    <el-select v-model="valueTwo" placeholder="班级">
       <el-option v-for="item in optionsTwo" :key="item.classId" :label="item.className" :value="item.classId">
       </el-option>
    </el-select>
</div>

 4.2因为选择年级后返回e

methods: {
    // 选择年级
    handleChangeGrade (e) {
        console.log(e, '。。')
        console.log(this.gradeId, 'idid')
        this.gradeId = e
        console.log(this.gradeId, ';;;')
        console.log(e, '././')
    },
}

查看控制台发现选择年级触发的change事件返回的e是gradeId。因此将e赋值给this.gradeId(这个this.gradeId是data里面设置的gradeId)

4.3将返回的gradeId传给请求查询班级的接口

接下来,点击班级选择器时,应该显示年级对应的所有班级(利用change事件返回的gradeId),所以需要将返回的gradeId传给请求查询班级的接口

methods: {
    // 选择年级
    handleChangeGrade (e) {
        console.log(e, '。。')
        console.log(this.gradeId, 'idid')
        this.gradeId = e
        console.log(this.gradeId, ';;;')
        console.log(e, '././')


        // 新加的代码
        // 先清空数组
        this.valueTwo = '' //注意需要清空一下第二个选择器的数据
        // 将gradeId传给查询班级的方法,并调用这个方法
        this.requestClassList(e)
    },


    // 新加的代码
    // 查询班级(查询年级对应的班级列表)
    requestClassList (e) {
        console.log(e, '???')
        searchClassList({ pageNum: 1, pageSize: 10, gradeId: e }).then(res => {
            console.log(res, '嘻嘻嘻嘻嘻')
            this.optionsTwo = res.rows
        })
    }

    // 注意gradeId: e不能写出e,对象键值对
}

最后在第二个选择器也同理使用change方法,因为后面页面渲染事件需要用到。选择器交互成功!

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

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

相关文章

想做副业在哪里找?做好这些副业平台就够了

每个人在生活中都有一些额外的需求和理想&#xff0c;所以越来越多的人开始寻找副业来实现小目标。但是&#xff0c;但是寻找副业的过程并不容易&#xff0c;需要考虑到自己的时间和能力&#xff0c;还有选择一个靠谱的平台。其实&#xff0c;副业平台并不太难&#xff0c;只要…

微信、支付宝、携程等多款app任意文件读取漏洞

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 一、漏洞描述 微信、支付宝、小米浏览器、携程应用等国内主流软件均存…

数智赋能,众创众治|易知微为“浙江省数字监管应用建模技能竞赛”提供技术支撑!

11月6日至8日&#xff0c;2023年浙江省数字监管应用建模技能竞赛在省金华监狱举行。浙江省监狱管理局党委书记、局长王争&#xff0c;司法部监狱管理局规划科技处处长常家瑛&#xff0c;浙江省监狱管理局党委委员、副局长朱永忠出席本次活动。 本次建模大赛共有来自全省监狱系…

袋鼠云联合浙工贸“数字孪生产教融合实践中心”正式授牌成立!

2023年10月26日&#xff0c;杭州玳数科技有限公司&#xff08;袋鼠云&#xff09;与浙江工贸技术职业学院正式成立“数字孪生产教融合实践中心”&#xff0c;并完成授牌仪式。 人工智能学院副院长章增优主持会议&#xff0c;学院党总支书记徐登喜、院长赵秀芝、专业主任潘益婷、…

SASS/SCSS精华干货教程

目录 介绍 基本说明 特点 sass语法格式sass的语法格式一共有两种&#xff0c;一种是以".scss"作为拓展名&#xff0c;一种是以".sass"作为拓展名&#xff0c;这里我们只讲拓展名&#xff1a; 编译环境安装 Vscode安装编译插件 简单使用 sass语法扩张…

武汉凯迪正大—导热系数测定仪

产品概述 KDYD-DR导热系数试验机本仪器采用防护热平板法测试材料导热系数&#xff0c;使用计算机进行测控实现全自动检测。适用于塑料、橡胶、绝热材料、保温材料等低导热材料测试。本仪器分辩率高、重复性好、操作简便快捷&#xff0c;适用于大专院校、科研院所、质检、厂矿等…

使用npm发布自己的组件库

在日常开发中&#xff0c;我们习惯性的会封装一些个性化的组件以适配各种业务场景&#xff0c;突发奇想能不能建一个自己的组件库&#xff0c;今后在各种业务里可以自由下载安装自己的组件。 一. 项目搭建 首先直接使用vue-cli创建一个vue2版本的项目&#xff0c;并下载好ele…

java springboot在测试类中启动一个web环境

我们在开发过程中 可以对数据层 业务层做测试 那我们的表现层能做测试吗&#xff1f; 答案自然是可以的 但是 前提 我们要有一个web环境 我们现在 测试类运行 明显是个很普通的java程序 还是这个 SpringBootTest 它有一个 webEnvironment 我们可以先这样写 package com.examp…

数据结构中树、森林 与 二叉树的转换

1 树转换为 二叉树 将树转换成二叉树的步骤是&#xff1a; 加线。在所有的兄弟结点之间加一条线。去线。对于树中的每个结点&#xff0c;只保留它与第一个孩子结点的连线&#xff0c;删除该结点其他孩子结点之间的连线。调整。以树的根结点为轴心&#xff0c;将整个树顺时针旋…

2023最新最全【CUDA Toolkit 12.3】下载安装零基础教程【附安装包】

官网地址&#xff1a;这里 CUDA是英伟达公司开发的一种并行计算平台和编程模型。它利用GPU的强大计算能力&#xff0c;加速各种数学和科学计算、数据分析、机器学习、计算机视觉等任务。CUDA包括CUDA编程语言、CUDA运行时库、NVIDIA显卡等组件。 CUDA的编写方式分为两种&…

OceanBase:集群常见操作

目录 1.查看 OBD 管理的集群列表 2.查看某个集群状态 3.启动 OceanBase 集群 4.连接 OceanBase 集群 5.停止运行中的集群 6.销毁已部署的集群 7.查看集群配置项 8.修改集群配置项 1.查看 OBD 管理的集群列表 obd cluster list 2.查看某个集群状态 obd cluster displa…

基于51单片机交通灯仿真_紧急开关+黄灯倒计时+可调时间(proteus+代码+报告+讲解视频)

基于51单片机交通灯_紧急开关黄灯倒计时可调时间 ☑️开题报告☑️仿真图&#xff08;提供源文件&#xff09;&#xff1a;☑️系统硬件设计☑️主控制器选择☑️系统硬件结构图☑️时钟及复位电路☑️指示灯及倒计时模块 ☑️倒计时模块&#xff1a;☑️程序☑️软件主流程框架…

阿里国际站(直通车)

1.国际站流量 2.直通车即P4P&#xff08;pay for performance点击付费&#xff09; 2.1直通的含义&#xff1a;按点击付费&#xff0c;通过自助设置多维度展示产品信息&#xff0c;获得大量曝光吸引潜在买家。 注意&#xff1a;中国大陆和尼日利尼地区点击不扣费。 2.2扣费规…

Linux CentOS7配置网络参数

CentOS6及以前版本中主要使用ifconfig工具&#xff0c;查看、配置网络参数。后来对推荐使用ip命令查看配置网络参数。而centos7中&#xff0c;不再赞成使用ifconfig工具&#xff0c;取而代之的是nmcli工具&#xff0c;服务管理也是以systemctl工具取代了service,这些之前版本的…

创建自定义日志筛选器

Windows的事件查看器中的日志包含了很多信息&#xff0c;但是系统自带的筛选器只能筛选固定的字段和内容。有时候想根据某个事件中的用户名或者IP筛选的时候就没办法了。此时需要创建自定义筛选器来实现。 首先找到希望筛选的日志&#xff0c;调整成详细的XML视图。 这里面就有…

postgresql安装fdw扩展

最近有同一个服务器不同数据库、不同服务器数据库之间的数据同步需求&#xff0c;使用了fdw 下面举例的是同一个服务器两个不同数据库的同步情况 1、安装扩展 create extension postgres_fdw; 在需要使用fdw的数据库都加上该扩展 2、创建fdw服务器 mlhbase_prd库 CREATE…

ESP32C3小飞控调试

ESP32C3小飞控调试 - 1 ESP32C3小飞控板赶在国庆节前发出打样&#xff0c;假期后上班就收到了样板&#xff0c;但是迟迟没有动手调试&#xff0c;这两天终于抽出时间调试了&#xff0c;调试过程还算顺利&#xff0c;基本没有遇到什么大问题&#xff0c;下面记录一下调试过程。…

学了这么久,你知道Python机器学习全流程是怎样的么?

万事开头难&#xff0c;首先Python机器学习整个流程的第一步就是学习Python这门编程语言的相关基础知识。 第一步&#xff1a;基本 Python 技能 如果要使用 Python 进行机器学习&#xff0c;拥有对 Python 有基础的理解非常关键。幸运的是&#xff0c;Python 是当前普遍使用的…

CAPL编程 - 事件驱动

1 事件概述 CAPL是一种面向过程、由事件驱动的类C语言。 事件驱动针对于顺序执行&#xff0c;其区别如下&#xff1a; 顺序执行&#xff1a;顺序执行流程中&#xff0c;子例程或过程函数按照代码编写顺序逐句执行。 事件驱动&#xff1a;CAPL程序由事件驱动&#xff0c;工程…

系统设计之通讯协议

一、通讯协议 架构风格定义了应用程序编程接口 (API) 的不同组件如何相互交互。因此&#xff0c;它们通过提供设计和构建 API 的标准方法来确保效率、可靠性以及与其他系统集成的便捷性。以下是最常用的样式&#xff1a; 1. SOAP 成熟、全面、基于XML 最适合于企业应用 可扩展…