Реактивный сборщик chnge цвета текста опции - PullRequest
0 голосов
/ 17 октября 2019

Я использую 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.

...