1

我想在我的 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 说返回文本输入的“字符串”类型值。eventonChange()

那么,如何从 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回调通过降档 - 是否需要更多绑定?

4

0 回答 0