что касается фильтра, все так как ты описываешь, если у тебя какойто не такой массив куда то приходит, то тут мои полномочия все, дебаж... а что касается пустого поиска, то if(str){ фильтр } else { вернуть все } помоему это очевидно
пробовала if, но он не возвращает обратно первоначальный массив, так как он возвращает последний массив, а он уже видоизмененный
я бы в компоненте фильровал массив. взять из сервиса transactions$, а в компоненте типа такой структуры service.transactions$.pipe(switchMap(transactions => this.filter$.pipe(map(filter => transactions.filter(tran => tran.name === filter)))))
надо хранить гдето не фильтрованный массив, подругому никак
this.displayedTransactions$ = service.transactions$.pipe(switchMap(transactions => this.filter$.pipe(map(filter => transactions.filter(tran => tran.name === filter))))); Где filter$ хранит в себе собственно фильтр
а replySubject как-то может меня спасти или какой-то другой, который может вернуть предыдущий массив
предыдущий массив он вернет, но как ты поймешь он фильтровался или нет
вот я бы что-то подобное сделал
это решило мою проблему, не знаю правда насколько это красиво
toLowerCase под условие убери
не думаю что хорошая идея записывать saveTransactions$ при фильтрации. нужно записать один раз и не трогать
согласна, протестила чуть лучше и как-то не очень у меня корректно работает)))
сохранила сразу при получении массива транзакций. (( Если стираю все строку и следовательно иду в else и получаю старый массив, а вот если я стираю букву или несколько букв, то поиск заново не запускается...
const filterArray = this.saveTransactions$ .value.filter....
спасибооооо💋💋💋💋💋💋💋
Обсуждают сегодня