xiaoxiao昱
xiaoxiao昱
  • 发布:2018-11-06 18:01
  • 更新:2018-11-06 18:14
  • 阅读:2178

【报Bug】往数组中 push 元素视图不更新

分类:uni-app

详细问题描述(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容]

往数组中 push 元素视图不更新

重现步骤
[步骤]

如果直接往数组里面push元素,视图不会更新,上代码:

<template lang='pug'>  
.main  
  .test {{arr}}  
  button(@tap='push') 添加元素  
</template>  

<script>  
export default {  
  data () {  
    return {  
      arr: [1,2,3]  
    }  
  },  
  onLoad () {  
  },  
  methods: {  
    push () {  
      this.arr.push(8)  
      console.log(this.arr);  
    }  
  }  
}  
</script>

控制台打印出的结果正确,但是视图没更新。

如果在push元素的同时更新一个其他的元素,则成功:

<template lang='pug'>  
.main  
  .test {{arr}}  
  button(@tap='push') 添加元素  
</template>  

<script>  
export default {  
  data () {  
    return {  
      arr: [1,2,3],  
      status: true  
    }  
  },  
  onLoad () {  
  },  
  methods: {  
    push () {  
      this.status = !this.status  
      this.arr.push(8)  
      console.log(this.arr);  
    }  
  }  
}  
</script>

[结果]
点击按钮,arr更新成功,但视图未更新

[期望]
[如果语言难以表述清晰,可以拍一个视频或截图,有图有真相]
点击按钮,视图得到更新

IDE运行环境说明
[HBuilder 或 HBuilderX] 1.1.0
[IDE版本号] 20181030
[windows版本号] Windows 10 Edu 1803
[mac版本号]

App运行环境说明
[Android版本号]
[iOS版本号]
[手机型号]
[模拟器型号]

附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[安装包]

联系方式
[QQ] 731734107

2018-11-06 18:01 负责人:无 分享
已邀请:
Trust

Trust - 少说废话

不使用 pug 模板,直接使用 vue 的模板语法,会有问题么?
另外,目前 uni-app 还未支持直接使用 pug,可能会有其它的一些隐患,建议切换成 vue 的模板。

xiaoxiao昱

xiaoxiao昱 (作者)

换成如下代码:

<template>  
<view>  
  <text>{{arr}}</text>  
  <button @tap='push'>添加</button>  
</view>  
</template>  

<script>  
export default {  
  data () {  
    return {  
      arr: [1,2,3]  
    }  
  },  
  methods: {  
    push () {  
      this.arr.push(8)  
      console.log(this.arr);  
    }  
  }  
}  
</script>

结果视图仍然未更新!

  • Trust

    用 @click,不推荐直接用 @tap,再试试呢。

    2018-11-06 19:11

  • xiaoxiao昱 (作者)

    换成 click 还是不行哟,你们那边测试没问题吗?

    2018-11-07 09:02

  • Trust

    @731734107@qq.com:没有重现此问题后,点击按钮后,一直往后加数字 8,界面也会一直追加 8。

    2018-11-07 14:44

该问题目前已经被锁定, 无法添加新回复