ng2-smart-table 动态更新列表
ng2-smart-table update list dynamically
我在一列中有一个 ngx-form-settings 和一个下拉对象。此下拉列表应由查询填充(通过服务调用)。
这是设置:
site: {
title: 'SITE',
type: 'html',
editor: {
type: 'list',
config: {
list: [],
},
}
},
如果我这样做,它会起作用(当然这不是我需要的,因为 setList 必须进入 getData.subscribe):
ngOnInit() {
this.service.getData().subscribe((data: any) => {
});
this.setList();
}
如果我这样做,它不起作用:
ngOnInit() {
this.service.getData().subscribe((data: any) => {
this.setList();
});
}
设置列表就是这个(目前):
setList() {
this.settings.columns.site.editor.config.list = [{ value: 'Option 1', title: 'Option 1' },
{ value: 'Option 2', title: 'Option 2' },
{ value: 'Option 3', title: 'Option 3' },
{ value: 'Option 4', title: 'Option 4' },
{ value: 'Option 5', title: 'Option 5' },
{ value: 'Option 6', title: 'Option 6' },
];
}
我错过了什么?
我想通了,
调用 ngOnInit 并进行设置。重点是订阅(在不起作用的情况下)return 立即并且 ngOnInit 无法初始化列表。 "Settings" 不是动态更新的,可以这么说。我发现的解决方法是:
ngOnInit() {
this.service.getData().subscribe((data: any) => {
this.settings.columns.site.editor.config.list = [
{ value: 'Option 1', title: 'Option 1' },
{ value: 'Option 2', title: 'Option 2' },
{ value: 'Option 3', title: 'Option 3' },
{ value: 'Option 4', title: 'Option 4' },
{ value: 'Option 5', title: 'Option 5' },
{ value: 'Option 6', title: 'Option 6' }];
});
this.settings = Object.assign({}, this.settings);
}
当服务 return 执行订阅的方法时,唯一的机会是重新加载整个 Settings 结构。
this.settings = Object.assign({}, this.settings);
我在一列中有一个 ngx-form-settings 和一个下拉对象。此下拉列表应由查询填充(通过服务调用)。
这是设置:
site: {
title: 'SITE',
type: 'html',
editor: {
type: 'list',
config: {
list: [],
},
}
},
如果我这样做,它会起作用(当然这不是我需要的,因为 setList 必须进入 getData.subscribe):
ngOnInit() {
this.service.getData().subscribe((data: any) => {
});
this.setList();
}
如果我这样做,它不起作用:
ngOnInit() {
this.service.getData().subscribe((data: any) => {
this.setList();
});
}
设置列表就是这个(目前):
setList() {
this.settings.columns.site.editor.config.list = [{ value: 'Option 1', title: 'Option 1' },
{ value: 'Option 2', title: 'Option 2' },
{ value: 'Option 3', title: 'Option 3' },
{ value: 'Option 4', title: 'Option 4' },
{ value: 'Option 5', title: 'Option 5' },
{ value: 'Option 6', title: 'Option 6' },
];
}
我错过了什么?
我想通了,
调用 ngOnInit 并进行设置。重点是订阅(在不起作用的情况下)return 立即并且 ngOnInit 无法初始化列表。 "Settings" 不是动态更新的,可以这么说。我发现的解决方法是:
ngOnInit() {
this.service.getData().subscribe((data: any) => {
this.settings.columns.site.editor.config.list = [
{ value: 'Option 1', title: 'Option 1' },
{ value: 'Option 2', title: 'Option 2' },
{ value: 'Option 3', title: 'Option 3' },
{ value: 'Option 4', title: 'Option 4' },
{ value: 'Option 5', title: 'Option 5' },
{ value: 'Option 6', title: 'Option 6' }];
});
this.settings = Object.assign({}, this.settings);
}
当服务 return 执行订阅的方法时,唯一的机会是重新加载整个 Settings 结构。
this.settings = Object.assign({}, this.settings);