react-native - 如何在 react-native 中使用多滑块将厘米值转换为英尺?
问题描述
当我使用多滑块时,我遇到的一个问题是,当我滚动滑块时,我只得到了centimeter
值,我没有改变英尺值,所以我需要帮助来改变centimeter
英尺值来改变值。
class App extends React.Component {
state = {
sliderOneChanging: false,
sliderOneValue: [5],
multiSliderValue: [122, 222],
};
multiSliderValuesChange = values => {
this.setState({
multiSliderValue: values,
});
};
render() {
return (
<View style={styles.container}>
<View style={styles.sliders}>
<View style={styles.sliderOne}>
<Text style={styles.text}>{this.state.multiSliderValue[0]} cm </Text>
<Text style={styles.text}>({this.state.multiSliderValue[0]})</Text>
</View>
</View>
<View style={styles.containerSlider}>
<MultiSlider
values={[
this.state.multiSliderValue[0],
]}
sliderLength={400}
onValuesChange={this.multiSliderValuesChange}
min={122}
max={222}
allowOverlap
snapped
selectedStyle={{
backgroundColor: 'pink',
}}
unselectedStyle={{
backgroundColor: 'silver',
}}
trackStyle={{
height: 2,
}}
/>
</View>
</View>
);
}
}
解决方案
您可以创建一个返回英尺值的函数,例如
const convertedCentoFeet = (values) => {
var realFeet = ((values * 0.393700) / 12);
var feet = Math.floor(realFeet);
var inches = Math.round((realFeet - feet) * 12);
return feet+"'"+inches;
}
然后像使用它
<Text style={styles.text}>({convertedCentoFeet(this.state.multiSliderValue[0])}"))</Text>
推荐阅读
- python - TF-IDF 和 BoW 技术不兼容吗?
- sql-server - 选择包含 XML 列中所有值的混合类型列?
- c - 动态数组合并排序算法中的段错误问题
- javascript - 如何将模块与 mocha 一起使用?我的 mjs 文件出错
- html - 更新 html 表中的值
- sql - 在 table1 中选择不在 table2 中的值,然后将这些值插入到 table2 中会产生 PRIMARY KEY 约束错误?
- python - 尝试使用 pip3 安装软件包时出现 EnvironmentError
- c# - 点击一次更新
- reactjs - 样式材质 UI 文本字段
- firebase - Firebase 实时数据库 - 使用 onDisconnect 表示存在