如何将隐藏的 属性 "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
.
我在这里得到了一张地图,现在我正在尝试向地图添加可拖动标记。
注意:我使用的是我公司生产的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
.