当前位置: 代码迷 >> JavaScript >> 如何从 React Native 中的一组对象获取有关单击事件的单个数据
  详细解决方案

如何从 React Native 中的一组对象获取有关单击事件的单个数据

热度:65   发布时间:2023-06-03 17:45:27.0

我一整天都在尝试,但没有成功。 一切正常,但在地图上单击时我无法获得单个标记标题。 当点击每个标记时,我希望标记的标题显示在视图中,如下所示。

    constructor(props){
      this.state = {
      locObject: [],
      title: '',
    }      
    {this.state.LocObject.map((marker, index) => {

    return (
        <MapView.Marker
          key={index}
          coordinate={{
            latitude: parseFloat(marker.altitude),
            longitude: parseFloat(marker.longitude),
          }}
          onCalloutPress={() => console.log("It is working")}
          image={markerImage}>

        <MapView.Callout>
            <TouchableHighlight
              style={styles.calloutStyle}
              onPress={() => this.markerClickHandler}
              underlayColor="#000"
            >
              <View style={styles.calloutText}>

                <Text style={styles.style_marker_text}>
                  {marker.lokation}
                  {"\n"}
                  {marker.altitude}

                </Text>
              </View>
            </TouchableHighlight>
          </MapView.Callout>
        </MapView.Marker>
      );

    })
}

<Text>{this.state.title}</Text>

如果您只是想设置state.title ,您可以执行以下操作:

onPress={() => {this.setState({title: marker.title})}

假设您从marker对象上获取值的字段称为title

在markerClickHandler 方法中,您应该添加以下代码行。

{this.setState({title: marker.title}

希望这可以帮助。

  相关解决方案