Как установить подсказку в Ext.form.TextField, где тип ввода - файл? - PullRequest
0 голосов
/ 27 ноября 2018

Я новичок в extjs, и я хочу установить всплывающую подсказку в поле lable файла Ext.form.TextField с типом входного файла.Я пытаюсь сделать это с помощью следующего кода, но он не работает.

    Ext.override(Ext.form.Field, {
        afterRender : Ext.form.Field.prototype.afterRender.createSequence(function(){
            var qt = this.qtip;
            if (qt) {
                Ext.QuickTip.register ({
            target:  this,
            title: '',
            text: qt,
            enabled: true,
            showDelay: 20
                })
            }
        })
    });


   this.myTestComponent = new Ext.form.TextField({
       fieldLabel: 'My Field lable',
       qtip: 'My Field Tooltip',
       name: 'field1',
       scope: this,
       inputType: 'file',
       width: 150
    })

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Попробуй так:

        {
            xtype:'textfield',
            name: 'field1',
            fieldLabel:'Label Descr',
            inputType: 'file',
            width: 250,
            listeners: {
                render : function(c) {
                    new Ext.ToolTip({
                        target : c.label.dom,
                        html: 'My tooltip'
                    });
                }
            } 
        }
0 голосов
/ 27 ноября 2018

Решение:

Я точно отвечу на ваш вопрос - если вы хотите добавить всплывающую подсказку, вы можете использовать это:

Ext.onReady(function() {
    Ext.QuickTips.init();

    var textFieldStreet = new Ext.form.TextField({
        fieldLabel: 'My Field lable',
        //renderTo: Ext.getBody(),
        name: 'field1',
        inputType: 'file',
        listeners: {
            render : function(c) {
                new Ext.ToolTip({
                    target : c.label.dom,
                    html: 'Label tooltip'
                });
                new Ext.ToolTip({
                    target : c.getEl(),
                    html: 'Field tooltip'
                });
            }
        } 
    });

    var form = new Ext.form.FormPanel({
        renderTo: Ext.getBody(),
        items: [textFieldStreet]
    });

})

Примечания:

Протестировано с ExtJS 3.4.

Config fieldLabel используется только тогда, когда textfield визуализируется контейнером, который был настроен для использования диспетчера форм FormLayout.

Одним из недостатков является всплывающая подсказка по умолчанию «Файл не выбран» в Chrome и Mozilla.

Вы можете увидеть это fiddle .

...