Обновление поля ввода в веб-представлении из компонента «реакционный-нативный» - PullRequest
0 голосов
/ 05 марта 2019

У меня есть такой компонент веб-просмотра:

export default class Home extends React.Component {
        onMessage(m) {
            //Update an input field in the webview with a custom value
        }
        render(){
            let jsCode = '';
            return (
            <WebView
               ref={(webView) => { this.webView.ref = webView; }}
               injectedJavaScript={jsCode}
               url={this.state.url}
               onMessage={m => this.onMessage(m)}
               />
            )
        }
    }

На веб-странице есть поле ввода с id = 'inpOne'. onMessage prop запускается нажатием кнопки внутри веб-страницы. Как обновить поле ввода с указанным выше идентификатором при выполнении операции onMessage?

Для краткости лишен большей части кода.

1 Ответ

1 голос
/ 05 марта 2019

Наверное, вот так.

export default class Home extends React.Component {
        onMessage(m) {
            const js = `document.getElementById('inpOne').value = ${m};`
            this.webView.injectJavaScript(js);
        }
}

Кроме того, проверьте определение ссылки в вашем WebView. Это выглядит неправильно. Должно быть ref={ref => (this.webView = ref)}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...