我有一个渲染器函数,它必须从商店加载一些数据才能返回一个值,但是我还没弄清楚如何将我想要的内容返回到网格列。
{header: 'Manager First Name',
renderer: function(value, meta, record){
record.Managers().load({
scope: this,
callback: function(managers, operation, success){
if(success && managers){
managers[0].getPerson({
scope: this,
callback: function(person, operation){
if(person){
return person.get("firstName");
} else {
console.error('This manager doesn\'t have a person record.');
return '';
}
}
});
} else {
console.error('No manager record for the shop '+record.getId());
}
}
});
}}
我尝试将return
置于load
和getPerson
功能前面无济于事。我也想过要发射一个事件,但我不确定那会怎么样。有什么想法吗?
答案 0 :(得分:2)
我会在渲染主网格之前加载您的附加信息。这样在renderer()函数中,您将使用已经加载的数据。
否则您的渲染器函数将被多次调用,并且您将在异步加载商店时遇到一些大麻烦。