关于antv:x6-react-最佳实践

x6 react 最佳实际 提供一个react下应用X6的最佳范本: 简略易用,易于做逻辑拆分体积小(gzip压缩后小于0.5k)反对多实例反对应用ref绑定x6 graph装置npm install react-x6-graphyarn add react-x6-graph设计定义画布组件 // 应用GraphContext存储理论的x6 graph对象const GraphContext = createContext()// 导出一个Graph组件,反对父组件传递ref拿到graph对象export const Graph = forwardRef((props, ref) => { const [graph, setGraph] = useState(null) const realRef = ref || createRef() const { container, children, ...other } = props // 如果传递了container,就应用传进来的container初始化画布 // 否则组件本人渲染一个div来初始化画布 const containerRef = createRef(container) useEffect(() => { if (containerRef.current && !realRef.current) { const graph = new X6.Graph({ container: containerRef.current, ...other, }) setGraph(realRef.current = graph) } }, []) return ( <GraphContext.Provider value={graph}> {containerRef.current ? null : <div ref={containerRef} />} {!!graph && children} </GraphContext.Provider> )})// 导出一个帮忙函数以便Graph组件的子组件获取x6 graph对象export const useGraphInstance = () => useContext(GraphContext)应用 ...

November 5, 2022 · 1 min · jiezi

关于antv:Vite-中引入-antdesignvue-的方法总结

Vite 中引入 ant-design-vue装置$ npm install ant-design-vue --saveor $ yarn add ant-design-vue办法1,疾速引入筹备工作引入工作第一步,款式引入main.js or main.ts中引入款式 import 'ant-design-vue/dist/antd.css'; // or 'ant-design-vue/dist/antd.less'2.第二部,组件引入 main.js or main.ts中写入 import { DatePicker } from 'ant-design-vue';app.use(DatePicker);更多参照官网 办法2,主动按需引入筹备工作加载依赖包装置 npm i unplugin-vue-components --devor yarn add unplugin-vue-components --dev引入工作vite.config中增加插件 引入包import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'import Components from 'unplugin-vue-components/vite'配置viteComponents({ resolvers: [AntDesignVueResolver()]})查看是否按需加载(1)查看控制台是否有如下文本 17:04:17 [vite] ✨ new dependencies optimized: ant-design-vue/es,ant-design-vue/es/button/style/css(2)F12进入调试,查看ELements,查看页面style是否只有Antd已引入组件 由两个style标签气氛两局部,一部分是antd的根本款式,另一部分就是已引入的组件款式办法3,手动按需引入筹备工作yarn add @originjs/vite-plugin-commonjs -Dornpm i @originjs/vite-plugin-commonjs -D引入工作vite配置批改如下 引入包import { viteCommonjs, esbuildCommonjs } from '@originjs/vite-plugin-commonjs';配置vite插件引入 plugins: [ ..., viteCommonjs(), ...]optimizeDeps配置,查看issue ...

July 7, 2022 · 1 min · jiezi

关于antv:xflow流程可视化项目搭建

本系列次要讲述一个自定义流程可视化性能的开发,应用Ant Design Pro作为脚手架,AntV/xflow作为可视化开发框架,定制自定义节点,对节点及连线增加自定义属性,应用formliy生成自定义表单对节点属性进行编辑。 本篇次要介绍整体页面以及xflow各个控件的性能。 开发前筹备咱们抉择Ant Design Pro + umijs3.x作为咱们开发的脚手架,umi4曾经能够尝鲜了然而还不稳固,前面稳固了降级umi4,首先构建脚手架,倡议应用pnpm mkdir designable-xflow && cd designable-xflowyarn create @umijs/umi-appyarn根本脚手架构建实现,接下来装置xflow,以及formliy yarn add @antv/xflow @formily/core @formily/react @formily/antd这样咱们应用到的根本库都装置结束了,接下来咱们对主视图进行革新。 首先主目录新建config/config.ts,将.umirc.ts文件中的内容复制到config.ts中,而后删除.umirc.ts,增加对应路由config/config.ts: import { defineConfig } from 'umi';export default defineConfig({ nodeModulesTransform: { type: 'none', }, layout: {}, routes: [ { path: '/', redirect: '/xflow', }, { name: '流程可视化', path: '/xflow', icon: 'SmileOutlined', component: '@/pages/Xflow', }, ], fastRefresh: {},});将antv官网xflow列子复制一份到pages目录下(pages/Xflow),链接,启动服务 yarn run start然而这时候看到的主页是乱的,短少了css引入,在pages/Xflow/index.tsx中增加 + import '@antv/xflow/dist/index.css'import './index.less'src下新建global.css,增加 @import '~antd/dist/antd.css';) 这时候能够看见咱们的页面和官网列子一样了,官网列子还是比拟全面的,然而只限于展现,在正式应用时咱们须要对组件进行定制化,比方一个组件代表什么,组件下的属性有什么,那些属性能够编辑,组件和组件之间是否能够连贯等等,官网的列子满足不了这么多场景,所以须要咱们自定义组件进行开发,接下来几篇博文将会对这些状况进行一一解答与阐明,纵情期待。 ...

