7

一些 iOS 设备似乎在小数点上显示,(逗号)而不是 a 。.我相信这与键盘语言/语言环境有关。有没有一种方法可以强制decimal-pad显示.键盘语言/区域设置?

<TextInput
    rejectResponderTermination={false}
    style={[
        {
            fontSize: entryValueFontSize,
            height: height,
        },
        calculatorStyles.inputsShared,
        calculatorStyles.amountInput,
        theme.inputsShared,
    ]}
    autoCapitalize={'none'}
    placeholder={entryValueLabel}
    placeholderTextColor={theme.placeholderTextColor}
    keyboardType={'decimal-pad'}
    returnKeyType={'done'}
    defaultValue={''}
    value={isNaN(this.state.entryValue) ? '' : this.state.entryValue}
    onChangeText={(entryValue) => {
        this.onEntryValueChange(entryValue);
    }}
/>

问题:

在此处输入图像描述

期望的输出:

在此处输入图像描述

4

1 回答 1

2

无法强制键盘使用逗号。它基于地区,例如捷克有逗号。我创建的解决方案是在输入逗号后用点替换小数点的逗号

<TextInput
  onChangeText={(entryValue) => {
    // I am passing keyboardType as prop
    if (keyboardType === 'decimal-pad') {
      this.onEntryValueChange(entryValue.replace(',', '.'));
    } else {
      this.onEntryValueChange(entryValue);
    }
  }}
/>
于 2021-09-08T13:53:22.627 回答