@denop
Изучаю Yii2 / Vue.js

В Yii2 — Kartik Select2 не отображается поле поиска?

Приветствую всех!
В Yii2 использую плагин Kartik Select2 (Ajax Loading)

Столкнулся со следующими моментами:
1. При использовании Bootstrap Tabs не отображался input
решение нашел: в массив options добавил 'style'=>['; display:inline !important']

2. Не отображается поле поиска
5d9266d74f379118010456.png
код поля стандартный из доки
пробовал добавить 'hideSearch' => false, (дефолтное значение)
все равно ничего не изменило

Вопрос решен.
Оказалась проблема в том что на данном скрине уже используется данное поле (модель и поле),
решается добавлением в массив options 'id' => 'search-name',
но из этого возникает следующий вопрос:

Поиск происходит по полю Name. Как лучше сетить пришедший id?

- создать отдельную модель под поиск?
- или создать отдельную колонку в БД с именем типа 'search_name'?

echo $form->field($usersClient, 'client_name')->widget(Select2::classname(), [
                    'options' => [
                            'placeholder' => 'Выбрать клиента ...',
                            'style'=>['; display:inline !important']
                    ],
                    //'hideSearch' => false,
                    'pluginOptions' => [
                        'allowClear' => true,
                        'minimumInputLength' => 1,
                        'language' => [
                            'errorLoading' => new JsExpression("function () { return 'Waiting for results...'; }")
                        ],
                        'ajax' => [
                            'url' => $url,
                            'dataType' => 'json',
                            'data' => new JsExpression('function(params) { return {q:params.term}; }'),
                        ],
                        'escapeMarkup' => new JsExpression('function (markup) {console.log(markup); return markup; }'),
                        'templateResult' => new JsExpression('function(client) {console.log(client); return client.text; }'),
                        'templateSelection' => new JsExpression('function (client) {console.log(client); return client.text; }')
                    ]
                ]);


Контроллер так же из доки - работает, возвращает Json в нужном формате
5d9265cbf05bf077143704.png

Возможно кто-то сталкивался и решал.
Заранее благодарю за ответы!
  • Вопрос задан
  • 428 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы