快应用继续踩坑,数据请求,上传接口,以及数据渲染遇到的一些问题

以上问题是我在写一个类似于说说功能的时候遇到的问题,

首先是发表说说,最基本的图片和内容发布,

内容文字就很简单的处理,踩一下上传图片的坑,

这个上传图片我真的很服气,我各种办法都试了,图片路径也有,就是上传必失败,

又去确认了一下,官方文档没有任何说明,如果一直返回fail函数 

解决方法:关掉调试,关掉调试,那很多数据都看不到了, 打在页面上或者showtoast吧

上传图片数组上去

var picIds=[]
for(var i=0;i<_this.imgs.length;i++){
    picIds[i]=(parseInt(_this.imgs[i].id))
}
var postData={
    userId: _this.app.user.id,
    content: _this.content,
    isOpen: true,
    scenesId:0,
    moodValue:0,
    isAnonymous:0,
    pictures: picIds
}

 快应用会把数组自动转换为string类型的。前端毫无办法,需要后台解析一下

上传好了,就是说说列表

上一段代码 list-item的问题 以为内容很多所以,并且有些说说有图片有些没有图片 ,有无评论啊什么的就很多节点的缺失或存在

  
                            
                                
{{item.expertInfo ? item.expertInfo.nickName : ''}} {{item.nickName}}
{{item.content}} 收起
{{item.contentShort}} 全文
作者 {{reply.from_nickName}}:
作者 回复 {{reply.from_nickName }} 回复
作者: {{reply.to_nickName }}:
{{reply.content}}
{{item.showordown}}

出现渲染混乱问题,这是list组件的一个弊端

  • list-item内不能再嵌套list
  • list-itemtype属性为必填属性、
  • list-item内部需谨慎使用if指令for指令,因为相同type属性list-item的DOM结构必须完全相同,而使用if指令for指令会造成DOM结构差异

调试了一早上的结构,没招了,

动态更改type类型,让他没有结构一致的问题

回复留言问题,因为是在同一个list里面的留言数组里的数据,所以用push 和splice 增加或删除自己的留言。

然后赋值一下数组,

  utils.api.put('mood/reply/add', _this.replyData, function (res) {
            if (res.status == 1) {
                let reply = res.data.reply;
                let index = _this.replyDataDom.index;
                let item = _this.list[index];
                if (reply.touserid === item.userId) {
                    reply.to_nickName = "作者";
                }
                item.replycount = res.data.mood.replycount;
                reply.content = face.parseEmoji(reply.content);
                console.log(typeof  item.replies);
                item.replies.push(reply);
                console.log(typeof  item.replies);
                _this.list[index] = item;
                console.log(_this.list[index])
            }
        })

刚开始以为是数组里面的数据结构问题,后来去创了一个简单的页面模拟最简单的数据,发现是可以的。

解决方法:数据更新完之后进行list.concat([])一下 让页面进行数据渲染响应

 

你可能感兴趣的:(技术分享)