Не удаляется последний элемент Multiselect модуля Carbon Fields для WordPress?
Ссылка скопирована
При попытке удалить последний выбранный элемент в Multiselect, он не удаляется, в консоль падает ошибка.
Uncaught TypeError: Cannot read properties of null (reading 'map').
Дополнительно:
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
VPN
Как правильно настроить vless для Android TV?
0 ответов
Pyrogram
Как правильно зарегистрировать юзер бота в Telegram?
0 ответов
печатные-платы
Как заставить запускаться программу M3.exe от компании Hanxing AOI в инспекционной машине на Windows 7 Pro?
0 ответов
Telegram
Как диагностировать ошибку с подключением к прокси в мобильном приложении Telegram?
0 ответов


Ошибка
Cannot read properties of null (reading 'map')в Carbon Fields Multiselect обычно возникает, когда поле при очистке получаетnull, а UI/скрипт ожидает массив. То есть последний элемент удаляется, значение становится не пустым массивом, аnull, и компонент падает.Практический обходной путь: нормализуйте значение поля к массиву при сохранении или при получении. Для поля с именем
my_multiselectможно сделать так:add_filter('carbon_fields_field_save_pre_field=my_multiselect', function ($value) { if ($value === null || $value === '') { return []; } return (array) $value; });
Если проблема проявляется только в админке конкретной версии Carbon Fields, сначала обновите Carbon Fields до актуальной версии и проверьте конфликт с кешем/сборкой админских скриптов. Также проверьте, что дефолтное значение поля задано массивом:
Field::make('multiselect', 'my_multiselect', 'Выбор') ->set_options([ 'one' => 'Первый', 'two' => 'Второй', ]) ->set_default_value([]);
Если это поле уже используется на проде, не меняйте резко тип хранения. Сначала проверьте в базе, как сейчас сохранены значения, и протестируйте очистку поля на копии сайта. Для старых версий Carbon Fields иногда надежнее заменить поле на association/complex или обновить библиотеку, чем лечить JS-ошибку патчем в админке.