react网页适配和Echars图表适配(个人推荐使用适配2)

小技巧:(如果想对网页图片中的内容进行复制 可以使用超级复制 破解一下网页就可以就行复制)

以下代码可以直接复制 不用使用插件复制

一般都使用pxtorem,源代码用的是px单位进行布局,但是运行起来以后,使用rem进行解析。启动项目用的是webpack或vite,所以这个插件是运行在打包工具中==>就是给webpack或vite做配置。默认使用react脚手架创建的项目,是没有webpack的配置文件,需要执行命令,创建配置文件:

1.先初始化  添加一个临时仓库 进入

2.接下来下包  npm run eject(就会生成如下图所展示文件)

 npm run eject

命令运行完成后,会创建一个config文件夹,其中就包含webpack的配置文件webpack.config.js,就可以对webpack做配置了。

适配方案1:

1下载插件 npm i postcss-px-to-viewport

npm i postcss-px-to-viewport

2.在webpack的配置文件中进行配置

代码:

 require('postcss-px-to-viewport')({
                      viewportWidth: 1920,//设计稿宽度
                         unitPrecision: 3,//转换后的精度
                         viewportHeight: 1080,//设计稿高度
                          unitToConvert: 'vw',//要转换的单位
                         selectorBlackList: [],//忽略转换正则匹配项
                         minPixelValue: 1,//小于等于1px不转换
                         mediaQuery: false,//媒体查询不转换
    
                  })

适配方案2:

1.下载插件 npm i postcss-pxtorem amfe-flexible

在自动生成的config文件里找到像盾牌一样的webpack点进去 找到如下图的位置 粘贴一段代码

2.对webpack做配置(这个插件是用来将px单位转为rem单位的)

代码:

    require('postcss-pxtorem')({
                    rootValue: 192,//换算基数, 默认100  ,这样的话把根标签的字体规定为1rem为50px,这样就可以从设计稿上量出多少个px直接在代码中写多上px了。
                    propList: ['*'],//要转换的属性,默认值['*']
                    mediaQuery: false,//是否使用媒体查询转换
                    minPixelValue: 1,//小于或等于1px不转换为rem
                    unitPrecision: 3,//转换后的精度,即小数点位数
                    exclude: /(node_modules)///忽略某些文件夹
                  })

3.在入口文件中导入另一个插件(监听窗口大小变化,执行转换插件的。)

Echars图表适配网页链接:图表容器及大小 - 概念篇 - 使用手册 - Apache EChartsicon-default.png?t=N7T8https://echarts.apache.org/handbook/zh/concepts/chart-size/

1.找到如下图所示三行代码复制粘贴到所需要的Echars图表页面生命周期里就可以实现效果

代码:

   window.addEventListener('resize', function () {
      myChart.resize();
    });

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
下面是一个使用 React 和 Highcharts 的甘特图的示例代码: ```jsx import React, { Component } from 'react'; import Highcharts from 'highcharts'; import HighchartsGantt from 'highcharts/modules/gantt'; import HighchartsMore from 'highcharts/highcharts-more'; import moment from 'moment'; // 初始化 Highcharts 模块 HighchartsGantt(Highcharts); HighchartsMore(Highcharts); class GanttChart extends Component { componentDidMount() { // 初始化 Highcharts Gantt 图表 this.chart = Highcharts.ganttChart(this.container, { title: { text: '甘特图' }, xAxis: { currentDateIndicator: true, min: moment().startOf('day').valueOf(), max: moment().add(2, 'weeks').startOf('day').valueOf() }, yAxis: { uniqueNames: true }, series: [{ name: '项目', data: [{ name: '任务1', start: Date.UTC(2021, 4, 1), end: Date.UTC(2021, 4, 7), completed: 0.25 }, { name: '任务2', start: Date.UTC(2021, 4, 8), end: Date.UTC(2021, 4, 14), completed: 0 }] }] }); } componentWillUnmount() { // 销毁 Highcharts 图表实例 this.chart.destroy(); } render() { return ( <div ref={el => this.container = el}></div> ); } } export default GanttChart; ``` 在这个示例中,我们首先导入了 React、Highcharts 和 moment 库,然后初始化了 Highcharts Gantt 图表实例,并且使用 `componentDidMount` 生命周期钩子函数将图表挂载到 DOM 上。在 `componentWillUnmount` 生命周期钩子函数中,我们将 Highcharts 图表实例销毁以释放资源。 最后,我们在 `render` 函数中返回一个 `div` 元素,用于渲染 Highcharts Gantt 图表的容器。您可以根据自己的需求更改置和数据,以您的项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值