我想在我的 antd-mobile web-app 中使用降档的自动完成功能。我喜欢降档,因为它呈现外部组件。
不幸的是,我不知道如何“绑定”来自 antd-mobile 的一/两个文本输入元素之一。这些组件提供了“受控”模式,但我找不到相应的文档。
仅仅传递getInputProps()
from downshift 是行不通的:
<InputItem {...downshift.getInputProps()} />
降档抛出:
Uncaught TypeError: Cannot read property 'value' of undefined
当 downshift 读取antd-mobile 组件(calling-back )event.target.value
提供的唯一回调参数( )时,就会发生这种情况。这是有道理的,因为 antd-mobile api-doc 说返回文本输入的“字符串”类型值。event
onChange()
那么,如何从 antd-mobile 组件中获取原始的 react<input>
组件onChange
回调来传递呢?
调查源头:我在这里迷路了。onChange
回调应设置为this.props.onChange
(包含在 中)restProps
。反过来应该getInputProps()
从 downshift 设置:返回值的 Object.keys 是:
["aria-autocomplete", "aria-activedescendant", "aria-controls", "aria-labelledby", "autoComplete", "value", "id", "onChange", "onKeyDown", "onBlur"]
展望未来:鉴于onChange
回调通过降档 - 是否需要更多绑定?