antd select 实现可输入可远程检索并选择

2023-10-27

组件部分:

import { Select } from 'antd';
const { Option } = Select;

export interface SelectProps {
  searchVal: string;
  setSearchOpt: any[];
  onChangeHandl: (value: any) => void;
  onSearch: (value: any) => void;
}

export default function (props: SelectProps) {
  return (
    <Select
      style={{ paddingRight: 1 }}
      showSearch // 使用单选模式可搜索
      value={props.searchVal} // 选中当前条目,多选返回数组
      placeholder={'公司/组织名称'} // select默认展示的说明
      defaultActiveFirstOption={false} // 是否默认高亮第一个选项
      filterOption={false} // 是否根据输入项进行筛选
      onSearch={props.onSearch} // “文本框值”变化时的回调
      onChange={props.onChangeHandl} // 选中option,或input的value回调
      notFoundContent={null} // 当下拉列表为空时,显示的内容
      allowClear // 是否支持清除
      showArrow={true} // 是否显示select的右侧小图标
    >
      {props.setSearchOpt.map((item: any) => {
        return <Option value={item.value}>{item.name}</Option>;
      })}
    </Select>
  );
}

使用:

 // 检索企业

  const checkOrg = (value: string, callback: Function) => {
    if (timeout) {
      clearTimeout(timeout);
      timeout = null;
    }

    const fake = async () => {
      const data = await setCheckOrg?.({ key: value });
      callback(
        data?.map((t: any) => ({
          name: t?.F_NAME,
          value: t?.F_ORG_ID,
        })),
      );
    };

    if (value) {
      timeout = setTimeout(fake, 300);
    } else {
      callback([]);
    }
  };
 <SelectSearch
            searchVal={searchVal}
            setSearchOpt={searchOpt}
            onChangeHandl={(value: any) => {
              setSearchVal(value);
              console.log(value);
              form.setFieldsValue({ F_ORG_ID: value, F_ORG_NAME: value });
            }}
            onSearch={(value: any) => {
              if (!value) return;
              setSearchVal(value); 
              form.setFieldsValue({ F_ORG_ID: null, F_ORG_NAME: value }); 
              checkOrg(value, setSearchOpt); //远程请求企业
            }}
          />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

antd select 实现可输入可远程检索并选择 的相关文章

