Заполнитель TextInput не принимает fontWeight - PullRequest
0 голосов
/ 06 июня 2019

У меня есть поле TextInput с указанным заполнителем.При загрузке текст заполнителя должен отображаться как fontWeight:"normal", а когда пользователь вводит значение в текстовое поле - буква попадает в fontWeight:"bold", но когда текстовое поле снова пусто - заполнитель должен вернуться к fontWeight:"normal".В настоящее время, несмотря на изменение и обновление состояния, заполнитель по-прежнему занимает "fontWeight:bold", как только пользователь вводит и удаляет текст из поля TextInput.

Я пытался использовать placeholderStyle, но это не для моего сценария, я нехочу изменить стиль, только вес шрифта.

  <TextInput
    style={
      !searchText
        ? [styles.autoCompleteInputStyle, styles.placeholderText]
        : [styles.autoCompleteInputStyle, styles.searchedText]
    }
    underlineColorAndroid="transparent"
    placeholder="Search item"
    placeholderTextColor="#505050"
    autocorrect={false}
    value={searchText}
    onChangeText={searchTextValue => this.onChangeText(searchTextValue)}
    clearButtonMode="while-editing"
    returnKeyType="search"
  />

Стиль для autocompleteTextInput

  autoCompleteInputStyle: {
    flexDirection: "row",
    height: 40,
    borderStyle: "solid",
    borderWidth: 1,
    borderColor: "#cccccc",
    fontSize: 18,
    flex: 1,
    justifyContent: "center",
    marginRight: 14,
    marginBottom: 20,
    paddingLeft: 40,
    color: "#000000",
    borderRadius: 2,
    lineHeight: 21,
    fontFamily: fontStyleFlightCard.fontFamily
  },
    searchedText: {
      fontWeight: "bold"
    },
    placeholderText: {
      fontWeight: "normal"
    },

Я предполагаю, что заполнитель должен быть в обычном fontWeight, а когда пользователь вводит текст, он должен бытьжирным шрифтом.Всякий раз, когда пользователь вводит и удаляет текст из TextInput, текст заполнителя меняется на обычный fontWeight.

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

у меня все работает, изменив searchTextValue на searchText в onChangeText prop.

, вы можете посмотреть пример, который я сделал здесь .

0 голосов
/ 13 июня 2019

Я думаю, что ваша проблема! SearchText.Убедитесь, что! SearchText = true когда пусто.Возможно, вам придется сделать что-то вроде

searchText === '' ? placeholderText : searchedText
...