如何将隐藏的 属性 "draggable" 传递给我的组件?

How to pass a hidden property "draggable" to my component?

我在这里得到了一张地图,现在我正在尝试向地图添加可拖动标记

注意:我使用的是我公司生产的package/module。它是这里 api 的 React 友好包,特别是 mapsjs-core.js 和 mapjs-service.js。这允许我渲染一个 <PlainMap/> 组件,我可以在其中传递诸如要渲染的地图的宽度和高度之类的道具。作为此 <PlainMap> 的子组件,我可以传递类似 <Marker><Polygon>.

的内容

现在这个 <Marker> 有这些道具

position: H.geo.IPoint | H.geo.IPoint[];
icon?: React.ReactElement<any>;
eventListenerMap?: {};

我参考了 documentation 中的这个官方操作示例。但是我没有任何道具或标志可以传递给 <Marker> 以使其可拖动(参见上面 link 的第 28 行)。

所有事件,如点击、pointerenter、pointerleave 对我来说工作正常,但拖动不是,因为(至少我这么认为)我必须使标记可拖动。 event-types.

我很想将这个可拖动对象传递给我的 Marker,但我不知道该怎么做。

是否有可能以某种方式完成此操作?

也许包装这个 ` 组件并添加一个新的 属性 就像 "draggable" 然后在使用这个组件时将它设置为 true?像这样:

<Marker 
   key={index} 
   position={point} 
   eventListenerMap={this.markerEventHandlers}
   draggable={true}
/>

由于 <Marker> 是贵公司的 private/custom React 组件包裹着 HERE 的 Marker JS class/instance,因此您必须向组件(就像您在上面所做的那样),然后更新组件的实现以设置 HERE 的 Marker 实例的可拖动 属性,如下所示:marker.draggable = this.props.draggable.