钉钉企业内部应用,在setData中给push报错?

发布于 2022-09-11 21:28:54 字数 944 浏览 21 评论 0

axml代码

<block a:for="{{productAddArr}}">
      <view class="product-add-infos">
        <view class="product-name" onTap="onProductNameTap">产品名称:
          <text style="margin-left:20px;">{{selectedProduct.name}}</text>
        </view>
        <view class="product-info">
          <view>克重 {{selectedProduct.kg}}</view>
          <view>纸张规格 {{selectedProduct.guige}}</view>
          <view>令/件 {{selectedProduct.jianl}}</view>
        </view>
      </view>
    </block>
    <view class="add-product-aaa" onTap="handleAddProduct" >+添加产品</view>

js代码

handleAddProduct(){
    this.setData({
      productAddArr:this.data.productAddArr.push("")
    })
}

需要动态添加一些内容,点击第一次可以,第二次就会报错 TypeError: this.data.productAddArr.push is not a function 这是为什么啊,求解

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

仄言 2022-09-18 21:28:54

第一次执行之后,productAddArr变成了一个数字类型的变量。所以第二次再 push 就会提示失败。
原因是Array.prototype.push 返回值不是一个数组,而是新数组的长度。下面给出 mdn 的官方文档

mdn Array.prototype.push 文档

毁梦 2022-09-18 21:28:54

怎么解决的啊,用apply吗,还是怎么弄啊,我看了文档还是不懂要怎么解决

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文