【问题标题】:How to break line of label on "react-native-picker-select"如何打破“react-native-picker-select”上的标签行
【发布时间】:2019-12-18 04:02:57
【问题描述】:

我正在使用来自此存储库的 react-native-picker-select:https://www.npmjs.com/package/react-native-picker-select。我使用的标签太大以适应屏幕,因此文本没有完全显示。 我在文本上尝试了一些样式,但似乎不起作用。

这是我的组件:

<View
  style={[styles.flex1, styles.row, {justifyContent: aligned ? aligned : 'flex-start'}]}
>
  <TouchableOpacity style={[styles.dropdownView, styles.shadowView, {width: this.props.dropdownWidth}]}>
     <RNPickerSelect
       value={this.props.value ? this.props.value : ''}
       placeholderTextColor={'black'}
       placeholder={placeholder}
       items={this.props.options}
       onValueChange={value => this.onDropdownChange(value)}
     />
  </TouchableOpacity>
</View>

这就是我的使用方式:

<Dropdown
  value={options.values![1]}
  dropdownWidth={'100%'}
  aligned={'center'}
  placeholder={'Atividade e evidência de doença:'}
  options={
    {label: 'Atividade normal e trabalho; sem evidências de doença.', value: 0, key: 1},
    {label: 'Atividade normal e trabalho; alguma evidência de doença.', value: 1, key: 0.5},
    {label: 'Atividade normal com esforço; alguma evidência de doença.', value: 2, key: 0.5},
    {label: 'Incapaz para o trabalho. Doença significativa.',  value: 3, key: 0.5},
    {label: 'Incapaz para os hobbies/trabalho doméstico. Doença significativa.', value: 4, key: 0.5},
  }
  onDropdownSelect={(value) => null}
/>

当文本变大以适合行时,我预计会出现换行符。

【问题讨论】:

    标签: react-native react-native-android react-native-ios


    【解决方案1】:

    如果您仍在寻找解决方案。 如果只是为了在屏幕上显示所选择的项目(而不是在选择器本身中具有多行项目),您可以在 RNPickerSelect 组件中添加一个子项。

    因此,在您的情况下,只需将您的组件更新为:

    <View style={[styles.flex1, styles.row, {justifyContent: aligned ? aligned : 'flexstart'}]}>
      <TouchableOpacity style={[styles.dropdownView, styles.shadowView, {width: this.props.dropdownWidth}]}>
        <RNPickerSelect
         value={this.props.value ? this.props.value : ''}
         placeholderTextColor={'black'}
         placeholder={placeholder}
         items={this.props.options}
         onValueChange={value => this.onDropdownChange(value)}
       >
         <Text style={{...}}>{this.props.value != null ? this.props.items[this.props.value].label : this.props.items[0].label}</Text>
        </RNPickerSelect>
      </TouchableOpacity>
    </View>
    

    【讨论】:

      【解决方案2】:

      不幸的是,这是 iOS 上原生选择器模块的限制。在 Android 上,there may be a way 来处理这个问题,但我还没有测试过。

      【讨论】:

      • 一段时间后我找不到解决方案。我的解决方案是重新设计我的组件以使其正常工作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-11
      • 1970-01-01
      • 2021-06-29
      • 1970-01-01
      相关资源
      最近更新 更多