Ant Design Vue 下拉框输入框 可以输入 可以查询

news2024/11/23 12:13:31

Ant Design Vue 下拉框 可以输入 可以查询 直接上代码

效果图 (输入内容查询后端 返回下拉的值 ,如何查询后端是空的直接 把输入的内容 赋值给 输入框)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<template>
  <div>
    <a-select
      v-model.lazy="inputValue"
      show-search
      default-active-first-option
      @search="onSearch"
      style="width: 200px"
    >
      <a-select-option v-for="option in dropdownOptions" :key="option">{{ option }}</a-select-option>
    </a-select>
  </div>
</template>

<script>
import { getAction, postAction } from '@/api/manage';

export default {
  data() {
    return {
      dropdownOptions: [],
      inputValue: '', // 添加一个用于保存输入内容的变量
    };
  },
  methods: {
    onSearch(value) {
      // 如果输入值为空,则清空下拉选项
      if (!value) {
        this.dropdownOptions = [];
        return;
      }

      this.inputValue = value; // 更新输入框的值为输入内容

      // 发起异步请求获取模糊匹配的下拉选项
      getAction('/material/getNameOter', { name: value, type: 'name' }).then((res) => {
        if (res && res.code === 200) {
          if (res.data.rows && res.data.rows.length > 0) {
            this.dropdownOptions = res.data.rows[0];
          } else {
            this.dropdownOptions = [];
          }
        } else {
          this.dropdownOptions = [];
        }
      });

      // 将输入值传给后端
      this.sendValueToBackend(value);
    },
    sendValueToBackend(value) {
      console.log(value);
      // 调用后端接口,将输入值传给后端
      // axios.post('/your-backend-url', { value })
      //   .then(response => {
      //     // 处理后端返回的数据
      //   })
      //   .catch(error => {
      //     // 处理错误
      //   });
    },
  },
};
</script>

后端代码

  /** ycw
     * 查询商品名字 返回10条名字
     * @param name
     * @param type
     * @param request
     * @return
     * @throws Exception
     */
    @GetMapping(value = "/getNameOter")
    @ApiOperation(value = "单据明细列表")
    public BaseResponseInfo getNameOter(@RequestParam("name") String name,
                                    @RequestParam("type") String type,
                                    HttpServletRequest request) throws Exception {
        JSONObject outer = new JSONObject();
        BaseResponseInfo res = new BaseResponseInfo();
        JSONArray dataArray = new JSONArray();
        List<String> result = new ArrayList<>();
        try {
            Material material1 = new Material();
            if (type.equals("name")) {
                material1.setName(name);
                List<Material> dataList = materialMapper.selectByOther(material1);
                if (dataList != null && dataList.size() > 0) {
                    for (Material material : dataList) {
                        result.add(material.getName());
                    }
                }else{
//                    result.add(name);
                }
            }
            dataArray.add(result);
            outer.put("rows", dataArray);
            res.code = 200;
            res.data = outer;
        } catch (Exception e) {
            e.printStackTrace();
            res.code = 500;
            res.data = "获取数据失败";
        }
        return res;
    }

