Измените цвет заполнителя TextInput с помощью стилизованных компонентов в React Native - PullRequest
0 голосов
/ 27 мая 2019

Как установить цвет TextInput для его заполнителя с Стилизованными компонентами в React Native ?

Я пробовал следующее без каких-либоудача:

1.

const Input = styled.TextInput`
   border: 1px solid green;
   display: block;
   margin: 0 0 1em;

   ::placeholder {
       color: green;
   }
`

2.

const Input = styled.TextInput`
   border: 1px solid green;
   display: block;
   margin: 0 0 1em;

   &::placeholder {
       color: green;
   }
`

Ответы [ 3 ]

1 голос
/ 27 мая 2019

Вы не можете стилизовать цвет заполнителя напрямую с помощью styleled-компонент, но вы можете передать свойство placeholderTextColor в ваш стиль Textinput.

Пример:

const Input = styled.TextInput`
   border: 1px solid green;
   display: block;
   margin: 0 0 1em;

`

, а затем внутри функции рендеринга:

<Input placeholder="hello" placeholderTextColor="green" />

Вывод:

output

Рабочий пример:

https://snack.expo.io/rybp-nKaE

1 голос
/ 29 мая 2019

Лучший способ сделать это:

export const Input = styled.TextInput.attrs({
  placeholderTextColor: "red"
})`
  background-color: "#000";
`;
0 голосов
/ 27 мая 2019

Чтобы изменить цвет текста, ввод текста заполнителя пользователя prperty "PlaceholderTextColor" например,

<TextInput
        style={{height: 40, borderColor: 'gray', borderWidth: 1}}
        onChangeText={(text) => this.setState({text})}
        placeholder = 'Enter text'
        placeholderTextColor = 'red'
        value={this.state.text}
      />
...