基于react+and Design实现下拉框,支持自由输入

2023-11-08

基于react+and Design实现下拉框,支持自由输入

以下是基于select的改造方案,使用AutoComplete组件更简单方便一些,AutoComplete这组件的实现方式请移步: 基于react+and Design实现下拉框,支持自由输入,hooks篇.

_ antd组件库提供的select组件已经基本满足开发需求,本次介绍一下怎么实现自由输入
官方给的只能输入下拉列表里面包含的内容,这时要实现23px的字号,就需要自定义调整了。

  <Select
    showSearch
    onChange={(val) => {
      this.onUpdatedState('fontSize', val)
    }}
    className={styles.mixinControlSelect}
    value={lineHeight}
  >
    <Option value="20px">20px</Option>
    <Option value="24px">24px</Option>
    <Option value="28px">28px</Option>
    <Option value="32px">32px</Option>
  </Select>

这里写图片描述

怎么实现输入字号为23px呢,这时就需要select组件提供的两个方法支持,分别是onSearch跟onBlur。onSearch方法可以监听到输出框中的值变化,保存在state中。onBlur为失去焦点的时候调用方法,这时写入保存在state中的值。实现代码及效果如下:

constructor(props) {
    super(props)
    this.state = { 
	    fontSizeVal: ''
	}
  }

<Select
  showSearch
   onChange={(val) => {
     this.onUpdatedState('fontSize', val)
   }}
   onBlur={() => {
     this.state.fontSizeVal ? this.onUpdatedState('fontSize', this.state.fontSizeVal) : null
   }}
   onSearch={(val) => {
     this.setState({ fontSizeVal: `${parseInt(val)}px` })
   }}
   className={styles.mixinControlSelect}
   value={fontSize}
 >
    <Option value="20px">20px</Option>
    <Option value="24px">24px</Option>
    <Option value="28px">28px</Option>
    <Option value="32px">32px</Option>
 </Select>

this.onUpdatedState 这个方法是修改页面字体的方法,你可以定义成你点击完下拉框自己的事件

这里写图片描述
下拉时如下
这里写图片描述

如有问题请联系我~

欢迎加入QQ群:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于react+and Design实现下拉框,支持自由输入 的相关文章

