Search code examples
react-nativedrop-down-menucategoriespicker

Change the title of the dropdown header


I am using react-native-dropdown-picker v 4.0.2;

I am trying to change the title, here I found default value select an item, How can I change the default title, like select a category

here is an expo link https://snack.expo.io/@mamun_121/testing_snack

import React, { Component } from 'react'
import { View } from 'react-native'
import SelectMultiple from 'react-native-select-multiple'
import Icon from 'react-native-vector-icons/Feather';
import DropDownPicker from 'react-native-dropdown-picker';


class Dropdown extends Component {
  
  state = {
    items: ['sports']
  }
  
  render () {
    return (
      <DropDownPicker
        items={[
          {label: 'Sports', value: 'sports', icon: () => <Icon name="flag" size={18} color="#900" />},
          {label: 'Books', value: 'book', icon: () => <Icon name="flag" size={18} color="#900" />},
        ]}

        placeholder="Select category"
        multiple={true}
        multipleText="%d categories have been selected."
        min={0}
        max={10}
        
        defaultValue={this.state.items}
        containerStyle={{height: 40}}
        itemStyle={{
          justifyContent: 'flex-start'
        }}
        onChangeItem={item => this.setState({
          items: item // an array of the selected items
        })}
      />
    )
  }
}
export default Dropdown;

Dropdown


Solution

  • You have to use the "placeholder" prop instead of the label.

     <DropDownPicker
            items={[
              {label: 'Sports', value: 'sports', icon: () => <Icon name="flag" size={18} color="#900" />},
              {label: 'Books', value: 'book', icon: () => <Icon name="flag" size={18} color="#900" />},
            ]}
            
            placeholder="Select category"
            multiple={true}
            multipleText="%d categories have been selected."
            min={0}
            max={10}
            defaultValue={'sports'}
            containerStyle={{height: 40}}
            itemStyle={{
              justifyContent: 'flex-start'
            }}
            onChangeItem={item => this.setState({
              items: item // an array of the selected items
            })}
          />
    

    Working snack https://snack.expo.io/@guruparan/646ecd