July 7, 2022 · 1 min · jiezi

关于antv:AntV-S2-和-Antd-Table-有什么区别

根本介绍S2 是 AntV 团队推出的数据表可视化引擎,旨在提供高性能、易扩大、好看、易用的多维表格。不仅有丰盛的剖析表格状态,还内置丰盛的交互能力,帮忙用户更好的看数和做决策。一般表格是用于展现大量结构化数据的组件,当须要对数据进行排序、搜寻、分页、自定义操作等简单行为时,Antd Table 有比拟好的内置交互和实现。 功能分析两者都能用于行列数据的展现,都有十分良好的交互和性能体现。在做技术选型前,须要对两者的性能个性有全面的理解,以下是对两种表格的性能个性梳理。 Antd Table应用介绍须要 dataSource 和 columns。即渲染表格须要数据和列配置。 <Table dataSource={dataSource} columns={columns} />单元格内容Antd Table 单元格可自定义渲染,只须要在 render 函数中输入 react dom 即可。用户可在单元格渲染任何状态,比方 链接、tag、图片、checkbox 等。 可抉择Antd Table 内置了行选的操作,减少 rowSelection即可实现 <Table rowSelection={rowSelection} columns={columns} dataSource={data} /> 行列合并在配置 columns 外面,通过 onCell 回调,设置 colSpan 的数值,0 代表不渲染,2 代表渲染 2 格。 const columns = [ { title: 'Name', dataIndex: 'name', render: (text, row, index) => <a>{text}</a>, onCell: (_, index) => ({ colSpan: index < 4 ? 1 : 5, }), } ] ...

April 8, 2022 · 2 min · jiezi

关于antv:关于antv-L7地图方法使用参数

