mobx动态添加Observable对象

背景:
     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对象啦。

你可能感兴趣的:(mobx动态添加Observable对象)