RNPickerSelect пытается отобразить выделение из отображаемых данных объектов в массиве - PullRequest
0 голосов
/ 29 мая 2019

Я использую RNPickerSelect из библиотеки «act-native-picker-select », но не могу отобразить выбор, отображая объекты массива, хранящегося в одном из моих состояний.

Я пытался использовать тот же способ для сопоставления объектов массива, как и при попытке отобразить данные, оборачивая простые компоненты, но я получаю «Ошибка типа. Undefined не является объектом (оценка this.state.selectedItem.label».

Я объявил и инициализирую bankResponseArray: [] в своем классе реакции. И API-вызов для извлечения данных прошел успешно, было вставлено состояние «bankResponseArray» с данными

[
  Object {
"__v": 0,
"_id": "5cb411e06f34961204003b79",
"bank_code": "RHB",
"country": "5cb04a7e23479e39e495f2b6",
"created_date": "2019-04-15T05:08:48.769Z",
"name": "RHB",
"status": true,
},
 Object {
"__v": 0,
"_id": "5cb42d6635ab9132e0e0b994",
"bank_code": "Maybank",
"country": "5cb04a7e23479e39e495f2b6",
"created_date": "2019-04-15T07:06:14.701Z",
"name": "Maybank",
"status": true,
},
Object {
"__v": 0,
"_id": "5cd4e8b0c4022833942eafe0",
"bank_code": "HongLeong",
"country": "5cb04a7e23479e39e495f2b6",
"created_date": "2019-05-10T02:57:52.130Z",
"name": "HongLeong",
"status": true,
},
Object {
"__v": 0,
"_id": "5cd4ee47c4022833942eafe2",
"bank_code": "testbankcode",
"country": "5cbfc9c99b7d064464592948",
"created_date": "2019-05-10T03:21:43.534Z",
"name": "testbank",
"status": true,

}, ]

Ниже показано, как выглядит мой компонент RNPickerSelect, и как я пытаюсь отобразить данные из "bankResponseArray": -

<RNPickerSelect
                    placeholder={{}}
                    useNativeAndroidPickerStyle={false}
                    items={this.state.bankResponseArray.map(obj => 
                      [{
                        label: obj.name,
                        value: obj._id,
                        color: "rgba(77,38,22,1)"
                      }]
                      )}
                    onValueChange={(value, index) => {
                      this.setState({
                        bankID: value
                      });
                    }}
                    onClose={() => {
                      // this._changeGender()
                    }}
                    style={{ ...pickerSelectStyles }}
                    value={this.state.businessType}
                    ref={el => {
                      this.inputRefs.picker = el;
                    }}
                    hideIcon={Platform.OS === "ios" ? false : true}
                    doneText={translate("common_done")}
                    // disabled={!canSubmit}
                  />

Ожидаемые результаты должны были иметь RNPickerSelect, отображающий 4 выбора: «RHB, Maybank, HongLeong, testbank». Но в настоящее время я пытаюсь сопоставить свой массив с RNPickerSelect, получая ошибку «Ошибка типа. Undefined не является объектом (оценивает this.state.selectedItem.label».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...