需要达到的效果:
代码实现是用三元表达式判断不同类型给不同的颜色值,
<bm-polygon
v-for="(item, index) in towerLines"
:key="index"
:path="item"
:stroke-color="coverColor"
:fillColor="item.length<=0?coverColor:item[0].area_type==='1'?'#b392e9':item[0].area_type==='2'?'#5cbeff':item[0].area_type==='3'?'#97dd72':item[0].area_type==='4'?'#ffa55f':item[0].area_type==='5'?'#ff7d69':coverColor"
:fillOpacity="mapOpacity"
:stroke-opacity="0.3"
:stroke-weight="1"
:editing="false"
@lineupdate="updatePolygonPath"
/>
主要就是fillColor的动态赋值,towerLines是一个二维数组,对其area_type进行判断,这里有一点需要注意,数组第二维可能会出现空数组“[]”的情况,会报错“area_type is underfine”的问题,所以加了一个item.length<=0的判断,不然会影响地图的交互操作