收藏
回答

求大神瞄一眼,关于block循环的一个问题(代码,日志,效果图都有)


wxml代码

<view class='xztz-items'>
       <scroll-view class='scroll-H' scroll-x="true" style='width:100%'>
        <block wx:for='{{items}}' wx:for-index='index' wx:for-item='item'>
            <view class='yuan' hover-class='yuan-hover'>
              <view class='yuan-1'>{{item.top}}</view>
              <view class='yuan-2'>{{item.center}}</view>
              <view class='yuan-3'>{{item.deep}}</view>
            </view>
        </block>
      </scroll-view>
      <text class='xztz-other iconfont icon-jiahao' bindtap='onPush'></text>
    </view>

data: {

    items:[{
      top:'(1)',
      center:'A',
      deep:'护理'
    }, {
        top: '(2)',
        center: 'B',
        deep: '护理'
      }, {
        top: '(3)',
        center: 'C',
        deep: '护理'
      },]
  },

js代码

onPush:function(){
   let obj = {
     top: '(4)',
     center: 'D',
     deep: '测试'
   }
   this.data.items.push(obj)
   console.log('items',this.data.items)
 }



我想实现的功能就是,点击一下加号


就往数组里push一个数据


然后触发block去加载


但是我的数据已经push进去了


但是block还是使用的push之前的数据


我怎么触发block去重新加载新数组里的数据呢???


请大神赐教,不胜感激


最后一次编辑于  2018-12-21
回答关注问题邀请回答
收藏

3 个回答

  • 赵青山
    赵青山
    2018-12-21

    看你写的真难受,先把js学好吧

    onPush: function() {

    let obj = {

    top: '(4)',

    center: 'D',

    deep: '测试'

    }

    this.data.items.push(obj)

    this.setData({

    items: this.data.items

    })

    console.log('items', this.data.items)

    },


    2018-12-21
    有用
    回复
  • Gent
    Gent
    2018-12-21

    我这样写的不对呀...是哪里写的不对呢.....


    2018-12-21
    有用
    回复 3
    • 管凯旋
      管凯旋
      2018-12-21

      看一下setData的文档吧,直接赋值不会重新渲染页面的

      2018-12-21
      回复
    • Gent
      Gent
      2018-12-21

      谢谢,已解决

      就是setData方法的原因

      后来我用push方法还是不行

      网上找了个帖子说是用concat方法

      试了一下,解决了


      2018-12-21
      回复
    • Dorange🐶🍊
      Dorange🐶🍊
      2018-12-25

      这个你可以看下push和concat的返回值

      2018-12-25
      回复
  • 管凯旋
    管凯旋
    2018-12-21

    setData

    2018-12-21
    有用
    回复
登录 后发表内容