【问题标题】:Property 'handleSelectChange' does not exist on type '' in Ant Design FormAnt 设计表单中的类型“”上不存在属性“handleSelectChange”
【发布时间】:2018-11-20 20:52:28
【问题描述】:

Ant 设计有一个 HOC 包装器,用于实现如下形式:

class View extends Component {
  render() {
  return ( <FormItem
                {...formItemLayout}
                label='Country'>
                {getFieldDecorator('country', {
                  initialValue: Company && Company.country,
                })(
                  <Select
                    showSearch={true}
                    optionFilterProp="children"
                    filterOption={(input: any, option: any) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
                    placeholder="Select a Country"
                    onChange={this.handleSelectChange}
                  >
                    {countrylist}
                  </Select>
                )}
              </FormItem>)
  }
}

export default compose(
  Form.create()
  ...
)(View)

在普通的 javascript 中,this.handleSelectChange 工作正常,但我正在尝试将我的项目迁移到打字稿,我得到:

视图类型上不存在属性“handleSelectChange”

我尝试扩展界面,但我没有做对。我如何让它发挥作用?

【问题讨论】:

    标签: javascript reactjs typescript antd


    【解决方案1】:

    问题是即使 Form.create() 被调用,该元素并没有包装它 - 它位于更高的组件中。这里不需要调用Form.create(),直接在form组件里面做,然后把form作为prop传下来。然后就可以使用了

    form.handleSelectChange
    

    这行得通。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-09
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      • 2022-01-26
      • 1970-01-01
      相关资源
      最近更新 更多