Extjs文本字段的拼写检查

时间:2015-11-13 16:00:02

标签: extjs spell-checking

我需要在extjs文本字段中进行拼写检查。 textarea不起作用,因为我需要它只允许用户输入一行输入 - 没有输入键。有没有为文本字段启用拼写检查的方法?

4 个答案:

答案 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)

请参阅api

EditorForModel

在野生动物园下工作正常!