我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用React组件编写温度显示器

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用React组件编写温度显示器

本文实例为大家分享了React组件编写温度显示器的具体代码,供大家参考,具体内容如下

这是模拟了一下温度显示器的效果,先看效果:

先在页面中引入React等;

import React from "react";
import ReactDOM from "react-dom";
import "./index.css"; // 页面的样式文件

开发过程是这样的:

首先定义一个BoillingVerdict组件,用来显示温度显示器的(样式先不写,在后面一起上代码)(温度显示器上的数字不是温度;),

// 显示温度计算器文字的函数组件(最高300摄氏度)
function BoillingVerdict(props) {
  return (
    <div className="outer">
      <div className="inner" style={{ height: props.height + "%", background: props.bg, }} >
        {props.height}
      </div>
    </div>
  );
}

然后,创建一个名为 Calculator 的组件,用于渲染  '控制温度的输入框' 和 温度显示器组件,

class Calculator extends React.Component {
  // 构造函数,可以用于初始化state
  constructor(props) {
    super(props);
    this.state = {
      temperature: 0, // 温度
      tempHeight: 0, // 温度显示器背景色高度
      bg: "#fff", // 温度显示器颜色
    };
    // 为tempChange方法绑定this,否则该方法中拿不到this
    this.tempChange = this.tempChange.bind(this);
  }
  tempChange(e) { 
   // 判断温度值大小来设置颜色
    var colors =
      Number(e.target.value) > 90 ? "#0F1CED" : Number(e.target.value) > 80 ? "#D5D70B" :
      Number(e.target.value) > 70 ? "#0BD737" : Number(e.target.value) > 60 ? "#0BD7CA" :
      Number(e.target.value) > 50 ? "#ED194B" : Number(e.target.value) > 40 ? "#AE1FD2" :
      Number(e.target.value) > 30 ? "skyblue" : Number(e.target.value) > 20 ? "blue" :
      Number(e.target.value) > 10 ? "orange" : "#671552";
    var height = (Number(e.target.value) / 3).toFixed(2);
    this.setState({
      temperature: e.target.value,
      tempHeight: height,
      bg: colors,
    });
  }
  render() {
    return (
      <fieldset>
        <legend> 温度: </legend>
        <input value={this.state.temperature} onChange={this.tempChange} type="number" > </input>
        <BoillingVerdict height={this.state.tempHeight} bg={this.state.bg}></BoillingVerdict>
      </fieldset>
    );
  }
}

然后渲染:

ReactDOM.render(<Calculator></Calculator>,document.getElementById("root12"));

index.css

.outer{
  width:80px;
  height:300px;
  border:1px solid black;
  border-radius: 20px;
  overflow: hidden;
  background:#fff;
  margin-top:10px;
  position:relative;
  text-align: center;
}
.inner{
  position:absolute;
  bottom:0;height:200px;
  background:#fff;
  width:100%;
  background:blue;
  text-align: center;
  transition: all 1s;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用React组件编写温度显示器

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用vue深度选择器修改ElementUI组件内样式的示例代码

在带有scoped属性的style中书写样式时,无法作用影响到子组件中的样式,此时我们会使用到deep深度选择器,来解决此问题,我们在使用less预处理器,能正常使用,但是在scss预处理器中会报错,下面通过本文介绍vue深度选择器修改ElementUI组件内样式,需要的朋友可以参考下
2022-12-08

Netty分布式编码器及写数据事件处理使用场景的示例分析

这篇文章主要介绍Netty分布式编码器及写数据事件处理使用场景的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!编码器第一节: writeAndFlush的事件传播我们之前在学习pipeline的时候, 讲解了
2023-06-29

编程热搜

目录