封装可多选的组件(Autocomplete)

一。组件库Material UI

     1.1 地址

               https://v4.mui.com/zh/getting-started/installation/

     1.2 简介

               自称世界上最受欢迎的React UI组件库(能看到这里的基本用法应该都清楚了,我就不重复了)

二。效果展示

      

三。代码展示

        import React from 'react'import { useField, useFormikContext } from 'formik'import { TextField as MuiTextField } from '@material-ui/core'import { Autocomplete } from '@material-ui/lab'const MuitipleSelectFields = (props) => {const {name,style,size,limitTags,disabled = false,option = [],...otherProps } = propsconst [field, meta, helpers] = useField('')// useField(这里面应该是name,但是我使用name,// value的值会是null,导致出错 如果有懂的可以一起探讨)const { isSubmitting, setFieldValue } = useFormikContext()return (< Autocompletevalue={field.value}style={style}limitTags={limitTags} // 显示的最大的标签数mulTiple={true}   // 如果为true 就支持多个选项// 如果为true  选择一项就不会关闭弹窗disableCloseOnSelect={true}disabled={disabled}  // 是否禁用noOptionsText="无匹配选项"size="samll"option={option}  // 选择数组onChange={(e, i, r) => {setFieldValue(name, i, true)}}getOptionSelected={(option, value) => {return option.value === value.value}}onBlur={() => helpers.setTouched({ [naem]: true })}// 用于确定给选项的字符串值,它用于填充输入getOptionLable={({ text }) => text}renderInput={(params) => {  // 呈现输入<MuiTextField{...params}{...otherProps}// 如果为true  输入框将显示错位状态error={meta.touched && !!meta.error}// 辅助文本内容helperText={meta.touched && !!meta.error ? meta.error : null}variant="outlined" //想要使用的变体/>}}/>)}export default MuitipleSelectFields

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

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

相关文章

【VRTK】【VR开发】【Unity】9-瞬移

课程配套学习资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【移动的种类】 瞬移只是VR中移动的一种种类,其它还有连续移动,物理移动,摔臂移动等等。 瞬移自身也有多个分类,本篇介绍: 即时瞬移冲刺瞬移定点瞬移【瞬…

JDBC概述(什么是JDBC?JDBC的原理、Mysql和Sql Server入门JDBC操作)

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍JDBC概述&#xff08;什么是JDBC&#xff1f;JDBC的原理、Mysql和Sql Server入门JDBC操作&#xff09;简单知识以及部分理论知识 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &a…

Android 13 - Media框架(14)- OpenMax(三)

上一节学习了 media.codec 服务中的部分内容&#xff0c;这一节我们将一起了解 OMX IL 层的 API 以及相关的结构体等内容。 1、相关路径 以下是 Media 相关的头文件路径&#xff1a; frameworks/native/headers/media_plugin/media/ cas 和 drm 是用于加密流解密使用&#xff…

python3: jieba(“结巴”中文分词库) .2023-11-28

1.安装 jieba库(Windows系统) 打开cmd.exe(命令提示符) ,输入 下面内容后回车, 完成jieba库安装 pip install -i https://mirrors.bfsu.edu.cn/pypi/web/simple jieba 2.例题: 键盘输入一段文本&#xff0c;保存在一个字符串变量txt中&#xff0c;分别用Python内置函数及jie…

java后端实现信息分页查询

java后端实现信息分页查询 需求分析 在一个页面展示大量的用户信息不便于观看&#xff0c;因此采用分页展示的方法。用户可以通过分页条自己选择查看的数量。可以用条件过滤一些信息&#xff0c;在查询的同时还需要分页展示 代码开发 流程&#xff1a; 页面发送ajax请求&…

项目七 熟练使用Vim程序编辑器与shell

项目七 熟练使用Vim程序编辑器与shell #职业能力目标和要求 1&#xff0c;学会使用vim编辑器。 2&#xff0c;了解shell的强大功能和shell的命令解释过程。 3&#xff0c;学会使用重定向和管道的方法。 4&#xff0c;掌握正则表达式的使用方法。7.1 熟悉使用vim编辑器 7.1.1 …

使用opencv将sRGB格式的图片转换为Adobe-RGB格式【sRGB】【Adobe-RGB】

在C中使用OpenCV将图像从sRGB格式转换为Adobe RGB格式&#xff0c;需要应用特定的线性转换矩阵。sRGB和Adobe RGB使用不同的色彩空间&#xff0c;这意味着它们在色彩表达上有所不同。通常&#xff0c;这样的转换涉及到对RGB颜色值的线性变换。 但是&#xff0c;需要注意的是&a…

羽隔已就之图像处理之BP神经网络入门

小y最近非常忙&#xff0c;这一年来&#xff0c;活很多&#xff0c;一直在加班、出差&#xff0c;也没好好休息过。最近在武汉出差一个多月了&#xff0c;项目逐渐完结&#xff0c;有点闲时间了&#xff0c;回首望&#xff0c;这一年设定的很多目标都没完成。 还记得&#xff0…

深入Rust的模式匹配与枚举类型

今天&#xff0c;我们将深入探讨Rust语言中的两个强大特性&#xff1a;模式匹配&#xff08;Pattern Matching&#xff09;和枚举类型&#xff08;Enums&#xff09;。这两个特性是Rust提供的核心工具之一&#xff0c;它们在处理多种类型的数据和复杂的逻辑控制中发挥着关键作用…

七、Lua字符串

文章目录 一、字符串&#xff08;一&#xff09;单引号间的一串字符&#xff08;二&#xff09;local str "Hello, "&#xff08;三&#xff09;[[ 与 ]] 间的一串字符&#xff08;四&#xff09;例子 二、字符串长度计算&#xff08;一&#xff09;string.len&…

技巧-PyTorch中num_works的作用和实验测试

简介 在 PyTorch 中&#xff0c;num_workers 是 DataLoader 中的一个参数&#xff0c;用于控制数据加载的并发线程数。它允许您在数据加载过程中使用多个线程&#xff0c;以提高数据加载的效率。 具体来说&#xff0c;num_workers 参数指定了 DataLoader 在加载数据时将创建的…

深度学习之图像分类(十五)DINAT: Dilated Neighborhood Attention Transformer理论精简摘要(二)

Dilated Neighborhood Attention Transformer摘要 局部注意力机制&#xff1a;例如滑动窗口Neighborhood Attention&#xff08;NA&#xff09;或Swin Transformer的Shifted Window Self Attention。 优点&#xff1a;尽管在降低自注意力二次复杂性方面表现出色&#xff0c; …

c 数组简介

我们都知道我们可以使用一个变量来存储单个值,但如果我们必须一次存储 100 个值,那么声明和初始化 100 个变量并不是一种优化的处理方式。为此,我们在 C 中使用数组来存储类似数据类型的数据。C中的数组分为一维数组、二维数组和多维数组。数组索引始终从 0 开始,以 size-1…

微服务知识大杂烩

1.什么是微服务? 微服务(Microservices)是一种软件架构风格,将一个大型应用程序划分为一组小型、自治且松耦合的服务。每个微服务负责执行特定的业务功能,并通过轻量级通信机制(如HTTP)相互协作。每个微服务可以独立开发、部署和扩展,使得应用程序更加灵活、可伸缩和可…

C++多线程学习(文章链接汇总)

参考引用 C11 14 17 20 多线程从原理到线程池实战代码运行环境&#xff1a;Visual Studio 2019 C多线程学习&#xff08;一&#xff09;&#xff1a;C11 多线程快速入门 C多线程学习&#xff08;二&#xff09;&#xff1a;多线程通信和锁 C多线程学习&#xff08;三&#xff0…

docker 安装elasticsearch集群

准备工作 docker 安装好&#xff0c;docker compose 安装好编辑好docker-compose.yml文件&#xff08;本文会提供&#xff09;生成elastic-certificates.p12密钥&#xff0c;与docker-compose文件在同一个目录&#xff08;本文会介绍生成方式&#xff09;准备elasticsearch配置…

Selenium 学习(0.17)——软件测试之测试用例设计方法——白盒测试——逻辑覆盖法(条件覆盖和条件判定覆盖)

条件覆盖 设计测试用例&#xff0c;使每个判断中每个条件的可能取值至少满足一次。 条件判定覆盖 通过设计足够的测试用例&#xff0c;满足如下条件&#xff1a; 所有条件的可能至少执行一次的取值 所有判断的可能结果至少执行一次 条件判定覆盖同时满足判定覆…

centos7.9 + gitlab12.3.0安装

本文在centos7.9操作系统上安装gitlab 12.3.0&#xff0c;gitlab官方最新的版本已经是16.6.0了&#xff0c;这里仍然安装12.3.0版本的原因是汉化包的最新版本是12.3.0&#xff0c;如果汉化包的版本和gitlab的版本不对应&#xff0c;会出现汉化他无法启动的现象。 1、安装依赖 …

基于Hadoop的异构网络协同过滤推荐算法设计

基于Hadoop的异构网络协同过滤推荐算法设计 基于Hadoop的异构网络协同过滤推荐算法设计 Design of Heterogeneous Network Collaborative Filtering Recommendation Algorithm based on Hadoop 目录 目录 2 摘要 3 关键词 4 第一章 引言 4 1.1 研究背景 4 1.2 研究意义 5 1.3 国…

Python 图形用户界面详解(GUI,Tkinter)

文章目录 1 概述1.1 TK&#xff1a;窗口1.2 官方文档 2 组件2.1 Label&#xff1a;标签2.2 Button&#xff1a;按钮2.3 Entry&#xff1a;输入2.4 Text&#xff1a;文本2.5 Radiobutton&#xff1a;单选框2.6 Checkbutton&#xff1a;复选框2.7 Canvas&#xff1a;画布2.10 Men…