Size: a a a

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

2020 February 20

И

Илья | 😶 ☮️... in Angular - русскоговорящее сообщество
Alexander Kim
Всем привет.
Есть два массива. Один исходный, второй с выбранными значениями. Необходимо выставить статус checked только тем элементам которые присутствуют во втором массиве. Если кто то когда то реализовывал или есть пример где посмотреть было бы супер. (использую реактивную форму)

isChecked = false;
const array1 = ['hello', 'world', 'robot', 'window'];
const array2 = ['world', 'window'];
const result = [];

array2.forEarch( item => {
 array1.filter( itm => {
     itm.isChecked = true;
    result.push(itm);
 })
});

сам html
<mat-checkbox *ngFor="let item of result" [checked]="metric.checked">{{ tem.text }}</mat-checkbox>
includes
источник

И

Илья | 😶 ☮️... in Angular - русскоговорящее сообщество
Только вот при активном чендж детекшене будет попоболь :)
источник

AK

Alexander Kim in Angular - русскоговорящее сообщество
можно немного развернуть ответ, я не совсем понял, что должен я изменить
источник

И

Илья | 😶 ☮️... in Angular - русскоговорящее сообщество
Причем я не пойму как ты проходясь по массиву строк представляешь их за объекты
источник

И

Илья | 😶 ☮️... in Angular - русскоговорящее сообщество
Alexander Kim
Всем привет.
Есть два массива. Один исходный, второй с выбранными значениями. Необходимо выставить статус checked только тем элементам которые присутствуют во втором массиве. Если кто то когда то реализовывал или есть пример где посмотреть было бы супер. (использую реактивную форму)

isChecked = false;
const array1 = ['hello', 'world', 'robot', 'window'];
const array2 = ['world', 'window'];
const result = [];

array2.forEarch( item => {
 array1.filter( itm => {
     itm.isChecked = true;
    result.push(itm);
 })
});

сам html
<mat-checkbox *ngFor="let item of result" [checked]="metric.checked">{{ tem.text }}</mat-checkbox>
тут не по ангуляру вопрос, а по знанию жс
источник

AK

Alexander Kim in Angular - русскоговорящее сообщество
Илья | 😶 ☮️
Причем я не пойму как ты проходясь по массиву строк представляешь их за объекты
именно что есть два массива. По первому массиву выбросить на страницу список с чекбоксами, а по второму выставить checked в этом же списке. Список то я на страницу выбросил а вот статус выставить даже не знаю как подойти
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Alexander Kim
Всем привет.
Есть два массива. Один исходный, второй с выбранными значениями. Необходимо выставить статус checked только тем элементам которые присутствуют во втором массиве. Если кто то когда то реализовывал или есть пример где посмотреть было бы супер. (использую реактивную форму)

isChecked = false;
const array1 = ['hello', 'world', 'robot', 'window'];
const array2 = ['world', 'window'];
const result = [];

array2.forEarch( item => {
 array1.filter( itm => {
     itm.isChecked = true;
    result.push(itm);
 })
});

сам html
<mat-checkbox *ngFor="let item of result" [checked]="metric.checked">{{ tem.text }}</mat-checkbox>
Используй Set
источник

AK

Alexander Kim in Angular - русскоговорящее сообщество
Илья | 😶 ☮️
тут не по ангуляру вопрос, а по знанию жс
не подскажешь какую тему именно надо прочитать ? ( работа с массивами ?)
источник

И

Илья | 😶 ☮️... in Angular - русскоговорящее сообщество
Alexander Kim
не подскажешь какую тему именно надо прочитать ? ( работа с массивами ?)
array1.filter( itm => {
     itm.isChecked = true;
    result.push(itm);
 })
источник

AK

Alexander Kim in Angular - русскоговорящее сообщество
Smooth Operator
Используй Set
попробую.
источник

ИВ

Игорь Веселов... in Angular - русскоговорящее сообщество
https://stackoverflow.com/questions/34901593/how-to-filter-an-array-from-all-elements-of-another-array
А вообще лучше бы хранить список с параметром isChecked в объекте
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
чет так смешно с топ ответа)
источник

VC

Vladimir Chekushkin in Angular - русскоговорящее сообщество
Почему код ниже может не отображать ошибку сразу? А отображает когда фокус с инпута пропадает.
<mat-error *ngIf="formControl.hasError(asyncValidationErrorKey)">{{ asyncValidation.errorMessage }}</mat-error>

При этом этот код сразу показывает значение true
   {{formControl.hasError(asyncValidationErrorKey)}}
источник

VC

Vladimir Chekushkin in Angular - русскоговорящее сообщество
Можно как-то тригернуть control на проверку валидации, сразу после того как выполнился асинхронный валидатор?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Vladimir Chekushkin
Можно как-то тригернуть control на проверку валидации, сразу после того как выполнился асинхронный валидатор?
чего
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Vladimir Chekushkin
Можно как-то тригернуть control на проверку валидации, сразу после того как выполнился асинхронный валидатор?
после проверки валидации запустить валидацию?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
это разные контролы?
источник

VC

Vladimir Chekushkin in Angular - русскоговорящее сообщество
Smooth Operator
после проверки валидации запустить валидацию?
сейчас первая валидация срабатывает после блюра
источник

VC

Vladimir Chekushkin in Angular - русскоговорящее сообщество
Vladimir Chekushkin
сейчас первая валидация срабатывает после блюра
вторая и все последующие работают как надо
источник

VC

Vladimir Chekushkin in Angular - русскоговорящее сообщество
Не срабатывает именно в самый первый раз
источник