收藏
回答

怎么在列表渲染中渲染对应信息?

想要的效果就是每一块都只显示对应的星星,但是不知道怎么写好……渲染出来就变成了一整列

回答关注问题邀请回答
收藏

5 个回答

  • brave
    brave
    2022-01-05

    你的问题应该在于如何处理 collect 方便标识 books 每一项的收藏状态

    那么你收藏的数据结构应该设计为

    collect: {
      "黄昏里的男孩": true,
      "飞鸟集": true
    }
    

    wxml 里循环 books 时这一个

    改成

    <view>
      <image src="/images/{{collect[item.title] ? 'collected' : 'collect'}}.png" data-title="{{item.title}}" bindtap="collect" />
    </view>
    
    collect(e) {
      let title = e.currentTarget.dataset.title
      this.setData({
        "collect[title]": !this.data.collect[title]
      })
    }
    
    2022-01-05
    有用 1
    回复 1
    • 斑鸠
      斑鸠
      2022-01-05
      你好!本笨比因为想要那种首页点击收藏后然后在另外一个页面显示的效果,所以之前是写成这样的。但是不知道为什么写成这样首页那个星星不会发生改变…如果可以的话能指教一下吗!
      2022-01-05
      回复
  • 云之道
    云之道
    2022-01-05

    样式的话,用flex布局,另外你想实现收藏还是实现显示作品评分

    2022-01-05
    有用 1
    回复
  • 八九
    八九
    2022-01-05

    循环去掉,数组每一项加一个标识,代表是否收藏,不要用collect

    2022-01-05
    有用
    回复
  • 微喵网络
    微喵网络
    2022-01-05

    星星为什么循环?

    2022-01-05
    有用
    回复
  • 困难
    困难
    2022-01-05

    你这个星星是收藏的意思?每个书只有一个星星吧?为什么要用for循环?

    2022-01-05
    有用
    回复
登录 后发表内容