2

当我在使用 Downshift 时渲染输入元素时,做错了吗

<input {...getInputProps({...this.props})} />

还是我应该更具体地说明对象中将哪些属性传递给getInputProps?

{...getInputProps({placeholder: this.props.placeholder})}

后者不会让我添加其他属性(例如data-testid:controlName)而不更改我的源代码控制以专门寻找它

4

1 回答 1

2

根据文档,您应该将所有道具作为输入元素的对象传递。我没有亲自使用过降档,但我想这会起作用(并且只通过你需要的东西而不额外的“混乱”总是好的做法):

<input {...getInputProps({
    placeholder: this.props.placeholder,
    data-testid: controlName,
    moreProps: this.props.additionalInfo
})} />

但是,为了更直接地解决您的原始问题,只要您的属性this.props被适当标记(即placeholder: placeholderValue),this.props作为getInputProps().

于 2019-01-08T16:35:52.377 回答