随机推荐

  • 小程序下拉加载更多数据

    1 功能介绍 1 1 简单列表分页 功能描述 拖动下拉条 可以加载更多内容 1 1 1 实现步骤 1 1 1 1 配置 json文件 1 在app json页面配置 enablePullDownRefresh true 这会让下拉刷新效果适
  • STL 中查找算法使用总结

    顺序查找元素 find 头文件 包含在头文件 include 中 算法作用 使用 操作符 从给定的区间中查找和指定元素值相等的第一个元素 返回其迭代器 适用容器 适用于所有的序列容器 代码示例 vector
  • java 使用RabbitMQ示例

    RabbitMQ简介 RabbitMQ是一个受欢迎的消息代理 通常用于应用程序之间或者程序的不同组件之间通过消息来进行集成 具有高可用高并发的优点 适合集群服务器 采用 Erlang实现 对主要的编程语言都有客户端支持 RabbitMQ环境
  • java的JVM与垃圾回收机制

    核心机制 Java虚拟机 JVM是一个虚拟的计算机 具有指令集并使用不同的存储区域 负责执行指 令 管理数据 内存 寄存器 对于不同的平台 有不同的虚拟机 只有某平台提供了对应的java虚拟机 java程序才可在此平台运行 Java虚拟机机
  • python web自动化实现登录多次 利用ddt数据驱动读取账号信息

    web自动化实现多个用户登录某系统 使用python代码实现 首先创建读取测试数据的方法 代码如下 import unittest from time import sleep from ddt import ddt data 引入ddt驱
  • 【笔记】对称密码之分组密码的工作模式

    目录 一 前言 二 分组密码概述 2 1分组密码的设计原则 2 2混淆和扩散 三 分组加密法的模式 3 1电码本ECB Electronic Code Book 模式 3 2密码分组链接CBC Cipher Block Chaining 模
  • HTTP3

    当我对HTTP的认知还停留在HTTP2 0时 HTTP协议已经发展3 0了 参考下知乎 HTTP 3 原理实战 知乎 大厂对于新技术的追求总是处于行业前列 HTTP3就是其中之一 既然大厂都逐渐在使用了 那说明它经过了一系列的实践的考验 具
  • 二分搜索——分治思想

    二分查找 二分查找是一种在每次比较之后将查找空间一分为二的算法 每次需要查找集合中的索引或元素时 都应该考虑二分查找 如果集合是无序的 我们可以总是在应用二分查找之前先对其进行排序 时间复杂度是 log N 因为 二分查找是通过将现有数组一
  • 数据结构C语言 单链表(插入、删除、查找)

    数据结构C语言 单链表 插入 删除 查找 1 插入 假设 A 的临时指针为 p C 的临时指针为 q 步骤1 删除这条连接线 步骤2 将p gt next给q gt next 步骤3 将q给p gt next 插入代码 q gt next
  • ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。

    一 CUDA和NVIDIA显卡驱动安装 cuda的安装选项中其实包含了nvidia驱动的安装选项 不过网上好多资料都说不要再cuda中勾选nvidia驱动 而要自己去nvidia官网自己查好型号下载安装文件 手动安装nvidia驱动 其实主
  • 字体格式:ttf,woff,eot

    生成网页字体 https onlinefontconverter com eot IE onetype是微软和Adobe共同开发的字体 IE浏览器全部采用这种字体 woff 其它浏览器 woff web开发字体格式 是一种专门为web而设计
  • 信号延迟仿真的 Matlab 源码实现

    信号延迟仿真的 Matlab 源码实现 信号的延迟是数字信号处理中的一个重要概念 本文将介绍如何使用 Matlab 实现信号的延迟仿真 并给出相应的源代码实现 首先 我们需要定义一个信号并进行时域分析 在 Matlab 中 我们可以使用 t
  • Ubuntu下卸载Qt

    卸载有2种办法 1 进入qt的安装目录下卸载 一般ubuntu软件是安装在opt目录下 如果不在就需要找找了 进入安装目录下 sudo MaintenanceTool 选择remove all 就可以完全删除qt了 2 命令行安装的卸载 s
  • OVS datapath流表结构及匹配过程

    datapath流表的查找函数是ovs flow tbl lookup stats 在此之前 先看下datapath组织流表的方式 最新2 6的ovs流表 已经不是最早单纯的精确匹配了 而是一种精确匹配 带掩码匹配合并在一起的方式 叫做me
  • halcon像素统计_Halcon(八)亚像素轮廓XLD

    fast threshold Image Region 0 120 7 boundary Region RegionBorder inner dilation circle RegionClipped RegionDilation 2 5
  • Cox-Box变换

    在 回归分析的基本假设 中提到了回归分析中的基本假设 这里的Box Cox变换方法能够解决回归模型中的误差项不服从高斯分布的违例问题 通常这种违例情况出现在 误差 epsilon与预测变量相关的时候 会影响模型结果的精确度 简单的方法就是通
  • 了解redis的单线程模型工作原理?一篇文章就够了

    1 首先redis是单线程的 为什么redis会是单线程的呢 从redis的性能上进行考虑 单线程避免了上下文频繁切换问题 效率高 从redis的内部结构设计原理进行考虑 redis是基于Reactor模式开发了自己的网络事件处理器 这个处
  • 输入一个十进制数,输出其二进制,八进制,十六进制

    a int input 请输入一个十进制整数 print 其对应二进制为 b n八进制为 o n十六进制为 x format a a a
  • Java并发编程面试题——JUC专题

    一 AQS高频问题 1 1 AQS是什么 AQS是JUC下大量工具的基础类 很多工具都基于AQS实现的 比如lock锁 CountDownLatch Semaphore 线程池等等都用到了AQS AQS中有一个核心属性state 还有一个双
  • 基于react+and Design实现下拉框,支持自由输入

    基于react and Design实现下拉框 支持自由输入 以下是基于select的改造方案 使用AutoComplete组件更简单方便一些 AutoComplete这组件的实现方式请移步 基于react and Design实现下拉框