Я использую Picker
из 'react-native'
function make_list(list, showDefaultPickerItem, valuekey, label) {
let listMap = list.map(l => <Picker.Item key={l[valuekey]} label={l[label]} value={l[valuekey]} />);
if (showDefaultPickerItem) {
listMap.unshift(<Picker.Item key="_default" label={"Selecionar..."} value={undefined} color={'gray'} />);
}
return listMap;
}
function PickerComponent(props){
const { header, selectedValue, onValueChange, list, label, styleView, valuekey, enabled, styleHeader, showDefaultPickerItem} = props;
return (
<View>
<Text h5 style={{...styleHeader}}>{header}</Text>
<View style={styleView}>
<Picker
selectedValue={selectedValue}
style={{flex: 1}}
enabled={enabled}
onValueChange={(value) => onValueChange(value)}
>
{make_list(list, showDefaultPickerItem, valuekey, label)}
</Picker>
</View>
</View>
)
}
и пример использования PickerComponent
<PickerComponent
header="Cultura"
styleView={{marginBottom:20}}
selectedValue={this.state.currentCultura.culturaId ?
this.state.currentCultura.culturaId : ""}
onValueChange={(value) => {this.setState({currentCultura: {...currentCultura, culturaId : value}})}
list={listCulturas}
valuekey="culturaId"
label="nomeCultura"
/>
В целом это работает, но моя проблема в том, что по какой-то причиненекоторые параметры в списке имеют серый цвет, а другие - черный. По умолчанию у всех должен быть черный цвет текста, а для всех - один серый.
Я не могу понять, почему это происходит.
![See the picture here.](https://i.stack.imgur.com/e3XfI.png)