在react-select中的input元素之前添加一个图标

2023-11-21

我试图在反应选择的输入元素前面添加一个图标。我可以在占位符中获取图标,但占位符的问题是,当我从下拉列表中选择一些数据时,占位符图标会被删除。我需要一些帮助来获取 Select 语句前面的图标。

这是我到目前为止所取得的成就的代码

import React, { Component } from 'react'
import Select, { components } from 'react-select'

export default class InfluencersForm extends Component {

    constructor(){
        super();
        this.handleInfluencerName = this.handleInfluencerName.bind(this);
    }
    handleInfluencerName(event){
        console.log(event)
    }
    render() {
        const influencers = [
            { value: 'abc', label: 'abc' },
            { value: 'def', label: 'def' }
        ]

        const DropdownIndicator = (props) => {
            return components.DropdownIndicator && (
                <components.DropdownIndicator {...props}>
                    <i className="fa fa-search" aria-hidden="true" style={{ position: 'initial' }}></i>
                </components.DropdownIndicator>
            );
        };
        return (
            <div>
                <div>
                    <Select
                        options={influencers}
                        isMulti={false}
                        onChange={this.handleInfluencerName}
                        isSearchable={true}
                        components={{ DropdownIndicator }}
                        placeholder={placeholderComponent}
                        classNamePrefix="vyrill"/>
                </div>
            </div>
        )
    }
}

const placeholderComponent = (
    <div>
        <i className="fa fa-search" aria-hidden="true" style={{ position: 'initial' }}></i>
        I am placeholder
    </div>
);

根据您已经完成的工作,我将结合使用自定义样式+自定义组件。

export default class InfluencersForm extends Component {
  constructor() {
    super();
    this.handleInfluencerName = this.handleInfluencerName.bind(this);
  }
  handleInfluencerName(event) {
    console.log(event);
  }
  render() {
    const influencers = [
      { value: "abc", label: "abc" },
      { value: "def", label: "def" }
    ];

    const ValueContainer = ({ children, ...props }) => {
      return (
        components.ValueContainer && (
          <components.ValueContainer {...props}>
            {!!children && (
              <i
                className="fa fa-search"
                aria-hidden="true"
                style={{ position: 'absolute', left: 6 }}
              />
            )}
            {children}
          </components.ValueContainer>
        )
      );
    };

    const DropdownIndicator = props => {
      return (
        components.DropdownIndicator && (
          <components.DropdownIndicator {...props}>
            <i
              className="fa fa-search"
              aria-hidden="true"
            />
          </components.DropdownIndicator>
        )
      );
    };

    const styles = {
      valueContainer: base => ({
        ...base,
        paddingLeft: 24
      })
    }

    return (
      <div>
        <div>
          <Select
            options={influencers}
            isMulti={false}
            onChange={this.handleInfluencerName}
            isSearchable={true}
            components={{ DropdownIndicator, ValueContainer }}
            classNamePrefix="vyrill"
            styles={styles}
          />
        </div>
      </div>
    );
  }
}

在我的自定义样式中,我添加了任意paddingLeft of 24腾出一些空间并添加所需的图标。您可能需要根据您要使用的图标进行更改。

Then in ValueContainer旁边的children我已经放置了 fontAwesome 图标。

Here a 活生生的例子我的解决方案。

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

