android - React Native - 选择多种样式

标签 android ios reactjs react-native styles

使用 React.js,我们可以使用类在多种样式中进行选择,如下所示:

           <div
              className={
                `r-n-cal-day 
                ${i % 7 == 6 ? classes.weekend : ''}
                ${classes.day} ${bsMonth !== this.props.viewBsMonth ? classes.dayMuted : ''} 
                ${this.isSameDate(adDate) ? classes.today : ''} 
                ${this.isSameDate(adDate, this.state.selectedDate) ? classes.selectedDay : ''} 
                `
              }
              key={`${bsDate} ${bsMonth}`}
              onClick={() => this.onDaySelect(adDate)}>
              {calFns.toDevanagariDigits(bsDate)}
            </div>

我试图在 React-Native 中实现这种选择样式的方式。

我可以使用三元运算符在两种样式中进行选择,如下所示:

        <Text style = { 
          index % 7 == 6 ? styles.weekend : styles.day_text
          }>
            {day.bsDate}
        </Text>

但是要在几种样式中选择喜欢的一种,我们应该怎么做呢?

内部的 if 语句不适用于 JSX。有人可以提出建议吗?

提前致谢。

最佳答案

您可以像这样将数组传递给您:

  <View style={[styles.powerblue,{marginLeft:10}]} />

可变样式:

const styles  = StyleSheet.create({
  powerblue:{width: 50, height: 50, backgroundColor: 'powderblue'},
  rightStyled:{marginRight:10},
});

这里它将应用来自样式和内联样式的样式,您可以传递其他样式表对象,例如:

 <View style={[styles.powerblue,{marginLeft:10},styles.rightStyled]} />

但右边的大多数属性将覆盖左边的属性。

例如如果 styles.powerblue 的 marginRight 属性为 0,并且 styles.rightStyled 的属性 marginRight 为 10。然后 marginRight 10 将被应用,因为它位于最右侧

关于android - React Native - 选择多种样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55575200/

相关文章:

android - 如何从软键盘中候选 View 上显示的 Assets 中读取文本字典

android - 在 Activity 和服务之间共享数据库

Android Studio 3.4 无法解析所有依赖项

android - 什么是 "disable offline mode"和 "disable gradle offline"模式以及 Android Studio 4.1 中的此设置

ios - 使用 NSTextAttachment 为 NSAttributedString 设置截尾的垂直对齐

iOS 开发测试要求

iphone - 如何检测 UIActionSheet 何时滚动到底部?

javascript - Uncaught ReferenceError : ReservationCard is not defined

javascript - 在 React 中使用 select 标签并使用状态在 React Charts 的数据集之间切换

javascript - 实现 toJSON() 方法是否足以使任何类实例可序列化?