收藏
回答

自定义组件数据更新问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug 自定义组件 工具 6.2 2.92

properties:{

calendarConfig:{

type:Object,

value:{}

},

calendar:{

type:Object,

value:{

currentType:'start',

dateType:{

start:{

value:'',

choosed:true,

},

end:{

value:'',

choosed:false,

},

},

                    }

            }

}    


choosedData(e){

let that = this,

{ calendar } = that.properties,

{ currentType,dateType } = calendar;

currentType = ‘end’;

that.setData({

calendar,

// 'calendar.currentType':currentType,

})

console.log('calendar',calendar,currentType)

},

            


在开发工具开启es6转es5的情况下,

我在修改currentType 的值之后,对calendar进行了保存,发现这个currentType 没有更新,打印还是旧的值,

但是在setData用'calendar.currentType':currentType,

或者将前面赋值的"currentType = ‘end’;" 改为 " calendar.currentType = ‘end’; "

却能成功更新这个值。

也试过在setData回调里打印,排除setData异步可能性。

想知道这是为什么导致的这种多层结构的数据更新整个字段时,修改的字段没有更新呢

代码片段:https://developers.weixin.qq.com/s/wqdPVomY7XdZ


最后一次编辑于  12-05
回答关注问题邀请回答
收藏

1 个回答

问题标签