Size: a a a

Angular - русскоговорящее сообщество

2021 February 23

М

Максим in Angular - русскоговорящее сообщество
new FormArray(attributesGroups) - это объект
источник

М

Максим in Angular - русскоговорящее сообщество
а в setValue судя по гуглу мы должны передать массив
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
а что означает вечно горящий show dropdown ?
источник

AB

Alex Bu in Angular - русскоговорящее сообщество
Максим
new FormArray(attributesGroups) - это объект
Да, это объект, в контролах которого лежит массив
источник

AB

Alex Bu in Angular - русскоговорящее сообщество
Alex Bu
Да, это объект, в контролах которого лежит массив
По которому я и предлагаю Вам иттерироваться
источник

М

Максим in Angular - русскоговорящее сообщество
setValue(value: any[], options: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
Saqhan Abaev
а что означает вечно горящий show dropdown ?
это рендерится постоянно ?
источник

VS

Vladimir Stempel 👁🍵... in Angular - русскоговорящее сообщество
Saqhan Abaev
это рендерится постоянно ?
походу да
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
Vladimir Stempel 👁🍵
походу да
как это лечится и из зачего происходит? можешь поделиться статье или ответом?)
источник

VS

Vladimir Stempel 👁🍵... in Angular - русскоговорящее сообщество
Максим
setValue(value: any[], options: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void
короче проще будет так сделать
  constructor(private fb: FormBuilder) {
   this.onSelectProject();
 }

 onSelectProject() {
   this.getOne().subscribe(project => {
     console.log(project.attributes);
     const attributesGroups = project.attributes.map(attribute => ({
       name: [attribute.name, []],
       value: [attribute.val, []]
     }));
     this.form = this.fb.group({
       name: [project.name, []],
       descr: [project.descr, []],
       attributes: [this.fb.array(attributesGroups), []]
     });
     console.log(this.form);
   });
 }
источник

VS

Vladimir Stempel 👁🍵... in Angular - русскоговорящее сообщество
ток в теле конструктора не надо это вызывать, это я в песочнице тестил просто)
источник

VS

Vladimir Stempel 👁🍵... in Angular - русскоговорящее сообщество
Saqhan Abaev
как это лечится и из зачего происходит? можешь поделиться статье или ответом?)
та откуда ж я знаю) скорее всего условие через метод проверяется
источник

М

Максим in Angular - русскоговорящее сообщество
Vladimir Stempel 👁🍵
короче проще будет так сделать
  constructor(private fb: FormBuilder) {
   this.onSelectProject();
 }

 onSelectProject() {
   this.getOne().subscribe(project => {
     console.log(project.attributes);
     const attributesGroups = project.attributes.map(attribute => ({
       name: [attribute.name, []],
       value: [attribute.val, []]
     }));
     this.form = this.fb.group({
       name: [project.name, []],
       descr: [project.descr, []],
       attributes: [this.fb.array(attributesGroups), []]
     });
     console.log(this.form);
   });
 }
очень круто, спасибо
А в html теперь как достучаться до аттрибутов?
источник

М

Максим in Angular - русскоговорящее сообщество
<ng-container *ngFor="let attribute of form?.get('attributes').controls">
 <input type="text" [control]="attribute.get('name')"/>
</ng-container>

так не хочет
источник

VS

Vladimir Stempel 👁🍵... in Angular - русскоговорящее сообщество
Максим
очень круто, спасибо
А в html теперь как достучаться до аттрибутов?
так же, как и с обычной формой)
источник

VS

Vladimir Stempel 👁🍵... in Angular - русскоговорящее сообщество
попробуй так
<ng-container *ngFor="let attribute of form?.get('attributes').controls">
 <input type="text" [formControl]="attribute.get('name')"/>
</ng-container>
источник

М

Максим in Angular - русскоговорящее сообщество
TS2339: Property 'controls' does not exist on type 'AbstractControl'.
источник

М

Максим in Angular - русскоговорящее сообщество
та не хочет он у меня стучаться до контролов (
источник

М

Максим in Angular - русскоговорящее сообщество
let attribute attribute of form.get('attributes').value.controls

value - вот ге собака зарыта
источник

М

Максим in Angular - русскоговорящее сообщество
может час назад бы решили вопрос)


а не хрень какаято
источник