У меня была проблема с назначением выбора для средства выбора native-base с использованием массива в качестве реквизита Picker.item - PullRequest
0 голосов
/ 06 октября 2019

Это код, который я придумал.

Если кому-то интересно, вот закусочная версия этого кода: https://snack.expo.io/Hkm_PBDuB

Моя цель - получить каждую букву(в данном случае это «dwm»), которое будет отображаться в средстве выбора, но каким-то образом оно не будет отображаться, или в этом случае я упускаю важную вещь?

import React, { Component } from 'react';
import { Container, Header, Content, Picker, Form } from 'native-base';

export default class PickerExample extends Component {
  constructor(props) {
    super(props);
    this.state = {
      selected: null,
    };
  }
  onValueChange(value: string) {
    this.setState({
      selected: value,
    });
  }

  PickerRenderer = () => {
    const booking_types = [...'dwm'];
    console.log(booking_types);
    booking_types.forEach((item, index) => {
      return <Picker.Item label={item} value={item} />;
    });
  };

  render() {
    return (
      <Container>
        <Header />
        <Content>
          <Form>
            <Picker
              note
              mode="dropdown"
              style={{ width: 120 }}
              selectedValue={this.state.selected}
              onValueChange={this.onValueChange.bind(this)}>
              {this.PickerRenderer()}
            </Picker>
          </Form>
        </Content>
      </Container>
    );
  }
}
...