通过 array.forEach() 添加子项到 <MenuOptions>
Add Children through array.forEach() to <MenuOptions>
我尝试了所有我能想到的方法,但似乎无法正常工作
我想从这样的数组中添加多个选项
<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 次但从未呈现
您的代码在语法上似乎不正确(例如额外的 </MenuOption>
)并且您的触发器是空的,但外部可触摸..
其次 - forEach
将不起作用,因为它没有 return 值 - 请改用 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>
专业提示:从最简单的工作示例(例如来自官方文档)开始并逐步添加内容,始终检查一切是否正常。
我尝试了所有我能想到的方法,但似乎无法正常工作
我想从这样的数组中添加多个选项
<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 次但从未呈现
您的代码在语法上似乎不正确(例如额外的 </MenuOption>
)并且您的触发器是空的,但外部可触摸..
其次 - forEach
将不起作用,因为它没有 return 值 - 请改用 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>
专业提示:从最简单的工作示例(例如来自官方文档)开始并逐步添加内容,始终检查一切是否正常。