Управление позиционированием текста внутри поля выбора (Select2, django -autocomplete-light) - PullRequest
0 голосов
/ 26 января 2020

У меня есть форма модели, в которой я добавил виджет taggitselect2 как часть django -autocomplete-light.

Это ищет теги из taggablemanager, чтобы разрешить автозаполнение. Автозаполнение работает нормально, но выравнивание текста внутри поля выбора отключено. Текст выравнивается по нижней части окна выбора, оставляя большой разрыв между верхней частью тега и верхней частью окна выбора. Проще с картинкой: https://imgur.com/a/WxFMLfF

forms.py

widgets = {
    'tags': autocomplete.TaggitSelect2(
        url='recordings:recording-autocomplete',
        attrs={
            'data-placeholder': 'Start typing to autocomplete...',
        }

 ....inside def __init__
    self.helper.layout = Layout(
        Row(Column(Field('tags')),css_class='form-row'),

Я пробовал смотреть на варианты стилей - это bootstrap проект, так что в идеале мне бы хотелось, чтобы тот же стиль, который вы получили с data_role="tagsinput", но если я назначу его виджету, я думаю, он переопределяет пользовательскую часть, и я получаю некоторые некорректные выходные данные.

1 Ответ

0 голосов
/ 27 января 2020

Не удалось выяснить, почему рендеринг по умолчанию так плохо отформатирован, что в качестве обходного пути я только что переопределил css.

При проверке элементы выделения имеют отступ в 5 пикселей, достаточный для выравнивания их с дном. Следовательно, применение следующего в css:

.select2-selection__choice{
    margin-top: 0px !important;
}

'решает' проблему. Без '! Важно' оно переопределяется до 5 пикселей, поэтому это необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...