0

我尝试了所有我能想到的东西,但我似乎无法让它工作

我想从这样的数组中添加多个选项

<Menu renderer={renderers.SlideInMenu} ref={(ref) => statusRef = ref}>
    <MenuTrigger/>
        <TouchableWithoutFeedback onPress={this.onQuestionStatusButtonPressed}>
            <View style={styles.view_header_submit_icon}>
                <Icon style={styles.icon_header_submit} name={"dots-vertical"} />
            </View>
        </TouchableWithoutFeedback>
        <MenuOptions>
            {this.state.subjects.forEach((value) => {
                <MenuOption >
                    <View style={styles.view_option}>
                        <Text style={styles.text_option}>value.name</Text>
                    </View>
                </MenuOption>
            )}
        </MenuOption>
    </MenuOptions>
</Menu>

这对我不起作用我做错了吗?并且该数组中有项目,因为我使用控制台对其进行了调试,它运行了 2 次但从不渲染

4

1 回答 1

0

您的代码似乎在语法上不正确(例如 extra </MenuOption>),并且您的触发器为空,但外部可触摸..

其次 -forEach因为它没有返回值而不起作用 -map改为使用。

我做了简单的工作演示https://snack.expo.io/SJBJkr7yQ并且没有任何问题

<Menu> <MenuTrigger text="Select action" /> <MenuOptions> <MenuOption onSelect={() => alert(`Save`)} text="Save" /> {this.state.subjects.map(s => <MenuOption key={s} text={s}/>)} </MenuOptions> </Menu>

专业提示:从最简单的工作示例开始(例如,来自官方文档)并添加逐步的东西,始终检查一切是否正常。

于 2018-05-23T19:25:55.007 回答