收藏
回答

父页面传给自定义组件的properties的值,可以在自定义组件内部用this.setData改吗?

我有一个父页面传一个orderInfo对象到自定组件,上面的每一项都是对象里面的参数,官方的示例是让子组件触发父页面事件来修改。但这里不可能每一项都绑定一个事件。还有这只是对象的里的一部分,对象还包含其他步骤的表单参数。尝试直接在组件内部用this.setData修改properties的值,页面是更新了,但开发工具看APPData上的值并没有更新。官方文档上也没有这样的改法,不知道这种方法可不可以

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

2 个回答

  • Complicated
    Complicated
    2021-02-20

    这里是可以用this.setData,修改properties的值的,组件在进入页面节点时就会生成数据 这里的properties中的数据就是组件内部的私有data数据,所以在你setData的时候,页面会更新,但是更新的值仅仅为组件内部data的值,AppData里面的data是页面的的数据 组件和页面数据不互通 你应该需要监听组件内部的data是否数据有变化 有变化就将数据传给页面

    2021-02-20
    有用 2
    回复
  • 2021-02-20

    这个通过组件传递的数值 我记忆当中不是双向绑定的吧,你可以尝试一下在组件中修改properties的值后在父组件当中进行打印该参数看看有无变化


    2021-02-20
    有用
    回复 2
    • 无我
      无我
      2021-02-20
      试了一下,改了值组件打印有,父组件打印还是没变
      2021-02-20
      回复
    • 2021-03-03回复无我
      我楼上回答的是正解, properties 并不是改变的父组件的值,而数据源来源的是父组件传递过来的参数,在自组件中进行setData只是将组件内的数据渲染到了视图层,本质上数据为未发生变化,
      2021-03-03
      1
      回复
登录 后发表内容
问题标签