当前位置: 首页 > news >正文

建立网站就是制作网页吗海口市住房与城乡建设厅网站

建立网站就是制作网页吗,海口市住房与城乡建设厅网站,网页制作步骤图,山西免费网站制作前言 当我们结合 React 使用 highCharts 库时#xff0c;存在一些特殊自定义的情况#xff0c;比如针对 Tooltip 定制化样式。当然 highCharts 也提供了配置自定义 tooltip 的 formatter 方法#xff0c;可以支持 html 元素。但是并不够灵活#xff0c;对于配置复杂样式或…前言 当我们结合 React 使用 highCharts 库时存在一些特殊自定义的情况比如针对 Tooltip 定制化样式。当然 highCharts 也提供了配置自定义 tooltip 的 formatter 方法可以支持 html 元素。但是并不够灵活对于配置复杂样式或组件复用情况下并不友好。因此寻求新的思路以下便是社区常用的一个方法在此记录。 实现 Tooltip 组件封装 import {Chart,TooltipFormatterCallbackFunction,TooltipFormatterContextObject, } from highcharts; import { useEffect, useRef, useState } from react; import ReactDOM from react-dom;const generateTooltipId (chartId: number) highcharts-custom-tooltip-${chartId};interface Props {chart: Chart | null;children(formatterContext: TooltipFormatterContextObject): JSX.Element; }export const Tooltip ({ chart, children }: Props) {const isInit useRef(false);const [context, setContext] useStateTooltipFormatterContextObject | null(null);useEffect(() {if (chart) {const formatter: TooltipFormatterCallbackFunction function () {// Ensures that tooltip DOM container is rendered before React portal is created.if (!isInit.current) {isInit.current true;setTimeout(() {chart.tooltip.refresh.apply(chart.tooltip, [this.points ? this.points.map(({ point }) point) : this.point,]);chart.tooltip.hide(0);});}setContext(this);return div id${generateTooltipId(chart.index)}/div;};chart.update({tooltip: {formatter,useHTML: true,},});}}, [chart]);const node chart document.getElementById(generateTooltipId(chart.index));return node context? ReactDOM.createPortal(children(context), node): null; }; 调用方式 import React, { useState, useCallback } from react; import Highcharts, { Chart as HighchartsChart } from highcharts; import HighchartsReact from highcharts-react-official; import { Tooltip } from ./Tooltip;const options {title: {text: Custom tooltip as React component},series: [{type: line,data: [1, 22424242424, 3, 4, 5, 123123132]}],tooltip: {useHTML: true} };export const Chart () {const [chart, setChart] useStateHighchartsChart | null(null);const callback useCallback((chart: HighchartsChart) {setChart(chart);}, []);return (HighchartsReacthighcharts{Highcharts}options{options}callback{callback}/Tooltip chart{chart}{(formatterContext) {const { x, y } formatterContext;return (divx: {x}/divdivy: {y}/divbr /button onClick{() alert(x: ${x}, y: ${y})}Action/button/);}}/Tooltip/); }; formatterContext 里包含以下常用的字段 {pointspointseriesxy }这些字段在自定义 tooltip 组件时可以传参到组件中获取每个 point 的值。 除了 xy 值外可以自定义字段在 series.keys 配置项中配置如下 keys: [x,y,custom.A,custom.B,custom.C, ], data:[[1, 2, A1, B1, C1], [1, 2, A2, B2, C2]]其值便可以在 formatterContext.point.options.custom.A 及 formatterContext.point.options.custom.B 等方式获取。 总结 该实现方式最基本的原理是采用 React 的 createPortal 方法在指定的元素下渲染子元素。可以理解为类似纯 js 的 getElementById(id).html(children(context))。
http://www.yutouwan.com/news/370998/

相关文章:

  • 做博客网站需要工具吗销售渠道都有哪些
  • 百度竞价托管代运营郑州做优化的公司有哪些
  • 小熊代刷推广网站品牌营销策划英文
  • 互动科技网站建设关键词挖掘排名
  • 北京网站优化公司官网设计公司有哪些
  • 谁有做那事的网站加盟网络营销推广公司
  • 自学考试 网页制作与网站建设06627安阳空气
  • 网站开发询价表模板下载企业管理咨询公司宗旨
  • 手机网站建设注册塔山双喜wordpress分类目录多级菜单
  • 网站域名不备案要证书有啥用安徽建设工程信息网技术服务电话
  • 界面好看的网站珠海专业制作网站
  • 海外建站流程seo关键词教程
  • 移动网站有哪些软件设计师是干什么的
  • 电商网站运营怎么做小程序开发平台的设计是实现
  • 网站 自助建站品牌营销策划案例ppt
  • 网站页面布局用什么做荆州网站建设推荐
  • 网站建设管理后台导航栏建设网站需要哪些东西
  • 判断网站做的好坏宁波网站搭建公司定制
  • 广告视频网站市场营销策略包括哪些策略
  • 网站开发 平台建设宁乡市建设局网站
  • p2p网站的建设山东省职业能力建设处网站
  • 旅行用品东莞网站建设微信网站开发语言
  • 合肥手机网站制作建设呼和浩特公司做网站
  • iis做网站广东手机网站制作价格
  • 做网站练手餐饮行业网站建设风格
  • wordpress多站点可视化广州乐地网站建设
  • 凡科免费网站建设网站项目怎么做计划
  • 苏州制作网站的有几家网站建设上线
  • 有什么做旅游攻略的网站好晋中企业网站建设
  • 个人简历网站开发做外贸去哪个网站找客户