let data = { features: [], type: 'FeatureCollection' } area.forEach((item, index) => { // console.log(item) let color = '' if (item.attrMap['业主方'] === '1111') { color = 'blue' } else if (item.attrMap['业主方'] === '2222') { color = 'red' } else if (item.attrMap['业主方'] === '3333') { color = '#00ff8a' } else if (item.attrMap['业主方'] === '4444') { color = '#855CA4' } else { color = '#855' } data.features.push({ geometry: { coordinates: [item.pointsArr], type: 'Polygon' }, properties: { description: item.description ? item.description : '', markerLatLng: item.pointsArr[0], color:color }, id: index, type: 'Feature' }) }) let layer = new PolygonLayer({ zIndex: 2 }) .source(data) .color('color',(type)=>{ return type }) .shape('fill') .active(true) .style({ opacity: 0.35 })properties中绑定参数 , 在办法回调color 中指定参数名 能够获取到, 多个参数应用 * 拼接 'color * description'

January 6, 2022 · 1 min · jiezi

关于antv:AntV-G2中Y轴中-label-的数据排布混乱问题

废话不多说,间接上图: 能够看到Y轴的数据十分的乱,而且大小程序也不对 这种状况是因为数据类型不对引起的,Y轴的数据必须是数字类型才能够哦。 若数据是由后端传过来,能够让后端的小伙伴把Y轴的数据格式转换成数字类型 当然,咱们本人解决也是能够的,只有应用parseFloat()或者parseInt()转化一下就能够了 解决完问题就解决了:

December 24, 2021 · 1 min · jiezi

关于antv:蚂蚁金服AntVS2重磅发布

S2 是 AntV 团队推出的数据表可视化引擎,旨在提供高性能、易扩大、好看、易用的多维表格。不仅有丰盛的剖析表格状态,还内置丰盛的交互能力, 帮忙用户更好地看数和做决策。 请猛击下方链接查看详情:Antv-S2

November 22, 2021 · 1 min · jiezi

关于antv:AntV-G2可视化引擎-有用过嘛

Antv 蚂蚁金福提供的数据可视化解决方案,是一系列的解决方案的汇合,蕴含 G2、G6、F2、L7 以及一套残缺的图表应用和设计规范。因为有大厂反对,AntV迭代稳固,文档和示例十分的齐全,这次因为业务需要的起因应用到了AntV G2数据可视化引擎,所以想记录下本人应用和学习的心得。 G2 一套面向惯例统计图表,以数据驱动的高交互可视化图形语法,具备高度的易用性和扩展性。应用 G2,你能够无需关注图表各种繁琐的实现细节,一条语句即可应用 Canvas 或 SVG 构建出各种各样的可交互的统计图表。G2 应用npm 装置 npm install @antv/g2 --save上面将G2 根底折线图作为示例代码剖析(G2@4.0版本): import { Chart } from '@antv/g2';const data = [ { year: '1991', value: 3 }, { year: '1992', value: 4 }, { year: '1993', value: 3.5 }, { year: '1994', value: 5 }, { year: '1995', value: 4.9 }, { year: '1996', value: 6 }, { year: '1997', value: 7 }, { year: '1998', value: 9 }, { year: '1999', value: 13 },];// 初始化,指定容器DOM id、高度const chart = new Chart({ container: 'container', autoFit: true, height: 500,});// data 数据chart.data(data);// scale 度量配置, 生成坐标轴刻度值chart.scale({ year: { range: [0, 1], }, value: { min: 0, nice: true, },});// tooltip 提示信息,是指当鼠标悬停在图形上时,以提示框的模式展现该点的数据chart.tooltip({ showCrosshairs: true, // 展现 Tooltip 辅助线 shared: true,});// 几何图形 Geometry;// 应用 line 绘制折线图// 应用 position 通道将对应的变量映射到 x 和 y 地位空间上;// 应用label 展现value值;chart.line().position('year*value').label('value');// 应用 point 绘制点// 应用 position 将对应的变量映射到 x 和 y 地位空间上;chart.point().position('year*value');// 渲染chart.render();以上代码取自官网示例代码,Antv G2 根底折线图。会发现G2图表调用是通过函数链式调用来实现,绝对于Echart,我集体感觉G2这样的开发流程绝对的棘手,应用办法感觉比拟舒服。(不分前端框架,应用起来都很香)。 ...

November 18, 2021 · 2 min · jiezi

关于antv:js流程图antvx6gojsmxGraph

js插件插件特色文档antv-x6优先举荐应用,开源代码收费,文档为中文中文文档 demogojs有代码,能够集体应用,商业应用须要受权,兼容性比拟好英文文档https://gojs.net.cn/samples/m...mxGraph开源收费代码,然而算法不怎么敌对,简单的流程不举荐应用英文文档http://jgraph.github.io/mxgraph/docs/manual.htmlantv-x61、援用js插件 <script src="./source/js/antv_x6/x6.js"></script><script src="./source/js/antv_x6/layout.min.js"></script>2、创立div及节点款式 <div id="container"></div><style>.antv_x6_node_Orange { width: 100%; height: 100%; display: flex; border: 1px solid #b5b1b1; place-content: center; align-items: center; /* background: #61D2F7; */ background: -webkit-linear-gradient(top,#61D2F7,#f8f8f8); flex-direction: column; border-radius: 4px; color: rgb(34, 34, 34); cursor: pointer; box-shadow: rgb(0 112 204 / 6%) 0px 2px 3px 0px;}.antv_x6_node_Orange > img { margin-bottom: 10px;}.antv_x6_node_Orange > span { font-size: 12px; text-align: center; width: 100%; overflow: hidden; text-overflow: ellipsis; word-break: break-all; -webkit-line-clamp: 1; -webkit-box-orient: vertical; display: -webkit-box;}</style>3、数据格式 ...

August 4, 2021 · 8 min · jiezi