Как отобразить значок поиска (увеличительное стекло) справа от текста в строковых фильтрах ExtJS?

#css #extjs #filter

#css #extjs #Фильтр

Вопрос:

Я не нашел способа сделать это в документации, и я хотел спросить здесь, прежде чем начать пробиваться через эту проблему.

Ответ №1:

Вы хотите добавить триггер в свое текстовое поле.

Пример:

                         {
                            xtype: 'textfield',
                            fieldLabel: 'My Text Field',
                            triggers: {
                                searchTrigger: {
                                    handler: function(field, trigger, e) {
                                        console.log('your search code');
                                    },
                                    cls: 'fa-search'
                                }
                            }
                        }
  

Комментарии:

1. Привет, michwalk, я попробовал это, но не показываю значок поиска.

2. Привет, Правин! Для этого вам нужно настроить font awesome fontawesome.io/icons

Ответ №2:

вы можете попробовать это.

 {
    xtype: 'textfield',
    fieldLabel: 'text',
    triggers:
    {
         search:{
               cls: 'x-form-search-trigger',
               handler: function () {
               }

        }
    }
}
  

вы получаете такой результат.

вы получаете такой результат.

Ответ №3:

На самом деле это сложная задача. итак, вот мое решение для этого Я изменил стиль значка креста и значка увеличительного стекла, добавив относительную позицию и некоторое левое значение в соответствии с тем, где вы этого хотите, и увеличив ширину текстового поля.

 #searchField .x-form-text-default
{
    padding-right: 0px !important;
    
}
#searchField .x-form-clear-trigger, .x-form-clear-trigger-default
{
    position: relative;
    left: 22px;
}
#searchField .x-form-search-trigger
{
    position: relative;
    left: 26px;
}  

Ответ №4:

В итоге я использовал: LabelStyle: ‘позиция: абсолютная; справа: 0;’

Я также перепутал width и fieldStyle, чтобы он выглядел точно так, как я хотел.