我想知道在任何地方呈现进度条之前是否有任何方法可以获取进度条的 html 表示?
我需要在网格中渲染进度条。至于现在我将自定义渲染器用于进度列:
renderer: function( value, metaData, record, rowIndex, colIndex, store ) {
var id = Ext.id();
(function(){
var progress = new Ext.ProgressBar({
renderTo: id,
value: progress_value
});
}).defer(50);
return '<div id="'+ id + '"></div>';
}
但它看起来对用户不友好,因为进度条是在渲染网格之后渲染的。
我认为可以使用此功能创建自定义进度条,因为可以看到呈现为 html 的模板源代码,但我认为它并不那么优雅。
我认为最好的方法是创建这样的函数:
var generateRenderer = (function(){
var pb = new Ext.ProgressBar();
return function( progress_value ){
pb.updateValue( progress_value );
return pb.htmlRepresentationFunction();
}
})();
htmlRepresentationFunction()
返回 html represetation 的函数在哪里(从它的名称可以明显看出)。然后generateRenderer()
在自定义渲染器中使用函数。