Как создать собственный выпадающий список в реагировать на родной? - PullRequest
1 голос
/ 23 января 2020

Я занимаюсь разработкой приложения, которое требует создания настраиваемого выпадающего меню, любой справки с ссылками.

Ответы [ 2 ]

1 голос
/ 23 января 2020

Попробуйте этот пример ниже, который я создаю, используя react Native Picker

import React, { Component } from "react";
import { Picker, View, Text, StyleSheet } from "react-native";

export default class CategoryScreen extends Component {
  state = {
    selectedcat: "",
    category: [
      {
        itemName: "Samsung M20"
      },
      {
        itemName: "Nokia"
      },
      {
        itemName: "Apple"
      },
      {
        itemName: "Samsung M23"
      },
      {
        itemName: "Samsung M24"
      },
      {
        itemName: "Samsung M25"
      }
    ]
  };

  async onValueChangeCat(value) {
    this.setState({ selectedcat: value });
  }

  render() {
    return (
      <View style={styles.viewStyle}>
        <View style={{ flex: 0.3 }}>
          <Text style={styles.textStyle}>Categories</Text>
        </View>
        <View style={{ flex: 0.7, fontSize: 14 }}>
          <Picker
            itemStyle={styles.itemStyle}
            mode="dropdown"
            style={styles.pickerStyle}
            selectedValue={this.state.selectedcat}
            onValueChange={this.onValueChangeCat.bind(this)}
          >
            {this.state.category.map((item, index) => (
              <Picker.Item
                color="#0087F0"
                label={item.itemName}
                value={item.itemName}
                index={index}
              />
            ))}
          </Picker>
        </View>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  viewStyle: {
    flex: 1,
    alignSelf: "center",
    flexDirection: "row",
    width: "92%",
    justifyContent: "space-between",
    alignItems: "center"
  },
  itemStyle: {
    fontSize: 10,
    fontFamily: "Roboto-Regular",
    color: "#007aff"
  },
  pickerStyle: {
    width: "100%",
    height: 40,
    color: "#007aff",
    fontSize: 14,
    fontFamily: "Roboto-Regular"
  },
  textStyle: {
    fontSize: 14,
    fontFamily: "Roboto-Regular"
  }
});

Измените это в соответствии с вашими требованиями. Не стесняйтесь сомнений.

0 голосов
/ 23 января 2020

Использование https://www.npmjs.com/package/react-native-modal-dropdown

Совместимо с iOS и Android. Авто положение. (Не закрывается и не обрезается краем экрана.) Нулевая конфигурация. (Опции нужны, конечно, или индикатор загрузки покажет.) Сильно настраиваемый. Управляется с помощью API с помощью кода. (Показать / Скрыть / Выбрать) Измените все в триггер выпадающего списка.

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