反应材质UI重置值

den*_*xic 2 javascript material reactjs material-ui

我正在使用材料UI做出反应.

我似乎无法在提交时重置表单而不会在控制台中出现错误.

如果我有: <TextField defaultValue={myComment.title} refs="title" />

在提交时,如果我这样做:this.refs.title.setValue('')我在控制台中收到以下错误

警告:不推荐使用setValue()方法.请改用defaultValue属性.或者使用TextField作为具有value属性的受控组件.

所以我试着这样做:this.refs.title.defaultValue = ''但那没用.

我想我必须做一个handleChange事件?但是当我想要做的就是清除输入字段时,设置它似乎非常痛苦.

在此先感谢您的帮助.

And*_*ges 11

因此,使用此组件的最佳方法可以帮助您轻松实现所需(即使它有点冗长)将一个valueonChange属性传递给TextField...您可以处理value当前组件的状态或甚至从父母的组件传递为道具..

一个简单的例子:

handleInputChange(event) {
    this.setState({
        name: event.target.value
    })
}


cleanInput() {
    this.setState({
        name: ''
    })
}

<TextField value={this.state.name} onChange={this.handleInputChange.bind(this)} />
Run Code Online (Sandbox Code Playgroud)

  • 在这里,我认为React / Material UI将使我的生活更简单...;)哈。谢谢。 (2认同)
  • @AndréJunges 什么是 cleanInput() ? (2认同)