随机推荐

  • Python中 sys.argv[]的用法简明解释

    因为是看书自学的python 开始后不久就遇到了这个引入的模块函数 且一直在IDLE上编辑了后运行 试图从结果发现它的用途 然而结果一直都是没结果 也在网上查了许多 但发现这个问题的比较详细的解释只有一个版本 大部分都是转载和复制的 给的都
  • 大数据入门学习

    https www cnblogs com xing901022 p 6195422 html
  • redis之list基本操作

    我们存多个数据用hash的时候它是没有顺序的 我们平时操作 实际上数据很多情况下都是有顺序的 那有没有一种能够用来存储带有顺序的这种数据模型呢 list就专门来干这事儿 一 list类型 数据存储需求 存储多个数据 并对数据进入存储空间的顺
  • 常用的两个免费可以商用的cc0协议图片网站

    什么是CC0协议CC0是CC协议 知识共享 是Creative Commons在中国大陆地区的通用译名 一般简称为CC CC既是该国际组织的名称缩写 也是一种版权授权协议的统称 以外的一种新的版权声明协议 采用该协议即代表作者宣布放弃该创作
  • ROS Noetic版本 rosdep找不到命令 不能使用的解决方法

    使用rosdep指令来安装开源包所需的依赖是很方便的 本文主要介绍ROS Noetic版本中使用rosdep 报错找不到命令 rosdep不能使用的解决方法 rosdep 找不到命令 Command rosdep not found but
  • nginx 中文url rewrite 404

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 原料 nginx with debug或openresty 背景 项目中有用户图片库需求 允许用户自定义文件夹 然后上传图片到该文件夹 当用户自定义的文件夹为中文或者访问u
  • 微信第三方平台之代开发小程序(二)

    第二部分 快速创建小程序 必须全网发布成功 注 第一部分 全网发布前的准备 请看我前面的文章 1 权限集准备 全网发布成功后才可生效 2 第三方收集法人微信 法人姓名 企业名称 信用代码四个商户信息外加第三方客服电话 3 企业名称需与工商部
  • 【python教程入门学习】Python教程第1篇:下载和安装Python

    Python是当下流行的通用编程语言 简单易学 容易上手 且 钱 景广阔 在网络爬虫 数据挖掘分析 人工智能 运营运维 日常工作效率提升 无不有Python的影子 因此 今天跟大家分享Python的下载和安装教程 第一步 下载Python最
  • 域名服务详解(域名解析流程和分类)

    一 基本概念 访问互联网是依靠IP地址的 但IP地址多种多样 很难记忆 所以使用域名服务 代替IP地址输入 1 hosts文件 1 位置 Windows系统在C Windows System32 drivers etc hosts 需要超级
  • usdt充值btc网络(非节点钱包地址)

    1 此充值具有一定的交易风险 请一定做好判断 步骤 用户绑定其他交易所的地址 往平台充值 只能使用用户绑定的钱包地址充值 否则无法确认充值成功 用户先填写充值金额 gt 生成充值订单 gt 通过平台设置的收币钱包地址充值 gt 填写充值产生
  • ReactNative组件生命周期

    组件生命周期详解 组件生命周期基础知识 组件 又名控件 是一段独立可复用的代码 在React Native应用开发中 组件是页面最基本的组成部分 和React的组件一样 RN的组件也有自己的生命周期 在RN应用开发中 组件的生命周期指组件初
  • jvm知识梳理

    1 java虚拟机的组成 java虚拟机主要由四部分组成 1 ClassLoader 按特定格式加载class文件到内存中 2 runtime data area jvm内存空间模型 3 execution engine 命令解析器 4 n
  • layui上传如何带参数到后台

    https www jacksonlhj cn articles 2022 03 18 1647584610237 html
  • 【C语言学习日记】 两个整数做简单加减乘除运算

    include
  • C++中访问类的私有数据成员的第三种方法

    我们知道 C 的类是有封装性的 那么对于私有数据成员我们如果想在类外访问 一般而言无外乎这么两种方法 1 通过公有的成员函数2 通过友元这是两种通常的做法 还有一种是比较 反常 的 但是同样也可以达到这样的目的 那就是通过类的基地址偏移来访
  • 相机型号总结

    相机型号 价格 一 富士 二 奥林巴斯 三 索尼 四 佳能 五 尼康 六 理光 价格 一 富士 1 GFX系列 富士最高端的机器 像素5000w 价格3w 7w 2 X系列 主流的富士相机 XH 防抖功能 XT X Pro X E XA 平
  • 工业互联网平台创新发展白皮书 附下载地址

    工业互联网平台创新发展白皮书 2018 是在工业和信息化部信息化和软件服务业司的指导下 由国家工业信息安全发展研究中心 两化融合服务联盟 产业互联网发展联盟开展调研 搜集 分析了62个平台 229个工业企业应用案例组织编写而成 从总体 行业
  • 03:TIM定时器

    目录 一 TIM 1 介绍 2 定时器的分类 3 基本定时器 4 通用定时器 5 高级定时器 6 定时器的基本结构 二 定时中断功能 A 定时器定时器中断 1 连接图 编辑 2 步骤 3 函数介绍 4 代码 三 外部时钟功能 A 定时器外部
  • QT笔记-TreeWidget控件使用

    1 添加控件时 默认有1行 并且值为1 如何去掉 隐藏头即可去掉 方法1 方法2 ui treeWidget gt setHeaderHidden true 2 控件使用 1 添加控件 h private void OnInitTreeVi
  • antd select 实现可输入可远程检索并选择

    组件部分 import Select from antd const Option Select export interface SelectProps searchVal string setSearchOpt any onChange