Nickbase Picker Элемент не показывает выбранное значение - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь выбрать элемент из пункта выбора.проблема в том, что когда я щелкнул по элементу, а затем по обработчику функций onValueChangeJob(value) выполнил какую-то задачу

onValueChangeJob(value) {
    this.setState({ jobValue: value.jobTitle})
       USE value.number form another task
    });
}

Ниже находится мой компонент выбора

<Picker
 style={commonStyle.pickerStyle}
 textStyle={commonStyle.textStylePicker}
 headerTitleStyle={commonStyle.headerTitleStyle}
 headerBackButtonTextStyle={commonStyle.headerBackButtonTextStyle}
 iosIcon={<Icon name="ios-arrow-down" />}
 mode="dropdown"
 placeholder="MAKE A SELECTION"
 placeholderStyle={commonStyle.placeholderStyle}
 note={false}
 itemTextStyle={commonStyle.itemTextStyle}
 selectedValue={this.state.jobValue}
 onValueChange={this.onValueChangeJob.bind(this)}
 >
 {jobItems}                                    
</Picker>

Пока элементы заданий приходят с карты, созданной при рендеринге() функция, подобная

jobItems = this.state.jobTypesList.map((v,i) => {
    return <Picker.Item key={i} value={v} label={v.jobTitle} />
});

Так что если я использовал непосредственно в picker.item props value- {v.jobTitle}, то выбранное значение изменилось, но я хочу использовать весь объект v в функции onValueChangeJob (value).* * * * * * Обновление состояния , но не может отображаться при выбранном значении пикара. пробовал много разных вещей, но не то, что я хочу.как я должен справиться с этим с надлежащим примером, как я новичок в реакции родной

Посмотрите, как выглядит мой сборщик на этом изображении

Look How My Picker look in this image

1 Ответ

0 голосов
/ 28 марта 2019

После долгих поисков, выполняя одно на одном решение, я нахожу это решение, которое мне нужно отфильтровать this.state.jobTypesСписать этот массив в обработчик onValueChange и получить объекты определенной работы. Заголовок

return this.state.jobTypesList.map((v,i) => {
            return <Picker.Item key={i} value={v.jobTitle} label={v.jobTitle} 
        });

let filterArray = this.state.jobTypesList.filter((v) => v.jobTitle === value)[0]
filterArray.jobTitle
filterArray.jobNumber
...