背景:
app后台增加了合约配置项,需要对前台可以显示的合约条目进行动态配置,这就需要mobx动态的添加observable对象。
经过查阅文档,发现extendObservable方法,可以增添Observable对象。
官方案例:
var Person = function(firstName, lastName) {
// initialize observable properties on a new instance
extendObservable(this, {
firstName: firstName,
lastName: lastName,
get fullName() {
return this.firstName + " " + this.lastName
},
setFirstName(firstName) {
this.firstName = firstName
}
}, {
setFirstName: action
});
}
var matthew = new Person("Matthew", "Henry");
// add an observable property to an already observable object
extendObservable(matthew, {
age: 353
});
那么根据官方案例我们来修改代码:
if(inMultiple !== null){
let observableObject = {};
const futInObj = JSON.parse(inMultiple);
futInObj.map((obj)=>{
let actualLeverKey = Enum.productTradeTypeMappingKey[obj.commodityNo];
_.set(observableObject, actualLeverKey, obj.initialAmount);
});
extendObservable(this,observableObject);
return;
}
即可根据inMultiple中的配置去动态的添加observable对象啦。