在react-select中的input元素之前添加一个图标 的相关文章

  • 如何在光标下的所有元素上调用 mouseover?

    我有一个网络应用程序 每次单击时都会创建一个点 见下文 当我将鼠标悬停在一堆点上时 我希望光标下的每个点都会触发 mouseover 或 mouseenter 事件 然而 只有一个事件被触发 即堆栈 顶部 的点的事件 当鼠标移动到一堆多个点
  • React-i18next 每个组件的翻译

    我正在使用react i18next 事情是它期望
  • 如何获取 RxJSSubject 或 Observable 的当前值?

    我有 Angular 2 服务 import Storage from storage import Injectable from angular2 core import Subject from rxjs Subject Inject
  • 如何从表中选择所有偶数 id?

    我想从 MySQL 数据库的表中选择所有甚至帖子 ID 然后显示它们 我还想获取所有带有奇怪 id 的帖子并将它们显示在其他地方 我想使用 PHP 来完成此操作 因为这是我使用的服务器端语言 或者 我是否必须选择所有帖子 然后使用 Java
  • HTML5 服务器端事件:EventSource 与包装的 WebSocket

    HTML5 服务器发送事件 SSE API 是否只是 HTML5 WebSocket 之上的受限制的 基于事件的 API 在我看来 一个EventSource只是一个WebSocket that Cannot send data 使用tex
  • 使用 NodeJS 让 Discord 机器人发送带有消息的图片

    我有几张照片 全部在 imgur 上 带有直接图像链接 格式 https i imgur com XXXXXX jpg https i imgur com XXXXXX jpg 以及用 NodeJS 制作的 Discord 机器人 我发送这
  • Three.js - 在代码中包含网格数据

    我有这个 Three js 代码 其中 JSON 加载器从文件 models mountain json 加载网格 var Three new function this scene new THREE Scene this camera
  • JQuery 动画文本

    找到简单 简单的动画文本是非常困难的 喜欢这个网站上的 内爆 http codecanyon net item jquery text animation full screen preview 233445 http codecanyon
  • 从未定义解构时避免错误

    可以说我有这个代码 const x y point Babel 会将其变成 var point point x point x y point y 这很好 但是如果点未定义怎么办 现在我得到一个错误 Cannot read property
  • 向对象添加元素

    我需要填充一个 json 文件 现在我有这样的东西 element id 10 quantity 1 我需要添加另一个 元素 我的第一步是使用该 json 将该 json 放入对象类型中cart JSON parse 现在我需要添加新元素
  • 具有行组的 JQuery 斑马条纹表

    我通常将斑马条纹表行设置为奇数 偶数 如下所示 效果很好 table tbody tr visible even this addClass even table tbody tr visible odd this addClass odd
  • 在 JavaScript 中比较表单中的两个数字

    当我尝试比较不同的数字时 数字发生变化 但文本部分保持不变 这只发生在较大 较小的情况下 而不会发生在 NaN 或相等的情况下 这是我的代码 function check var a document getElementById a va
  • Telegram 授权无默认按钮

    使用 Telegram 第 3 方授权的唯一有记录的方法是使用其提供的脚本https core telegram org widgets login https core telegram org widgets login 这个脚本 正如
  • Bing.com 如何创建放大的缩略图?

    当我使用 Bing com 搜索图像时 我发现它们的图像经过精心裁剪和排序 当您将鼠标放在图像上时 会弹出另一个窗口 其中显示放大的图像 我想在我的程序中做同样的事情 我检查了他们页面的源代码 他们正在使用 javascript 但我仍然不
  • 提交前验证表单(比检查空字段更复杂)

    我有一个包含时间输入的表单 具体来说 开放时间和结束时间 当按下提交按钮时 它会转到一个 php 页面 其中这些输入将添加到数据库中 在允许提交表单之前我想检查一些事情 例如 我想确保开始时间早于 小于 结束时间 这是表格 Opens
  • 光滑的轮播缓动示例

    我正在使用 Slick Carousel http kenwheeler github io slick http kenwheeler github io slick 但不知道如何合并不同的幻灯片切换 有人有例子可以分享吗 这是我目前拥有
  • ThreeJS无法加载Json文件

    首先 我已经读过这个问题 https stackoverflow com questions 17201888 three js exporter export object not working with jsonloader r58没
  • 使用 React React-router 登录后重定向到主页,并且 usenavigate 不起作用?

    我希望用户在成功登录后重定向到主页 我将用户登录的 api 请求的数据存储在一个名为 currentUser 的变量中 因此如果 currentUser 为 true 它应该重定向到主页 这就是我处理登录请求的方式 export const
  • 使用 Lodash 将对象键转换为具有键值数量的数组[重复]

    这个问题在这里已经有答案了 我有一个产品对象 products bread 1 milk 2 cheese 2 chicken 1 我想要一个包含产品名称的数组 如下所示 products bread milk milk cheese ch
  • 获取淘汰赛中被点击元素的索引

    获取无序列表中单击元素的索引的最佳方法是什么 让我举个例子 假设我有以下 HTML 代码 ul li p p li ul 现在我有以下 javascript 代码来获取索引 self itemClicked function data it

