小程序,我来啦

1.操作数组数据实现数据面板收缩展开(借鉴网上已有的)
举个简单的例子,有一个对象数组,数组的每个都需要一个标识判断元素在遍历时是否显示,可以理解为列表展开面板,点击item就展开或者收起。我在开发中遇到过,后台返回的数据是没有标识字段的,具体步骤如下:

  • 1.从后台获取到数组,前端遍历添加标识字段

    for (var i in res.data.pd) {
        res.data.pd[i].flag = false; // 航班列表添加新属性
    }
    that.setData({
        flightList: res.data.pd
    })
  • 2.wxml文件中,循环数据时给定item唯一标识

    <view bindtap="goDetail" data-numid="{{index}}">
  • 3.item点击事件中,单步操作数组中的标识属性

    goDetail: function (e) {
       var numid = e.currentTarget.dataset.numid,
            key = "flightList[" + numid + "].flag",
            val = this.data.flightList[numid].flag;
        //不知道为什么sf就是不给我显示这个代码
        //this.setData({
        //    [key]: !val
        //});
    }
  • 学过js的都知道,[key]等同于.key吧,记住没有引号!!!

2.背景图background

  • 小程序不支持本地图片作为背景图,也就是平时我们的background:url('../img/a.png')这样的写法
  • 仅支持网络地址,base64格式图片
  • 解决办法:使用上面提到的路径,或者使用image定位实现相应的效果


miomiomio
147 声望5 粉丝

人生昧履,砥砺而行