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