navinfo: [{ \'NavName\': \'定位\', \'NavIcon\': \'location\', \'NavIconSize\': \'22px\', \'IconColor\': \'#000\', \'IconCheckedColor\': \'#fff\', \'IsChecked\': \'0\' },
{ \'NavName\': \'电池\', \'NavIcon\': \'shopping-cart\', \'NavIconSize\': \'22px\', \'IconColor\': \'#000\', \'IconCheckedColor\': \'#fff\', \'IsChecked\': \'0\' },
{ \'NavName\': \'救援\', \'NavIcon\': \'phone-circle\', \'NavIconSize\': \'22px\', \'IconColor\': \'#000\', \'IconCheckedColor\': \'#fff\', \'IsChecked\': \'1\' },
{ \'NavName\': \'我的\', \'NavIcon\': \'manager\', \'NavIconSize\': \'22px\', \'IconColor\': \'#000\', \'IconCheckedColor\': \'#fff\', \'IsChecked\': \'0\' }]
如上代码,需要修改navinfo数组里面的第一个对象{ \'NavName\': \'定位\', \'NavIcon\': \'location\', \'NavIconSize\': \'22px\', \'IconColor\': \'#000\', \'IconCheckedColor\': \'#fff\', \'IsChecked\': \'0\' },里的IsChecked为1,其他的子项的IsChecked属性修改为0,
代码:
_onChange:function(e){ let that=this; var _index=e.currentTarget.dataset.index; for (let nav in that.properties.NavInfo){ if (nav == _index){ that.setData({ [\'NavInfo[\' + nav + \'].IsChecked\']:1 }); }else{ that.setData({ [\'NavInfo[\' + nav + \'].IsChecked\']: 0 }); } } }
以上函数中的e,由前端的data-index中获取,页面代码如下:
<view wx:for="{{NavInfo}}" wx:for-item="Item" style="">wx:key="*this" data-index="{{index}}" bindtap="_onChange" class="navItem">