大家好,我有以下code条.

我在试着做跟拍.

当用户从下拉列表中 Select 一个项目时,它会出现在带有结束标记的 Select 中.

所以我需要以某种方式定制和添加,除了关闭图标还编辑按钮.我怎样才能做到这一点呢?

    import React from "react";
    import "antd/dist/antd.css";
    import { Select } from "and";

    const { Option } = Select;
    const arr = ["first value", "second value", "third value"];
    const App = () => {
      return (
        <>
          <Select
            mode="tags"
            size={"large"}
            placeholder="Please select"
            style={{
              width: "100%"
            }}
          >
            {arr?.map((el) => (
              <Option key={el} value={el}>
                {el}
              </Option>
            ))}
          </Select>
        </>
      );
    };

    export default App;

另外,不幸的是,我使用的是antd版本3.x.x,它不支持tagRenderprops .而且也没有办法升级到最新版本.

请帮我解决这个问题.

推荐答案

作为antd版本3.3.0的临时解决方案,您可以向所有选项添加自定义图标,并在这些图标出现在 Select 下拉列表中时将其隐藏,如下所示:

import React from "react";
import "antd/dist/antd.css";
import { Select } from "antd";
import { EditOutlined } from "@ant-design/icons";
import "./demo.css";
const { Option } = Select;
const arr = ["first value", "second value", "third value"];

const App = () => {
  const handleEditClicked = (e, el) => {
    e.stopPropagation();
    e.preventDefault();

    console.log(el);
  };

  return (
    <>
      <Select
        mode="tags"
        size={"large"}
        placeholder="Please select"
        style={{
          width: "100%"
        }}
      >
        {arr?.map((el) => (
          <Option key={el} value={el}>
            <EditOutlined
              className="customEditIcon"
              onClick={(e) => handleEditClicked(e, el)}
            />
            {el}
          </Option>
        ))}
      </Select>
    </>
  );
};

export default App;

下拉列表中隐藏图标的相关css如下:

.customEditIcon.anticon-edit:before {
  display: none;
}

.ant-select-dropdown .customEditIcon {
  display: none;
}

您可以在this forked沙箱中查看此变通解决方案的实际工作示例.

Javascript相关问答推荐

useNavigation更改URL,但不呈现或显示组件

拖放仅通过 Select 上传

为什么这个JS模块在TypeScript中使用默认属性导入?""

使用useEffect,axios和useParams进行react测试

为什么promise对js中的错误有一个奇怪的优先级?

给定一个凸多边形作为一组边,如何根据到最近边的距离填充里面的区域

手机上的渲染错误文本必须在文本组件中渲染,但在浏览器上没有问题<><>

禁用.js文件扩展名并从目录导入隐式根index.js时,找不到NodeJS导入模块

是否可以在Photoshop CC中zoom 路径项?

将嵌套数组的元素乘以其深度,输出一个和

通过跳过某些元素的对象进行映射

是否可以在不更改组件标识的情况下换出Reaction组件定义(以维护状态/引用等)?如果是这样的话,是如何做到的呢?

JavaScript&;Reaction-如何避免在不使用字典/对象的情况下出现地狱?

ReferenceError:无法在初始化之前访问setData

用Reaction-RT-Chart创建实时条形图

为什么当雪碧的S在另一个函数中时,Phaser不能加载它?

将字体样式应用于material -UI条形图图例

当S点击按钮时,我如何才能改变它的样式?

如何在底部重叠多个div?

在Java脚本/类型脚本中覆盖父构造函数中的默认值