放入 实际代码里面的内容 多了一个赋值的 this.form.setFieldsValue({‘name’: value})

              <a-col :md="6" :sm="24">
                <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="名称" data-step="1" data-title="名称" data-intro="名称必填,可以重复">
                  <a-select placeholder="请输入名称" v-decorator.trim="[ 'name', validatorRules.name]"
                    v-model.lazy="inputValue"
                    show-search
                    default-active-first-option
                    @search="onSearch"
                    style="width: 200px"
                  >
                    <a-select-option v-for="option in dropdownOptions" :key="option">{{ option }}</a-select-option>
                  </a-select>
                </a-form-item>
              </a-col>
     onSearch(value) {
        // 如果输入值为空,则清空下拉选项
        if (!value) {
          this.dropdownOptions = [];
          return;
        }
        // 重置输入框的值为空
        // this.inputValue = '';
        this.inputValue = value; // 更新输入框的值为输入内容
        this.form.setFieldsValue({'name': value})
        // 发起异步请求获取模糊匹配的下拉选项
        getAction('/material/getNameOter', { name: value, type: 'name' }).then((res) => {
          if (res && res.code === 200) {
            if (res.data.rows && res.data.rows.length > 0) {
              this.dropdownOptions = res.data.rows[0];
            } else {
              this.dropdownOptions = [];
            }
          } else {
            this.dropdownOptions = [];
          }
        });

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

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

相关文章

网络服务之DHCP

DHCP 一.了解DHCP1.1 DHCP是什么1.2DHCP好处1.3DHCP 的分配方式1.4DHCP一次完整过程1.5 DHCP报文 二.Linux系统中的DHCP2.1安装DHCP服务2.2配置文件 三.模拟实现DHCP服务四.虚拟内网环境中实现时间同步 一.了解DHCP 1.1 DHCP是什么 DHCP&#xff1a;动态主机配置协议&#xf…

Vue中data变量使用的注意事项

因为在Vue中&#xff0c;data中的属性往往都是用于双向绑定&#xff0c;所以Vue会对其有劫持&#xff0c;所以我们在对data属性进行操作时&#xff0c;尽量不要对其直接操作&#xff0c;比如下面代码&#xff1a; export default {data() {return {list: []}},methods: {init(…

Oracle 开发篇+Java调用OJDBC访问Oracle数据库

标签&#xff1a;JAVA语言、Oracle数据库、Java访问Oracle数据库释义&#xff1a;OJDBC是Oracle公司提供的Java数据库连接驱动程序 ★ 实验环境 ※ Oracle 19c ※ OJDBC8 ※ JDK 8 ★ Java代码案例 package PAC_001; import java.sql.Connection; import java.sql.ResultSet…

易服客工作室:WordPress 6.3 Lionel发布

WordPress 6.3 Lionel已经发布&#xff0c;它以美国著名爵士乐艺术家莱昂内尔汉普顿 (Lionel Hampton)的名字命名。汉普顿是一位多产的爵士颤音琴演奏家、钢琴家和打击乐演奏家&#xff0c;因与查尔斯明格斯、昆西琼斯等伟大人物合作以及作为同名莱昂内尔汉普顿管弦乐团的乐队领…

SpringBoot 3.x整合Fluent Mybatis极简流程

此为基础配置&#xff0c;不包括其他高级配置&#xff0c;需要其他高级配置请查阅官方文档&#xff1a;[fluent mybatis特性总览 - Wiki - Gitee.com](https://gitee.com/fluent-mybatis/fluent-mybatis/wikis/fluent mybatis特性总览) 版本信息 Spring Boot 版本&#xff1a…

【项目 计网4】4.11 socket地址 4.12 IP地址转换函数 4.13TCP通信流程 4.14socket函数

文章目录 4.11 socket地址通用 socket地址专用 socket地址 4.12 IP地址转换函数&#xff08;字符串ip -> 整数&#xff09;4.13TCP通信流程4.14socket函数 4.11 socket地址 socket地址其实是一个结构体&#xff0c;封装端口号和IP等信息。后面的socket相关的api中需要使用到…

Eolink 出席 QECon 大会,引领「AI+API」技术的革新浪潮

7月28日-29日&#xff0c;第八届 QECon 质量效能大会在北京成功召开。大会聚焦“数生智慧&#xff0c;高质量发展新引擎”&#xff0c;深入探讨如何利用数字化和智能化技术推动软件质量的发展&#xff0c;进而为高质量的经济发展提供新的引擎。作为国内 API 全生命周期解决方案…

【计算机组成原理】24王道考研笔记——第三章 存储系统

第三章 存储系统 一、存储系统概述 现代计算机的结构&#xff1a; 1.存储器的层次结构 2.存储器的分类 按层次&#xff1a; 按介质&#xff1a; 按存储方式&#xff1a; 按信息的可更改性&#xff1a; 按信息的可保存性&#xff1a; 3.存储器的性能指标 二、主存储器 1.基本…

Oracle database 静默安装 oracle 11g 一键安装

基于oracle安装包中应答文件实现一键安装 支持环境&#xff1a; Linux &#xff1a;centerOS 7 oracle &#xff1a;11.2.0 Oracle应答文件 runInstaller应答文件 /database/response/db_install.rsp netca应答文件 /database/response/netca.rsp dbca应答文件 /database/re…

FFmpeg音视频处理技术:基于Linux下QT Creator的FFmpeg环境搭建(史上最全)

前言 阅读本文章的小伙伴需要注意&#xff0c;本作者主要是从4个方面进行FFmpeg环境的搭建&#xff08;完全适应利用常见操作系统平台进行FFmpeg音视频开发&#xff09;&#xff0c;大家根据需要自行选择相应的环境进行搭建&#xff1a; &#xff08;1&#xff09;Linux&#x…

【Java并发】ReentrantLock的实现原理

文章目录 ReentrantLock是什么&#xff1f;ReentrantLock底层源码&#xff1a;ReentrantLock底层原理图解&#xff1a;&#xff08;以NonfairSync举例&#xff09; ReentrantLock是什么&#xff1f; synchronized关键字是一种隐式锁&#xff0c;即它的加锁与释放是自动的&…

Android 开发面试中,面试官最喜欢问那些问题?

作者&#xff1a;小谢 “你遇到过哪些高质量的Android面试&#xff1f;” [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Pc1xZw5-1691675604271)(//upload-images.jianshu.io/upload_images/24388310-aa3c732481d0749f.png?imageMogr2/auto-orie…

自动脱扣型绝缘靴(手套)耐压支架操作步骤

一、概述 KDJS-8Q自动脱扣型绝缘靴&#xff08;手套&#xff09;耐压支架是根据《DLT 976-2017 带电作业工具、装置和设备预防性试验规程》、《DLT 1476-2015电力安全工器具预防性试验规程》、《GBT 17622-2008带电作业用绝缘手套》、《CB21148 2020足部防护 安全鞋》等…

【java】java项目在idea中Build Project或Rebuild Project一直进行不完

问题场景 我项目进行重新构建的时候&#xff0c;项目构建到某一个位置就一直不动了 解决方法 1.清理idea缓存 2.加大idea的内存 File -> Setting

在 Delphi 的 TRichEdit 中插入图片并保存为html文件

当在 Delphi 中使用 TRichEdit 组件时&#xff0c;有时需要将图片插入到文本中。下面详细介绍了如何在 TRichEdit 中插入图片。 引言&#xff1a; TRichEdit 组件是 Delphi 中常用的文本编辑控件&#xff0c;它不仅可以显示文本内容&#xff0c;还可以插入图片&#xff0c;丰富…

springboot汽车租赁后台java出租客户管理jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 springboot汽车租赁后台 系统有1权限&#xff1a;管理…

SCI论文中字体和图片字体大小的要求

SCI论文中字体和图片字体大小的要求 文章目录 1. American Chemical Society(ACS)要求2. Nature要求 1. American Chemical Society(ACS)要求 https://www.zhihu.com/question/380612293?utm_id0 2. Nature要求

章节1:HTTP协议回顾

章节1&#xff1a;HTTP协议回顾 HTTP请求方式 get请求&#xff1a;我们通常用其发起查询。 post请求&#xff1a;我们用其来向服务器提交数据。 HTTP请求格式 第一行为请求行。 HTTP响应格式 HTTP特点 请求应答模式灵活可扩展可靠传输无状态 stateless

网神 SecGate 3600 防火墙任意文件上传漏洞复现(HW0day)

0x01 产品简介 网神SecGate3600下一代极速防火墙&#xff08;NSG系列&#xff09;是基于完全自主研发、经受市场检验的成熟稳定网神第三代SecOS操作系统 并且在专业防火墙、VPN、IPS的多年产品经验积累基础上精心研发的高性能下一代防火墙 专门为运营商、政府、军队、教育、大型…

推出 Elasticsearch 查询语言 (ES|QL)

作者&#xff1a;Costin Leau 我很高兴地宣布&#xff0c;经过大约一年的开发&#xff0c;Elasticsearch 查询语言 (ES|QL) 已准备好与世界共享&#xff0c;并已登陆 Elasticsearch 存储库。 ES|QL 是 Elasticsearch 原生的强大声明性语言&#xff0c;专为可组合性、表现力和速…