EXTJS7 config 自定义配置属性

Ext.define('myComponent', {
	extend: 'Ext.Component',
	// 自定义配置属性,会自动生成getter,setter
	config: {
		prop1: null,
		...
	},
	items:[{
		xtype: 'textfield',
		// 属性不能直接绑定到组件配置上
		bind: '{vmprop1}'
	}],
	 constructor: function(config) {
	 	// 如果重载了构造函数需得要调用初始化配置
        this.initConfig(config);

        return this;
    }
    // 实现此方法会在属性设置前被调用
	applyProp1: function(newValue) {
        if (typeof pronewValue1!== 'number' || newValue< 0) {
            console.warn("Invalid prop1, must be a positive number");
            return;
        }
        return prop1;
    },
    // 实现此方法会在属性设置后被调用
    updateProp1: function(newValue, oldValue) {
    	// 更新vm属性
    	this.getViewModel().set('vmprop1', newValue);
        this.fireEvent('prop1_change', this, newValue, oldValue);
    }
});

posted on 2022-04-11 22:40  路过君  阅读(65)  评论(0编辑  收藏  举报

导航