【问题标题】:Creating default value for Select/dropdown list and can be selected default value back again manually - ReactJs为选择/下拉列表创建默认值,并且可以手动再次选择默认值 - ReactJs
【发布时间】:2021-08-19 12:31:56
【问题描述】:

在此处发布问题之前,我已经浏览了许多网站,并了解如何在select 中创建defaultValue 但是,所有网站都在谈论设置值,但没有谈论再次选择默认值的地方.

我需要什么

我有一些 6 个具有不同值的下拉控件,每个下拉列表都由 API 填充。 现在我已将defaultValue 用作我的工作"--Select One--",它按预期工作,但是我需要再次选择默认值手动需要,例如如果用户想要将列表撤消回默认值**(--Select One--)**。

为什么我需要这个

如前所述,我有 6 个下拉列表值,假设我选择了 5 个下拉列表的值,我想从任何下拉列表中撤消其中一个选项,然后唯一的选项是 clear 所有下拉列表并再次进行选择.

代码

<Select className="AdvancedFilterText"
          ref={selectRef}
          options={categoryOptions}
          styles={{
            option: base => ({
              ...base,
              borderBottom: '1px solid hsl(0, 0%, 80%,.5)',
              height: '100%',
            }),
          }}
          defaultValue={{value: "0", label:"--Select One--"}}
          isSearchable
          placeholder={"CHOOSE CATEGORY"}
          onChange={event => onCategorySelect(event)}>
        </Select>

帖子添加MenuItem

【问题讨论】:

  • 这是什么Select 组件?材质 UI、语义 UI、引导程序、自定义组件?
  • 这将是 Material UI。
  • 您能提供一个插图吗?
  • @Hamidreza 假设您有列表,并且在最顶部您应该有默认值,例如 --Select One--,现在我可以将值更改/选择为列表中的有效选择,现在我想再次将选择设置为默认值,例如“--Select One--”,我应该能够做到这一点,不幸的是,Material UI 可以选择设置defaultValue,但是它没有任何选项可以选择@ 987654331@ 手动。如果你明白我的意思,请告诉我。+

标签: javascript reactjs select material-ui


【解决方案1】:

设置displayEmpty 并有一个选项value=''

const data = [
  { value: 'accounting', label: 'Accounting' },
  { value: 'authority', label: 'Authority' },
  { value: 'coverage', label: 'Coverage' },
  { value: 'investigation', label: 'Investigation' }
]; // data from server

<Select displayEmpty>
  <MenuItem value=''>Select...</MenuItem>
  {data.map(item => 
    <MenuItem key={item.value} value={item.value}>
      {item.label} 
    </MenuItem>)
  }
</Select>

【讨论】:

  • 不,我仍然没有在列表中看到默认条目,也无法按照您的建议选择 MenuItem。我刚刚添加了截图以供参考。我仍然没有看到要重新选择的默认条目。
  • 感谢您的尝试!我之前尝试过,不幸的是这也不起作用,我将创建一个沙箱并分享链接。当您有硬编码列表时,您共享的代码可能会起作用,但是我正在使用 API 获取动态值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-28
  • 2022-06-22
  • 2016-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多