在React Native中单击时如何使每个按钮更改颜色?

强森

我在应用程序上渲染了5种具有5种不同颜色的按钮,但是当我单击一个按钮时,所有按钮都变为相同的颜色。我只想更改我单击的按钮的状态,其他按钮保持默认颜色。

非常感谢您的协助。这是下面的代码:

const buttonArray = [
        { value: 'red', name: 'tomato' },
        { value: 'green', name: 'apple' },
        { value: 'blue', name: 'berry' },
        { value: 'yellow', name: 'banana' },
        { value: 'orange', name: 'orange' }
    ]

    const [buttonCol, setButtonCol] = useState(null)
    const [isSelected, setIsSelected] = useState(false)

    function selectedBtn(index) {
        buttonArray.map((btn, ind) => {
            if (buttonArray.indexOf(btn) === index) {
                setIsSelected(!isSelected)
                setButtonCol(btn.value)
            }
        })
    }

return(
<View style={styles.button}>
       { buttonArray.map((button, index) => {
           return (
            <TouchableOpacity
              style={[globalStyles.selectButton, isSelected ? { backgroundColor: buttonCol } : { backgroundColor: globalColors.iconGreyColor }]}
               onPress={() =>  selectedBtn(index) }>
                      <Text style={{ color: '#fff' }}>{button.name}</Text>
            </TouchableOpacity>
          )})
   }
</View>
)

努鲁丁·拉哈尼(Nooruddin Lakhani)

这可能有帮助

const buttonArray = [...];

const [buttonCol, setButtonCol] = useState(null);
const [isSelected, setIsSelected] = useState(false);
const [data, setData] = useState(buttonArray); // New Added

function selectedBtn(index) {
  const newData = [...data];
  newData[index].isSelected = newData[index].isSelected ? false : true;
  setData(newData);
}

return (
  <View style={styles.button}>
    {data.map((button, index) => {
      return (
        <TouchableOpacity
          style={[
            globalStyles.selectButton,
            button.isSelected
              ? { backgroundColor: buttonCol }
              : { backgroundColor: globalColors.iconGreyColor },
          ]}
          key={button.value} // add key here
          onPress={() => selectedBtn(index)}
        >
          <Text style={{ color: "#fff" }}>{button.name}</Text>
        </TouchableOpacity>
      );
    })}
  </View>
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在React Native中单击按钮时如何渲染组件

来自分类Dev

使用react-native单击时如何更改图像和文本颜色?

来自分类Dev

React Native:如何在单击按钮时获取文本值?

来自分类Dev

如何在 React Native 中单击提交按钮时验证电子邮件和密码?

来自分类Dev

在React中单击时更改特定按钮的文本

来自分类Dev

按下时在react native中更改文本的背景颜色

来自分类Dev

如何在React Native中防止多次单击按钮?

来自分类Dev

如何在React中动态更改按钮的大小和颜色

来自分类Dev

如何在React JS中更改按钮onClick的背景颜色?

来自分类Dev

在React Native的底部选项卡导航器中更改屏幕时如何更改图标以及文本的颜色?

来自分类Dev

在React Native中以编程方式单击按钮

来自分类Dev

在React-Native中单击登录时如何设置状态?

来自分类Dev

在React-Native中单击登录时如何设置状态?

来自分类Dev

在React JS中单击时禁用按钮

来自分类Dev

为什么我不能在 react-native 中更改按钮的颜色

来自分类Dev

如何知道React中单击元素的颜色?

来自分类Dev

如何在React Native React Navigation 5中为标题后退按钮的颜色设置动画?

来自分类Dev

在每个按钮单击时添加表单元素并使用 react

来自分类Dev

在React Native中按更改按钮样式

来自分类Dev

单击按钮时如何更改按钮颜色

来自分类Dev

当用户单击 react-router-dom 上的后退按钮时,如何更改组件的状态?

来自分类Dev

在猕猴桃中单击时如何更改按钮颜色

来自分类Dev

不确定如何在react-native中单击按钮来渲染此组件

来自分类Dev

如何通过单击REACT.js中的按钮来更改表单字段?

来自分类Dev

单击按钮时如何更改背景颜色

来自分类Dev

单击按钮时如何更改“颜色”名称?

来自分类Dev

单击时如何更改按钮颜色?

来自分类Dev

如何在React Native中更改安全区域中项目的文本颜色?

来自分类Dev

不确定如何在React Native中配置此文本颜色更改

Related 相关文章

  1. 1

    在React Native中单击按钮时如何渲染组件

  2. 2

    使用react-native单击时如何更改图像和文本颜色?

  3. 3

    React Native:如何在单击按钮时获取文本值?

  4. 4

    如何在 React Native 中单击提交按钮时验证电子邮件和密码?

  5. 5

    在React中单击时更改特定按钮的文本

  6. 6

    按下时在react native中更改文本的背景颜色

  7. 7

    如何在React Native中防止多次单击按钮?

  8. 8

    如何在React中动态更改按钮的大小和颜色

  9. 9

    如何在React JS中更改按钮onClick的背景颜色?

  10. 10

    在React Native的底部选项卡导航器中更改屏幕时如何更改图标以及文本的颜色?

  11. 11

    在React Native中以编程方式单击按钮

  12. 12

    在React-Native中单击登录时如何设置状态?

  13. 13

    在React-Native中单击登录时如何设置状态?

  14. 14

    在React JS中单击时禁用按钮

  15. 15

    为什么我不能在 react-native 中更改按钮的颜色

  16. 16

    如何知道React中单击元素的颜色?

  17. 17

    如何在React Native React Navigation 5中为标题后退按钮的颜色设置动画?

  18. 18

    在每个按钮单击时添加表单元素并使用 react

  19. 19

    在React Native中按更改按钮样式

  20. 20

    单击按钮时如何更改按钮颜色

  21. 21

    当用户单击 react-router-dom 上的后退按钮时,如何更改组件的状态?

  22. 22

    在猕猴桃中单击时如何更改按钮颜色

  23. 23

    不确定如何在react-native中单击按钮来渲染此组件

  24. 24

    如何通过单击REACT.js中的按钮来更改表单字段?

  25. 25

    单击按钮时如何更改背景颜色

  26. 26

    单击按钮时如何更改“颜色”名称?

  27. 27

    单击时如何更改按钮颜色?

  28. 28

    如何在React Native中更改安全区域中项目的文本颜色?

  29. 29

    不确定如何在React Native中配置此文本颜色更改

热门标签

归档