Всех приветствую!
Вышел релиз 2.21.0 “Gin Glow”. 🌙 Расскажу какие нововведения произошли.
Новый компонент Div
Это просто тег div
с компонентами внутри или без них, который подойдет для ситуаций, когда нужно добавить свой набор атрибутов и реализовать вывод без дополнительных классов и блоков.
Div::make([])
Нативный селект
Под капотом для визуализации селекта и дополнительных фишек мы используем библиотеку Choices.js. Однако при реактивности она создает ряд проблем (например, при изменении multiple select
мы получаем только новое значение, а не все), которых нет в нативном режиме. Нативный селект подойдет для ситуаций, когда вам нужен простой селект, или если вы хотите его стилизовать под себя.
Нативный селект не поддерживает методы с поиском и другие функции.
Select::make()->native()
Сахар для Alpine.js
Ничего нового, просто удобный синтаксический сахар для взаимодействия с Alpine.js на бэке.
Block::make([
Select::make('Type')
->native()
->options([
1 => 'Платно',
2 => 'Бесплатно',
])
->xModel(),
Number::make('Стоимость', 'price')
->xModel()
->xIf('type', '1'),
Number::make('Ставка', 'rate')
->xModel()
->xIf('type', '1')
->setValue(90),
LineBreak::make(),
Div::make()
->xShow('type', '1')
->xDisplay('"Result:" + (price * rate)')
,
])->xData([
'price' => 0,
'rate' => 90,
'type' => '2',
]),
Мы получаем удобный способ указать x-data
, передав массив, а также xShow
для скрытия элемента или xIf
для удаления его из DOM. В сочетании с новым компонентом Div
будет удобно использовать метод xDisplay
для вывода значений компонента Alpine.js.
Пример демонстрирует связывание элементов формы с объектом компонента Alpine.js и последующие манипуляции.
Рубрика BugBusters 🐛
- Отступы для селекта в режиме тегов от @DissNik in PR
- Проблема
columnSelection
при событии обновления строки таблицы от @lee-to in PR - Проблема реактивности в модалках быстрого создания записи для
BelongsTo/BelongsToMany
от@lee-to in PR - IПроблема генерации
name
у элементов формы внутри динамических таблиц от @lee-to in PR
https://github.com/moonshine-software/moonshine/compare/2.20.9...2.21.0