в первый раз < /strong> я открываю модал, все работает нормально: < /p>
- Компонент Select2 инициализирует правильно. < /p>
< /li >
Список загрузки стран. Показать в поле выбора .
[*] Это не сработало , потому что LiveWire повторно использует модальный контент динамически.
Я видел решения аналогичных вопросов на этом форуме, в которых говорилось, что атрибут data-dropdown-parent , который решил мою проблему для некоторых Степень, но в некоторых случаях это все еще сохраняется. < /p>
< /li>
< /ul>
< /li>
< /ol>
написание обычая JavaScript для повторного определения SELECT2 В LiveWire Updates < /strong> < /p>
Я написал следующий код, чтобы обнаружить, когда модал обновляется, но Select2 все еще не повторно повторно. < /li>
< /ul>
{{ $country->name }} ({{ $country->code }})
< /code>
document.addEventListener('livewire:initialized', function() {
// Initialize on modal show
$('#kt_modal_update_state').on('shown.bs.modal', function() {
// First destroy any existing select2 instance
if ($('#select_state_update_country').data('select2')) {
$('#select_state_update_country').select2('destroy');
}
// Initialize select2
$('#select_state_update_country').select2({
placeholder: 'Select an option',
allowClear: true,
dropdownParent: '#kt_modal_update_state'
}).on('change', function() {
@this.set('country_id', $(this).val());
});
// Set the selected value after initialization
setTimeout(function() {
$('#select_state_update_country').val(@this.country_id).trigger('change');
}, 100);
});
});
// Re-initialize when Livewire updates
document.addEventListener('livewire:updated', function() {
if ($('#kt_modal_update_state').is(':visible')) {
$('#select_state_update_country').val(@this.country_id).trigger('change');
}
});
Подробнее здесь: https://stackoverflow.com/questions/794 ... dal-reopen