閱讀792 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Ext實現滾動條一直處於底部的方法

在我們的實際開發應用中,經常會使用到ext的常用控件textarea。對於一些form表單,錄入信息的備注,簡介等等信息較多的時候就會使用的textarea。最近在所一個全網拓撲圖的時候,以及網絡診斷ping,telnet連接測試等等功能的時候,出現了一些比較辣手的問題。就是通過ajax請求後台數據後,把新數據動態的顯示到textarea中,textarea的滾動條不會定位到最底部。始終顯示在top的位置。經過研究發現,ext對自身的textarea進行了封裝,使用table布局。我們根據getCmp()方法獲取的控件對象實際上是一個table,這是我們在對table設置它的scrollTop和獲取它的scrollHeight屬性都會失敗。而我們真正需要的是textarea本身,而不是它的父組件table。

這裏我把我的實現方法分享給各位網友,使大家少走一些彎路。

<pre name="code" >xtype:'container',
region:'center',
layout:'fit',
items:[{
	margin:'10 20 0 0',
	xtype     : 'textarea',
	grow      : true,
	id      : 'textarea_id',
	fieldLabel: '',
	readOnly :true,
	autoScroll : true
}


解決方案1:

var textarea=Ext.getCmp('textarea_id');
textarea.bodyEl.dom.childNodes[0].scrollTop=textarea.bodyEl.dom.childNodes[0].scrollHeight;
解決方案2:

document.getElementById('textarea_id-inputEl').scrollTop = document.getElementById('textarea_id-inputEl').scrollHeight;
經過測試,兩種方案都可以使用。
歡迎大家關注我的個人博客!!!!
如有不懂,疑問或者欠妥的地方,請加QQ群:135430763   進行反饋,共同學習!

最後更新:2017-04-03 05:39:34

  上一篇:go 論文摘抄 - FlumeJava
  下一篇:go OpenAPI用戶實名認證通知