Select2 плохо отображает, стиль нарушен

Я попытался установить select2 в свой проект, но это не очень хорошо. Это точно такая же проблема, как и по этой ссылке: Select2 не отображается должным образом

Select2 плохо отображает, стиль нарушен

Но я не использую cdn, я работаю над проектом symfony4 (с бисом и пряжей webpack). Я импортирую jquery и select2 вот так:

app.js

import $ from 'jquery';
import 'select2/dist/js/select2.full';
import 'select2/dist/css/select2.css';

$(document).ready(function () {
    $('.select2').select2();
})

Я тоже пробую это:

import $ from 'jquery';
import select2 from 'select2';

mypage.html

<select class = "select2 form-control" style = "width:200px;" name = "states[]" multiple = "multiple">
    <option value = ""><option>
    <option value = "1">Mustard</option>
    <option value = "2">Ketchup</option>
    <option value = "3">Relish</option>
</select>

У меня нет ошибок, но рендер ни на что не похож!

Спасибо за вашу помощь :)

не могли бы вы попробовать добавить стиль импорта «cdn» в свой html, чтобы посмотреть, работает ли он?

Calvin Nunes 24.04.2018 22:36

да, это работает, но я бы хотел избежать cdn. он работает с <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/c‌​ss/select2.min.css">‌. Но почему импорт, который я сделал, не работает?

RenishV8 24.04.2018 22:48

У вас есть другие файлы .js, импортирующие файлы .css, которые работают? Потому что вопрос в том, что, вероятно, вам нужен css в вашем html, а не в js. поэтому он работает, когда вы загружаете его прямо в html, а не в .js

Calvin Nunes 24.04.2018 22:53

а также почему следует избегать <link href=...>? это наиболее эффективный / производительный способ загрузки файла css

Calvin Nunes 24.04.2018 22:57

Да, я использую bootstrap3 с настраиваемым классом. У меня есть main.css со всем необходимым внутри. Для js у меня только один файл.

RenishV8 24.04.2018 22:58

Я хотел избежать, просто попробовать другой путь. Действительно, я мог бы использовать cdn, но он все равно должен работать: D

RenishV8 24.04.2018 23:00
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
6
1 021
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Спустя много месяцев я оптимизировал свой веб-сайт и исправил эту проблему, а затем хотел поделиться советом!

@CalvinNunes, вы были правы, я импортировал CSS в js. Импорт css через webpack.config.js работает лучше.

Я добавил эту запись в webpack.config.js и, конечно же, удалил импорт css из моего файла app.js

.addStyleEntry('css/account', [
        'select2/dist/css/select2.css',
        'select2-bootstrap4-theme/dist/select2-bootstrap4.css',
    ])

Другие вопросы по теме