Comments 5
Хорошая статья и крутой подход к обработке данных. Круто-то было услышать про динамическое построение форм. В третьем пункте вы затрагиваете, как я поняла, только динамическую блокировку полей. А про скрытие/показ полей ничего не было. Спасибо!
Спасибо!
После года использования данного подхода могу с уверенностью сказать: для больших форм лучше использовать динамическое построение(декларативность), а блокировать и скрывать поля(императивность) лучше откинуть и использовать на небольших формах или когда вам быстро нужно что-то склепать. Именно по этому для конечной библиотеки было добавлено только enable
и disable
.
Я не совсем понял какой посыл у статьи. Как сделать свой костыль и не использовать сторонние UI Form фреймворки которые многими годами пилятся?
Данный "костыль" мы используем для того, чтобы использование любой UI библиотеки (связанной с полями для ввода и формами) было для нас идентичным. Такие мастодонты как vue-form
, vueformulate
, formkit
классно спроектированы и предоставляют отлично задокументированную библиотеку. Однако для работы со значениями, связываниям дочерних элементов, работы с изменениями они не подошли для нашей команды. Попросту из-за того, что данные библиотеки не разрабатывались для таких целей.
Посыл у статьи такой: новый взгляд на использование и взаимодействие с формами. Я привел пример "скелета" нашего решения. Я за то, чтобы использовать те решения, которые проверены годами, но иногда удобнее что-то иное.
Когда надоело работать с вложенными формами придумали много всего интересного, но в итоге к пробросу класса с фиксированной апишкой через пропсу, жёсткое разделение на view и view-model компоненты.
Если форма используется где-нибудь в модалке (сабмит-кнопка тоже в ней), слотом закрывается сабмит-кнопка формы, а сабмит-кнопка модалки дёргает калбак, присланный формой через $emit
Удобные формы для Vue 3