【问题标题】:how to remove property of object on uncheck in react?如何在取消选中反应时删除对象的属性?
【发布时间】:2019-08-31 12:03:41
【问题描述】:

我正在使用react-final-form 并从这个示例中获得帮助 https://codesandbox.io/s/52q597j2p

在上面的例子中,当用户unchecked这个字段Is this a gift?时,giftCardMessage属性被从对象中移除

重现的步骤。

  • 选中Is this a gift?字段并在文本字段中输入Message。然后未选中的see属性将被删除。

我使用了上述概念并尝试做同样的事情。但在我的示例中,我使用了 prefixed。在我的示例中,如果我取消选中复选框,它不会删除对象的属性

https://codesandbox.io/s/react-final-form-declarative-form-rules-uvz6y

<WhenFieldChanges
              field="gift"
              becomes={false}
              set="giftCardMessage"
              to={undefined}
            />
            <FieldPrefix prefix="apps.dh">
              <div>
                <label>Is this a gift?</label>
                <PrefixedField name="gift" component="input" type="checkbox" />
              </div>

              <div>
                <label>Message</label>
                <PrefixedField
                  name="giftCardMessage"
                  component="textarea"
                  placeholder="What do you want the card to say?"
                />
              </div>
            </FieldPrefix>

【问题讨论】:

    标签: javascript reactjs react-context react-final-form


    【解决方案1】:

    未选中该框时应自动禁用消息输入(gif的值为true或false),请查看https://imgur.com/a4Eigoh 您应该在消息中添加: disabled={!values.gift} 以响应框的值

    【讨论】:

    • 没错,但在这种情况下,您应该更改此示例的禁用值: disabled={values.apps && values.apps.dh ? !values.apps.dh.gift : true}
    猜你喜欢
    • 2011-09-23
    • 2020-10-06
    • 1970-01-01
    • 2020-09-13
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    • 2018-12-10
    相关资源
    最近更新 更多