Есть ли возможность НЕ использовать тему формально?

Я хочу использовать попутный ветер для создания всего стиля и не хочу добавлять в свой код дополнительные библиотеки.

Вот простой пример того, что я придумал:

https://stackblitz.com/edit/angular-ivy-uxrxrc?file=src%2Fapp%2Fformly-component%2Fformly-component.ts

Что я сделал:
создал простой компонент, внутри которого находится форма с основным полем ввода. Кажется, что Angular компилируется нормально, но formly не отображает никаких полей. Это ошибка сError: [Formly Error] There is no type by the name of "input".

Я также не могу найти в документации примеров, в которых нет темы.

1 ответ

Решение

Формально предоставьте набор тем из коробки, такой материал, bootstrap.. но это не помешает вам создать свою собственную тему, единственное, что требуется, это определить тип настраиваемого поля, как описано в https://formly.dev/guide/custom-formly-field, чтобы резюмировать, вот шаги:

  1. Создайте настраиваемый тип поля с именемinput:
import { Component } from '@angular/core';
import { FieldType } from '@ngx-formly/core';

@Component({
 selector: 'formly-datetimepicker',
 template: `
   <input [formControl]="formControl"></input>
 `,
})
export class InputFieldType extends FieldType {}
  1. определите свой тип поля с помощью NgModule декларация:
@NgModule({
 declarations: [InputFieldType],
 imports: [
   ....
   FormlyModule.forRoot({
     types: [
       { name: 'input', component: InputFieldType },
     ],
   }),
 ],
})
export class AppModule {}
  1. установить тип на type в вашей конфигурации поля:
fields = [
  {
    key: 'name',
    type: 'input',
  },
]

все еще запутался, проверьте исходный код Formly UI https://github.com/ngx-formly/ngx-formly/tree/master/src/ui

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