【问题标题】:React-admin SelectInput does not show the value in Edit using together with choisesReact-admin SelectInput 与选择一起使用时不显示编辑中的值
【发布时间】:2019-08-04 13:29:18
【问题描述】:

我有一个状态字段,来自我的 API。它的值介于 0-3 之间。

我的回复如下:

{ status: 0 }

我可以在 Edit with TextInput 中显示值,它显示值(在本例中为 0)。

但是我希望它通过 SelectInput 显示,因为在编辑模式下我想更改状态的值。

我的 SelectInput 看起来像这样:

          <SelectInput label="Status" source="status" choices={[
                       { id: '0', name: 'elfogadásra vár' },
                       { id: '1', name: 'aktív' },
                       { id: '2', name: 'inaktív' },
                       { id: '3', name: 'archív' },
                       ]} 
                       optionText="name" 
                       optionValue="id" 
          />

不幸的是,当我保存并刷新页面时,我的状态没有显示当前值(在这种情况下为 0,它应该显示“elfogadasra var”,但它是空的)

我做错了什么?

【问题讨论】:

    标签: reactjs react-native react-admin


    【解决方案1】:

    我实现这一点的方式如下

    <ReferenceInput label="Country" source='country.id' reference="Country"  sort={{ field: 'name', order: 'ASC' }} alwaysOn>
       <SelectInput optionText="name" optionValue="id" allowEmpty />
    </ReferenceInput>
    

    我需要从该数据库中加载我的选择,但概念是相同的......我怀疑你使用的源代码是错误的......查看 redux 开发工具......在 state --> form 下 - -> 记录形式--> 值,你应该看到类似 status.id 的东西,你应该将其用于源。我的表单国家 {id:2} 中有相同类型的对象......但那是不是您用来获取输入以显示您现有价值的东西...

    您的解决方案可能就像在源代码中调用 diff 值一样简单,但您会通过查看状态 {status: 0} 必须在其前面有一些东西在状态中知道应该是什么 --> {状态:0}

    【讨论】:

    • 不确定我是否完全理解您...为什么 TextInput 正确显示我的值(在本例中为 0),为什么 SelectInput 不正确?两者都来自同一个 API 响应
    • 是的,但是您的文本输入只是显示与名为 source 的属性关联的 0....只给它一个 0... 你查看你的表单记录了吗?也许粘贴完全打开的值信息
    • 发现了问题——由于某种原因,我有一个 customInput 阻止了 SelectInput 正常工作。删除该自定义输入后,我的 SelectInput 工作正常
    【解决方案2】:

    不是真正的原因,但如果有人正在解决同样的问题,则值得检查:

    我发现我在create 上将initialValues 传递给Form 组件,并且在edit 模式下没有跳过它们。这就是为什么它总是重置SelectInput's。

    【讨论】:

      猜你喜欢
      • 2021-11-03
      • 2020-05-04
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-03
      • 2021-04-16
      相关资源
      最近更新 更多