如何使用 'react-select' 生成 0 到 100 之间的数字?

How can I generate number from 0 to 100 using 'react-select'?

我正在使用 React,如何创建一个显示 0 到 100% 数字的下拉菜单?

我的下拉菜单:

import React, { useState } from 'react'
import Select from 'react-select';
import Tag from './Tag'

export default function Dropdown({ className, options, styleSelect, defaultValue}) {
    const [selected, setSelected] = useState(defaultValue);     

    return (
        <>
            {selected ?
                <Tag selected={selected} setSelected={setSelected} styleSelect={styleSelect} />
                :
                <Select className={className} value={selected} onChange={setSelected} options={options}/>
            }
        </>
    )
}

如果不是那么久我会做:

const PERCENTAGE = [
        { label: '0', value: '0' },
        ...
    ]

然后<CustomDropdown options={PERCENTAGE}/>

或者我正在考虑使用 jquery 但它不起作用

您可以通过映射 101 个元素的数组来实现 PERCENTAGE 数组,例如 -

const PERCENTAGES = [...new Array(101)]
  .map((each, index) => ({ label: index, value: index });

但是,这将是糟糕的用户体验。如果您还没有探索过,您或许可以尝试 <input type="range">

编辑 -

如果你需要生成一个间隔为 20 的,那么你可以创建一个 6 的数组并通过乘以 20 的系数来映射它们 -

const PERCENTAGES = [...new Array(6)]
   .map((each, index) => {
      const value = index * 20;
      return ({
        label: value,
        value,
      })
   });