剛剛接觸react,還不夠明白它的理念和思想。有幾個問題想咨詢如何做出來。import*asReactfrom'react'import{Map,Marker}from'react-amap'importhelperfrom'immutability-helper'importConstValfrom'apollo-common/src/constants'importEstateDetailfrom'./estateCharts/index'importclassNamesfrom'classnames'import'./index.scss'exportdefaultclassEstateMapextendsReact.PureComponent{constructor(){super()this.state={list:{store:[],estate:[],}}}componentDidMount(){letdata=thisfetch('http://192.168.16.239:8080/mockjsdata/44/map/estate/list').then(function(response){returnresponse.json()}).then(function(json){data.setState({list:json.list})},)}render(){//地圖參數constparams={zooms:[11,20],zoom:10,plugins:['MapType','OverView','Scale',{name:'ToolBar',options:{autoPosition:true,},}],expandZoomRange:true,MarkerType:'',center:{longitude:121.474017,latitude:31.222311},Events:{zoomchange:function(target){console.log(this.getZoom())this.getZoom()},}};constMarkerEvents={click:function(e,c){e.target.setTop(true)letoption={type:e.target.getExtData().split('?')[0],data:JSON.parse(e.target.getExtData().split('?')[1]),}console.log(option.data)if(option.type==='estate'){}},mouseover:(e)=>{e.target.setTop(true)letoption={type:e.target.getExtData().split('?')[0],data:JSON.parse(e.target.getExtData().split('?')[1]),}console.log(option)if(option.type==='store'){console.log(classNames)}},mouseout:(e)=>{e.target.setTop(false)letoption={type:e.target.getExtData().split('?')[0],data:JSON.parse(e.target.getExtData().split('?')[1]),}if(option.type==='store'){e.target.setContent(``,)}}}return(11222{Object.keys(this.state.list).map((e)=>{returnthis.state.list[e].map((item,index)=>{return({(()=>{switch(e){case'store':returncase'estate':returncase'floor':return'#0000FF'case'floors':return'#0000FF'default:return'#0000FF'}})()})})})})}}exportclassStoreextendsReact.PureComponent{render(){letisShow:boolean=false;letclassStyle=classNames('icon_name',{'Show':isShow})return({this.props.name})}}exportclassEstateextendsReact.PureComponent{render(){const{isMain}=this.propsconstclasses=classNames('Estate_Marker',{'small':isMain})return()}}目前我的問題如下:click:function(e,c){e.target.setTop(true)letoption={type:e.target.getExtData().split('?')[0],data:JSON.parse(e.target.getExtData().split('?')[1]),}console.log(option.data)if(option.type==='estate'){//在這里如何將當前marke內的dom添加個class,其他market內的dom去掉class呢?}},在這里如何將當前marke內的dom添加個class,其他market內的dom去掉class呢?
react操作UI交互的問題
一只斗牛犬
2019-05-24 18:34:37