You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

react-select如何直接使用纯字符串数组作为options选项?

问题原因

react-select 4.x 的默认选中项匹配规则仅适配{value, label}结构的对象,你配置的getOptionLabel和getOptionValue仅能控制选项展示、值提取逻辑,无法覆盖匹配规则,纯字符串作为选项时默认匹配失效,导致选中后展示为空。

解决方案

无需转换字符串数组为对象格式,新增isOptionEqualToValue属性自定义匹配规则即可,最终onChange返回的选中值为纯字符串,无需二次转换:

import React, { useState } from "react";
import Select from "react-select";

const optionsStringsOnly = ["Chocolate", "Strawberry", "Vanilla"];

const MyComponent2 = () => {
  // 选中值直接为字符串类型
  const [selected, setSelected] = useState(null);

  return (
    <Select
      options={optionsStringsOnly}
      getOptionLabel={option => option}
      getOptionValue={option => option}
      isOptionEqualToValue={(option, value) => option === value}
      value={selected}
      onChange={newVal => setSelected(newVal)}
    />
  );
};

非受控模式下无需配置value和onChange,保留其余三个配置项即可正常使用,选中值仍为纯字符串。

内容的提问来源于stack exchange,提问作者Fabian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:48:03