小程序删除某项导航时 点击导航出现问题

图片说明这是列表页的结构。点击右上+号后出现下图。
图片说明变更频道界面

现在的问题是,删除了比如说推荐之后,列表页的导航就会出现问题,设置的是当前数组第一项为激活的频道(删除推荐后的第一项应该是热点),结果直接蹦到第二项了(也就是本地),而且点击后都会后移一位,比如点击本地,会蹦到社会。实在是想不出原因。

js部分代码

Page({

  /**
   * 页面的初始数据
   */
  data: {
    isShowPinDao: false,
    content_height:100,
    channels:[
      { name: '推荐', id: 'tuijian', data: [] },
      { name: '热点', id: 'redian', data: [] },
      { name: '本地', id: 'bendi', data: [] },
      { name: '社会', id: 'shehui', data: [] },
      { name: '娱乐', id: 'yule', data: [] },
      { name: '军事', id: 'junshi', data: [] },
      { name: '科技', id: 'keji', data: [] },
      { name: '汽车', id: 'qiche', data: [] }
    ],
    activeChannel:'tuijian',
    otherChannels:[
      { name: '亲子', id: 'qinzi', data: [] },
      { name: '女人', id: 'nvren', data: [] },
      { name: '星座', id: 'xingzuo', data: [] },
      { name: '情感', id: 'qinggan', data: [] },
      { name: '修仙', id: 'xiuxian', data: [] },
      { name: '都市', id: 'dushi', data: [] },
      { name: '美食', id: 'meishi', data: [] },
      { name: '热剧', id: 'reju', data: [] },
      { name: '小说', id: 'xiaoshuo', data: [] },
    ]
  },
     //点击切换频道
  clickChangeChannel: function (e) {
    //获取当前频道id
    var id = e.currentTarget.dataset.id;
    this.setData({ 'activeChannel': id })
    //判断当前频道有无数据
    var index = e.currentTarget.dataset.index;
    //接收this指向
    var that = this;
    var key = 'channels[' + index + '].data';
    if(this.data.channels[index].data.length == 0){
      //无数据则去请求接口
      wx.request({
        url: 'https://c.m.163.com/nc/article/headline/data/10-20.html?from=toutiao&passport=&devId=OPdeGFsVSojY0ILFe6009pLR%2FMsg7TLJv5TjaQQ6Hpjxd%2BaWU4dx4OOCg2vE3noj&size=20&version=5.5.3&spever=false&net=wifi&lat=&lon=&ts=1456985878&sign=oDwq9mBweKUtUuiS%2FPvB015PyTDKHSxuyuVq2076XQB48ErR02zJ6%2FKXOnxX046I&encryption=1&canal=appstore', 
        success(res) {
          that.setData({ [key]: res.data.data })
        }
      })   
    }
    //遮罩层点击移除频道
  clickRemoveChannel:function(e){
    var index = e.currentTarget.dataset.index;
    //把我的频道中移除的放入其他频道
    var removeItem = this.data.channels[index];
    this.data.otherChannels.push(removeItem);
    this.setData({ otherChannels: this.data.otherChannels});
    //把我的频道中的删除
    this.data.channels.splice(index, 1); 
    this.setData({ channels: this.data.channels});
        //设置改变后的数组第一项为激活频道
    var id = this.data.channels[0].id;
    console.log(id);
    this.setData({activeChannel:id});
  },