Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应本机-动态更改样式_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 反应本机-动态更改样式

Javascript 反应本机-动态更改样式,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我有一个使用map方法创建的动态菜单 {navigationOptions.map(option => { return ( <TouchableOpacity key={option.code} onPress={() => this.procedureOptionSelected(option.code)} >

我有一个使用map方法创建的动态菜单

          {navigationOptions.map(option => {
              return (
                <TouchableOpacity key={option.code}
                  onPress={() => this.procedureOptionSelected(option.code)}
                >
                  <Text bold style={header.NavigationBarOption}>
                    {option.type}
                  </Text>
                </TouchableOpacity>
              );
            })}
{navigationOptions.map(选项=>{
返回(
此.procedureOptionSelected(option.code)}
>
{option.type}
);
})}
但是,当我按下菜单选项时,我需要一个下划线

让我们假设,我按下了第一个选项。因此,在第一个选项中,必须有一个下划线

但我不知道怎么用英语来表达。 有人能帮我个主意吗


谢谢

您可以将
样式
道具添加到
触摸不透明度
中,并检查这是否是如下所示的选中按钮:

<TouchableOpacity
  style={{ borderBottomWidth: this.state.selected === option.code ? 1 : 0 }}
  onPress={() => this.setState({ selected: option.code })
>
...
</TouchableOpacity>
this.setState({selected:option.code})
>
...

另外,我想您可以使用
this.procedureOptionSelected()
,因为您也在其中设置了
选项.code

procedureOptionSelected
可能会将
选项设置为state,对吗?因此,在
style={header.NavigationBarOption}
中,可以检查当前选项的代码是否与状态中的该值匹配,如果匹配,则将下划线样式添加到样式对象中。