你好,我经常遇到添加属性出现函数重载类型匹配不上的问题。
let path = geoPath().projection(projection);
let paths = groups.selectAll('path') .data(mapjson.features) .enter() .append('path') .attr('class', 'province') .style('fill', (d, i) => color[i%10]) .attr('d', path);
error:
path 出错
Error:(44, 32) TS2769: No overload matches this call.
Overload 1 of 4, '(name: string, value: null): Selection<SVGPathElement, unknown, SVGGElement, unknown>', gave the following error.
Argument of type 'GeoPath<any, GeoPermissibleObjects>' is not assignable to parameter of type 'null'.
Overload 2 of 4, '(name: string, value: string | number | boolean): Selection<SVGPathElement, unknown, SVGGElement, unknown>', gave the following error.
Argument of type 'GeoPath<any, GeoPermissibleObjects>' is not assignable to parameter of type 'string | number | boolean'.
Type 'GeoPath<any, GeoPermissibleObjects>' is not assignable to type 'true'.
Overload 3 of 4, '(name: string, value: ValueFn<SVGPathElement, unknown, string | number | boolean | null>): Selection<SVGPathElement, unknown, SVGGElement, unknown>', gave the following error.
Argument of type 'GeoPath<any, GeoPermissibleObjects>' is not assignable to parameter of type 'ValueFn<SVGPathElement, unknown, string | number | boolean | null>'.
Types of parameters 'object' and 'datum' are incompatible.
Type 'unknown' is not assignable to type 'GeoPermissibleObjects'.
Type 'unknown' is not assignable to type 'ExtendedFeatureCollection<ExtendedFeature<Point | MultiPoint | LineString | MultiLineString | Polygon | MultiPolygon | GeometryCollection | GeoSphere | null, GeoJsonProperties>>'.