我正在使用react-final-form
并从这个例子中得到帮助 https://codesandbox.io/s/52q597j2p
在上面的示例中giftCardMessage
当用户unchecked
此字段时,将从对象中删除属性Is this a gift?
重现步骤。
- 选中
Is this a gift?
字段并在文本字段中输入Message
的内容,然后取消选中的 See 属性将被删除。
我使用了上述概念并尝试制作同样的东西.但是在我的示例中,我使用了前缀.在我的示例中,如果我取消选中复选框,它不会删除对象的属性
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>
当该框未选中时,消息输入应自动禁用(gif 的值为真或假(,请检查此处 https://i.stack.imgur.com/h2us7.jpg 您应该在邮件中添加:disabled={!values.gift},以便它响应框的值