随机推荐

  • UISearchBar \ UISearchDisplayViewController 的问题

    我在 iOS 7 上使用 SearchDisplayViewController 时遇到了困难 我有一个隐藏在 UITableViewController 上的 searchBar 比如 self tableView tableHeader
  • 不可变对象的线程安全性如何?

    大家都说不可变对象是线程安全的 但这是为什么呢 以在多核 CPU 上运行的以下场景为例 核心 1 读取内存位置的对象0x100并且缓存在Core 1的L1 L2缓存中 GC 会在该内存位置收集该对象 因为它已变得符合条件并且0x100变得可
  • 如何知道写时复制页面是否是实际副本?

    当我使用 mmap 创建写时复制映射 MAP PRIVATE 时 一旦我写入特定地址 该映射的某些页面就会被复制 在我的程序中的某个时刻 我想弄清楚哪些页面实际上已被复制 有一个称为 mincore 的调用 但它仅报告页面是否在内存中 这与
  • CreateProcessW 是否已弃用?

    我找不到准确的答案 所以我决定问一下 我一直在阅读 Windows 调试内部 在示例中它告诉我在kernel32 CreateProcessW 但在此之前它使用 symfixdebugger 命令将调试器符号搜索路径设置为指向 Micros
  • SKProductsRequest 未返回任何产品

    这是我第一次尝试 但我遇到了获取产品列表的障碍 我创建了一个临时配置文件 例如 com mycompany myproduct 以及 iTunes connect 上的附加功能 例如 com mycompany myproduct feat
  • 将 XPATH 谓词与位置结合起来

    我有一个具有该类的 div 元素的集合media gallery item 我想选择元素号 x 当只选择所有项目时 我得到 5 个结果 x div id content area div class media gallery item 现
  • Sass (.scss) 文件的 Aptana Studio 3 代码辅助

    我正在使用 Aptana Studio 3 我希望获得适用于 Sass scss 文件的代码辅助功能 如果代码辅助不适用于 Sass 语法 声明 也没关系 但我希望获得标准 CSS 声明的语法突出显示和代码完成帮助 例如 如果我输入 bac
  • 在Python中从IP地址和掩码长度获取IP掩码

    给定一个以点分四元表示法表示的 IP 地址 例如 192 192 45 1掩码长度通常为 8 16 24 但也可以是任何长度 即 17 有人可以提供 python 代码来计算子网掩码吗 最好是我 可以获得 32 位整数的结果 以便很容易进行
  • 如何从现有窗口创建新的 PyQt4 窗口?

    我一直在尝试使用 python3 和 Qt4 从现有窗口调用新窗口 我已经使用 Qt Designer 创建了两个窗口 主应用程序和另一个窗口 并且我已将 Qt Designer 生成的 ui 文件转换为 py 脚本 但我似乎无法从主应用程
  • 使用 document.evaluate 时 XPath 元素/对象未定义

    如何修复常规 JavaScript 代码 使其不会显示 未定义 并显示输入字段的值 jQuery 代码工作正常 并在同一页面上正确显示输入字段值 常规 JavaScript var obj document evaluate html bo
  • 调整浏览器大小时 Modernizr 媒体查询不起作用

    我在 JavaScript 中使用 Modernizr 媒体查询来更改元素边距并添加 小 类 当我调整浏览器大小时 我的 Modernizr 媒体查询不起作用 但当我刷新页面时 它就起作用了 我知道我可以使用 jQuery 解决这个问题 w
  • 创建了可绑定的 WindowsFormsHost,但子更新未反映到控件

    我遇到了一个问题 我想将控件绑定到 windowsFormsHost 控件 但众所周知 Childproperty 不是 DP 所以我创建了一个包装器
  • 我可以设置文本区域的大小调整抓取器的样式吗?

    我的设计师刚刚给我设计了带有样式调整大小抓取器的文本区域 问题是 我可以设计它吗 WebKit提供了伪元素 webkit resizer对于调整大小控件 它会自动添加到右下角textarea元素 可以通过应用隐藏它display none
  • 不需要的属性不断获取 data-val-required 属性

    这是经过验证的模型 MetadataType typeof TagValidation public partial class Tag public class TagValidation Editable false HiddenInp
  • org.apache.http.client.ClientProtocolException

    我制作了一个 Android 应用程序 它使用 X509 证书 位于 res raw mykeystore bks 文件夹中 来签名到在 9006 端口上响应的远程服务器 服务器要求我登录 用户名 密码 当我进行 HTTPGet 时 出现以
  • Chrome 37 计算四舍五入

    div div div div div div outerDiv innerDiv remainderDiv height 100px outerDiv width 55 5px z index 1 background color red
  • 所有依赖项都不是通过“pip download”下载的

    我正在尝试设置一个本地目录 其中包含可以在没有互联网连接的计算机上重复使用的安装包 但我在使用某些包时遇到了问题 我首先下载软件包 pip download r requirements txt d my packages no binar
  • jQuery 添加到 JSP 页面

    我有一段在互联网上找到的 jQuery 代码 我想将其集成到我的 jsp 页面中 我使用 Spring 表单标签 这是 jQuery 代码 function select input var id test id id choices id
  • 在 C 中传递时,“Char”将提升为“int”

    我有个问题 我的程序中有一行 sprintf buff Nieznany znak d char va arg x const char break 为什么编译后出现错误 error c In function error error c
  • 在react-select中的input元素之前添加一个图标

    我试图在反应选择的输入元素前面添加一个图标 我可以在占位符中获取图标 但占位符的问题是 当我从下拉列表中选择一些数据时 占位符图标会被删除 我需要一些帮助来获取 Select 语句前面的图标 这是我到目前为止所取得的成就的代码 import