當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
ExtJS中的maxLength
生活随笔
收集整理的這篇文章主要介紹了
ExtJS中的maxLength
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
時至今日,ExtJS已然不再流行,基本上已經從前端的世界銷聲匿跡了。但不可否認的是它依然在諸多legacy代碼中發揮著重要作用,一旦有了問題,同樣讓人難受。今天我們就來聊一個還算是一個比較常見的(至少對我來說如此)國際化問題吧,它起源于maxLength。
首先我們來創建一個textfield,相信在所有控件中,它的出現率應該當仁不讓。隨后對其maxLength進行限制,這里為了顯示效果,設置成較小的數字4。
Ext.onReady(function() {Ext.widget('form', {title: 'Test Form',width: 300,bodyPadding: 10,renderTo: Ext.getBody(),items: [{xtype: 'textfield',name: 'Name',fieldLabel: 'Name',maxLength: 4,enforceMaxLength: true}],}); });就這么簡單的完成了,讓我們來啟動它。既然我們已經做了限制,那么期望最大輸入字符數一定是4嘍,是否如此?快來試試吧。
用例1
輸入abcdef,果然只顯示abcd
用例2
輸入利物浦是冠軍,顯示利物浦是,冠軍果然沒了
用例3
輸入(別問我怎么讀……),意外發生了
反復嘗試,確認該生僻字只能輸入兩個,而不是之前設定的4個。
這是為啥呢?這里必須提醒大家,這就是ExtJS的小bug或者說是limitation吧。對于英文,和普通中文字符(3 bytesin UTF-8)的處理都不會有問題,而一旦遇到生僻字(4 bytes in UTF-8),他就玩兒不轉了,maxLength事實上會成為你設定的一半。該bug我已經在Sencha Forum中進行了反饋,未來任何的更新我都會持續跟進,但眼下仍需要繼續使用ExtJS進行開發和測試的同學,這個小坑就需要注意嘍。
總結
以上是生活随笔為你收集整理的ExtJS中的maxLength的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于RNN实现古诗词生成模型
- 下一篇: 如何快速改变视频文件的hash值?