1

いくつかのイベントの後に画像( Ext.Image )を再レンダリングする必要があります。機能は見つかりましdoComponentLayoutたが、残念ながら機能しませんでした。

フォームのアイテムである画像を再レンダリングするにはどうすればよいですか?

4

3 に答える 3

3

?画像の src にランダムな文字列を追加する一般的な手法があります。サーバーは src のこの部分を無視しますが、ブラウザは新しい src を設定していると認識します。

var originalSrc = 'http://example.com/someimg.png';
var antiCachePart = (new Date()).getTime();
var newSrc = originalSrc + '?dc=' + antiCachePart;
// now newSrc is equal to something like "http://example.com/someimg.png?dc=1352748617627"
img.setSrc(newSrc);
于 2012-11-12T19:33:54.323 に答える
2

Ext.Img のドキュメントでは、次のように述べています。

var changingImage = Ext.create('Ext.Img', {
    src: 'http://www.sencha.com/img/20110215-feat-html5.png',
    renderTo: Ext.getBody()
});

// change the src of the image programmatically
changingImage.setSrc('http://www.sencha.com/img/20110215-feat-perf.png');
于 2012-11-12T18:45:19.133 に答える
0

Ext.Image を使用したことはありませんが、一般的に、画像を再レンダリングする必要がある場合は、コンポーネントを破棄して再作成するか、DataView またはその他のテンプレート駆動型コンポーネント内に画像を配置するかのいずれかを行います。テンプレートを再レンダリングします。

doComponentLayout私が信じているサイジングのみを適用し、コンポーネントを再生成しません。XTemplate 駆動型コンポーネント内に画像を配置できない場合は、コンポーネントを破棄して再作成することがおそらく最良の選択肢です。

于 2012-11-11T18:43:37.397 に答える