Задать вопрос
@vlad2vlad

Почему onChange не работает в текстовом поле на iOS?

Появилась проблема при работе с инпутами на iOS.
Вот код моего компонента:
import './Input.css'
import {
    Component
} from 'react'
export default class Input extends Component {
    constructor(props) {
        super(props);
        this.state = {
            value: this.props.content,
            initiate: this.props.content,
            errored: false
        }
        this.handleChange = this.handleChange.bind(this)
    }
    handleChange(event) {
        this.setState({
            value: event.target.value
        }, () => {
            if (this.props.callback) {
                this.props.callback(this)
            }
        })
    }
    render() {
        if (this.props.content !== this.state.initiate) {
            this.setState({
                value: this.props.content,
                initiate: this.props.content
            })
        }

        return ( <
            > {
                this.props.label ? < label htmlFor = {
                    this.props.type
                } > {
                    this.props.label
                } : < /label> : null} <
                    input onBlur = {
                        this.props.onBlur
                    }
                onFocus = {
                    this.props.onFocus
                }
                type = {
                    this.props.type === 'password' ? 'password' : 'text'
                }
                className = {
                    'Input' + (this.state.errored ? ' Input_errored' : '')
                }
                id = {
                    this.props.type
                }
                placeholder = {
                    this.props.placeholder
                }
                data - name = {
                    this.props.type
                }
                value = {
                    this.state.value || ''
                }
                disabled = {
                    this.props.disabled
                }
                onChange = {
                    this.handleChange
                }
                /> <
                />
            )
        }
    }


Все работает хорошо, пока не открываю скомпилированное веб-приложение на iOS. Попросту не вводится текст при нажатии на клавиши. Смотрел в консоль, ошибку не показывает. Видимо проблема в onChange. В чём ошибка?
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы