React Native блок для значения ввода текста

Я хочу добавить единицу к значению textInput:

React Native блок для значения ввода текста

Пытался использовать value = { this.state.totalWeight + " Kgs"}, но безрезультатно!

Также я попытался добавить " Kgs" в onSubmitEditing = { () => { this.refs.firstInput.refs.value = this.state.totalWeight + " Kgs" }, но опять же безрезультатно!

Любая идея?

Thanks in advance!

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
992
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

state = {
   value: "",
   unit: "Kgs"
}
render(){
   return(
     <View style = {{flexDirection: 'row', alignItems: 'center'}} >
            <TextInput value = {this.state.value} onChangeText = {(value) => this.setState({value})} />
            <View style = {{marginRight: 10}} >
                <Text>{this.state.value === '' ? '' : this.state.unit}</Text>
            </View>
     </View>       
   );
}

Так что каждый раз, когда я набираю число, я получаю «кг»! - например, я набираю «23» и получаю значение: «2 кг 3 кг».

MohamadKh75 05.08.2018 01:07

Ах да! Позвольте мне обновить ответ. Решение может показаться вам немного взломанным.

Singh 05.08.2018 01:14

Обновленный ответ может быть не тем, что вам нужно. Но, на мой взгляд, это служит нуждам.

Singh 05.08.2018 01:20

Я знаю, все равно спасибо! Посмотрим, найдется ли у кого-нибудь лучший способ! :)

MohamadKh75 05.08.2018 01:20
Ответ принят как подходящий

Так что я использую этот способ!

Мой state:

this.state = {
  commodity: "",
  isFilled: false
};

И тогда у нас есть:

<TextInput
  style = {{ flex: 1 }}
  onChangeText = {commodity =>
    this.setState({
      commodity,
      isFilled: false
    })
  }
  value = {
    this.state.isFilled ? this.state.commodity + " Unit" : this.state.commodity
  }
  onFocus = {() => this.setState({ isFilled: false })}
  onEndEditing = {() => {
    if (this.state.commodity == "") {
      this.setState({ isFilled: false });
    } else {
      this.setState({ isFilled: true });
    }
  }}
  placeholder = "Commodity"
/>;

Теперь каждый раз, когда пользователь вводит текст, после редактирования ЕДИНИЦА будет добавляться.

Вы имеете в виду, что пользователь может менять цвет текста?

MohamadKh75 15.05.2019 07:37

Текст Unit является частью значения TextInput, поэтому пользователь может выбрать его и удалить.

chengsam 15.05.2019 09:49

Извините, я неправильно понял вопрос: D - Тогда вы можете использовать 2 <Text>

MohamadKh75 15.05.2019 10:54

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

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