首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法通过数组将<Picker.Item />插入到<Picker> </Picker>中?

有没有办法通过数组将<Picker.Item />插入到<Picker> </Picker>中?
EN

Stack Overflow用户
提问于 2020-08-17 21:20:19
回答 2查看 36关注 0票数 0

我为Picker编写的代码如下所示,但我不能用数组覆盖和执行Picker项。

我该怎么做呢?

代码语言:javascript
复制
import React, {useState} from 'react';
import {View,Picker} from 'react-native';

export default class TA extends React.Component {
    render(){
        return (
            <View style={{flex: 1,alignItems: 'center'}}>
                <Picker style={{width: 150,height: 60}} selectedValue="1">
                <Picker.Item label="1" value="1" />
                <Picker.Item label="2" value="2" />
                <Picker.Item label="3" value="3" />
                <Picker.Item label="4" value="4" />
                <Picker.Item label="5" value="5" />
                <Picker.Item label="6" value="6" />

                //from here onwards

                {()=>{
                   let p = [];
                   for(let i = 7 ; i < 12 ; i++){
                      p.push(<Picker.Item label={i} value={i} />)
                   }
                   return p;
                }}

                </Picker>
            </View>
        );
    }
}
EN

回答 2

Stack Overflow用户

发布于 2020-08-17 21:44:03

在render方法中,可以创建一个变量,如下所示:

代码语言:javascript
复制
 let pickerItems =
  
  pickerArray.map((value, index) => {
    return (
      <Picker.Item
        label={value}
        value={value}
      />
    );
  });

在您的选择器中使用此变量,如下所示:

代码语言:javascript
复制
 <Picker>
   {pickerItems}
 </Picker>
票数 0
EN

Stack Overflow用户

发布于 2020-08-17 21:58:58

它是基于您的代码的解决方案之一

代码语言:javascript
复制
import React from 'react';
import {View,Picker} from 'react-native';

export default class TA extends React.Component {
    render(){
      
      const myArr = () => {
        var p = [];
        for(let i = 7 ; i < 12 ; i++){
          p.push(i)
        } return p;
      }
      var newArr = myArr() 

        return (
            <View style={{flex: 1,alignItems: 'center'}}>
                <Picker style={{width: 150,height: 60}} selectedValue="1">
                <Picker.Item label="1" value="1" />
                <Picker.Item label="2" value="2" />
                <Picker.Item label="3" value="3" />
                <Picker.Item label="4" value="4" />
                <Picker.Item label="5" value="5" />
                <Picker.Item label="6" value="6" />

                {newArr.map((item, index) => {
                   return (<Picker.Item label={item} value={item} key={index}/>) 
                })}
  
                </Picker>
            </View>
        );
    }
}

此处的工作示例https://codesandbox.io/s/keen-vaughan-dt742?file=/src/Select.js:0-908

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63451691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档