我需要在extjs文本字段中进行拼写检查。 textarea不起作用,因为我需要它只允许用户输入一行输入 - 没有输入键。有没有为文本字段启用拼写检查的方法?
答案 0 :(得分:1)
我找到了解决单行要求并使用textarea的方法,默认情况下使用拼写检查。要强制textarea为单行,请将其添加到textarea:
xtype: 'textarea',
grow: true,
growMax: 32,
enableKeyEvents: true,
listeneters: {
keydown: 'disableNewLine'
}
在控制器中,添加禁用新行的功能。
disableNewLine: function(textarea, e, eOpt) {
if(e.keyCode == 13) {
e.stopEvent();
}
}
这可以防止用户像输入文本字段那样在输入中添加新行,但会使用拼写检查。此外,32是文本字段的默认高度,因此它看起来完全相同。只是设置高度不起作用,默认似乎覆盖了。
答案 1 :(得分:1)
您可以在渲染组件后添加它。 还要确保您使用的浏览器支持拼写检查。 http://caniuse.com/#search=spellcheck
{
xtype: 'textfield',
name: 'name',
fieldLabel: 'Name',
listeners: {
afterrender: function(cmp) {
cmp.getEl().set({
"spellcheck": 'true'
});
}
}
}
答案 2 :(得分:1)
这个改写对我来说对ExtJS6&铬:
Ext.define('Ext.overrides.form.field.Text',{
override: 'Ext.form.field.Base',
/**
* Ensure all text fields have spell check disabled
*/
inputAttrTpl: [
'spellcheck=false'
],
constructor: function () {
this.callParent(arguments);
}
});
答案 3 :(得分:-1)