react 里面 onSubmit() 触发问题

ref={self => this.form = self}

this.form.onsubmit()

这样为什么报this.form.onsubmit is not a function


搜索组件

componentWillReceiveProps(nextProps) {
    if ('click' in nextProps.receive) {
        if (nextProps.receive.click) {
            this.form.submit();
        }
    }
}

render (
    <form
        ref={self => this.form = self}
        onSubmit={() => this.handleSubmit(event)}
    >
        input...
    </form>
)

Header组件

<Header>
    <HeaderLeft href="/index" icon={<Icons type="icon-header-back" />} />
    <HeaderCenter>
        <Search
            transfer={data => this.transferSearch(data)}
            receive={this.state.receiveSearch}
            request={{
                method: 'POST',
                source: 'http://xxx:8080/bridge/prod_search',
                key: ['prod_name', 'start', 'end']
            }}
        />
    </HeaderCenter>
    <HeaderRight label="搜索" transfer={data => this.transferHeaderRight(data)} />
</Header>

简单说就是搜索按钮在form外面怎么触发onSubmit或者handleSubmit()

阅读 7.7k
3 个回答

因为没有onsubmit这个函数。

你打印this看看是不是当前实例的this;
使用es6的箭头函数不会自动绑定this到当前实例。

大小写···

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题