无法在textarea中键入任何文本

时间:2017-03-22 21:22:12

标签: reactjs

我无法在文字区域输入任何文字。 我无法修改我的默认文字。

我如何解决我的问题?

class SomeClass extends Component{
 constructor(props){
        super(props)
        this.state = {data:[]}

        }
handleChange(e, media_id){
        var newState = $.each(this.props.data, function() {
        if (this.media_id  == media_id) {
            this.text = e.target.value  }
        });
        this.setState({data:newState})
     };
 render(){
    return(
        <div className="col s9 m9 cards-container">
        {this.props.data.map(item =>
             <div className="input-field">
               <textarea 
                   placeholder="Описание с тегами" ref="tags" 
                   className="materialize-textarea" value={ item.text }
                   onChange={this.handleChange.bind(this, item.media_id)}
               />
            </div>)})}
            }

2 个答案:

答案 0 :(得分:1)

将参数的顺序反转为handleChange(media_id, e)

handleChange

由于this.handleChange.bind(this, item.media_id) 的约束方式,参数将按相反的顺序排列:

item.media_id

返回部分应用的函数,其中Event是其第一个参数。 <{1}}发生时传递的最终onChange对象将是第二个参数。

答案 1 :(得分:0)

我发现你正在handleChange中使用 es6 标准:

<textarea onChange={...} ...

你必须用

替换
onChange={(e) => this.handleChange(e, item.media.id)}

这就是全部