Свойство value поля ввода в реакции не отвечает

Поле ввода не принимает никаких значений. Это компонент рендеринга.

<Row>
    {this.state.activitieslist.map((newrow,index)=>{
            return (
                <Col sm = {12}>   
                    <Row className = "form-row">
                        <Col sm = {12}>
                            <div className = "form-input">
                                <InputGroup>
                                    <InputGroup.Addon className = "activity-ul"><i className = "fa fa-circle"></i></InputGroup.Addon>
                                    <FormControl type = "text" name = "ngo-activities-undertaken" placeholder = "enter your activity" value = {this.state.activitieslist[index].activities} onChange = {this.handleActivityChange.bind(this,this.state.activitieslist[index],index)}></FormControl>
                                </InputGroup>
                            </div>
                        </Col>
                    </Row>
                </Col>)
            })
        }
</Row>

и у меня есть состояния в виде массива объектов как

this.state = {
        activitieslist : [
            {rowValues : 'a', activities : ''},
            {rowValues : '', activities : ''}
        ],

Я не могу вводить значения в поле ввода. он не отражает никаких значений, которые я ввожу

функция handleActivityChange приведена ниже

handleActivityChange(activitieslist,id,e){
 console.info("event " + e.target.value+" index "+id+"activitieslist"+activitieslist.activities)
   this.setState({[activitieslist.activities ]: e.target.value})
}

Пожалуйста, помогите мне, так как я новичок, чтобы отреагировать.

Заранее спасибо :)

это мой обновленный код

<Row>
                    {this.state.activitieslist.map((newrow,index)=>{
                            return (
                                <Col sm = {12}>   
                                    <Row className = "form-row">
                                        <Col sm = {12}>
                                            <div className = "form-input">
                                                <InputGroup>
                                                    <InputGroup.Addon className = "activity-ul"><i className = "fa fa-circle"></i></InputGroup.Addon>
                                                    <FormControl type = "text" name = "ngo-activities-undertaken" placeholder = "enter your activity" value = {this.state.activitieslist[index].activities} onChange = {(e)=>{this.handleActivityChange(this.state.activitieslist[index],index,e)}} ></FormControl>
                                                </InputGroup>
                                            </div>
                                        </Col>
                                    </Row>
                                </Col>)
                            })
                        }  

                </Row>
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
0
42
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
<Row>
                {this.state.activitieslist.map((newrow,index)=>{
                        return (
                            <Col sm = {12}>   
                                <Row className = "form-row">
                                    <Col sm = {12}>
                                        <div className = "form-input">
                                            <InputGroup>
                                                <InputGroup.Addon className = "activity-ul"><i className = "fa fa-circle"></i></InputGroup.Addon>
                                                <FormControl type = "text" name = "ngo-activities-undertaken" placeholder = "enter your activity" value = {this.state.activitieslist[index].activities} onChange = {this.handleActivityChange(this.state.activitieslist[index],index)}></FormControl>
                                            </InputGroup>
                                        </div>
                                    </Col>
                                </Row>
                            </Col>)
                        })
                    }  

            </Row>

заменить на приведенный выше код

и ниже код в вашем конструкторе компонентов

this.handleActivityChange=this.handleActivityChange.bind(this) 

Тогда как мне получить целевое значение. Пожалуйста, дайте мне также функцию

Hareini Sreethi 17.06.2018 06:15

onChange = {(e) => {this.handleActivityChange (this.state.activit‌ ieslist [index], index‌, e)}}

nishant 17.06.2018 07:50

даже после попытки эти значения не обновляются.

Hareini Sreethi 17.06.2018 09:14

Другие вопросы по теме