Минимизируйте элементы DOM в forEach (узел / Express) - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть приложение Node / Express, и в моих НОВЫХ маршрутах у меня есть раскрывающееся поле, в котором можно выбрать один или несколько вариантов, используя forEach l oop для всех существующих пользователей в базе данных. В настоящее время насчитывается 1400 пользователей, хотя эта цифра неуклонно растет.

                            <label for="interviewees" class="profile-label">Your PANGYAO Username:</label>
                            <select id="interviewees" class="mselect standard-input" name="haoPangyao[interviewees][]" data-placeholder="Select Your Username" multiple>
                                <% interviewees.forEach(interviewee => { %>
                                    <option value="<%- interviewee.id %>"><%- interviewee.username %> </option>
                                <% }); %>
                            </select>
                        </div> 

На простой форме ввода Google Pagespeed помечает это как проблему в разделе «Избегать чрезмерного размера DOM», проблема который будет расти только по мере увеличения числа пользователей.

Я использую JS Выбрано для поля; Есть ли способ сохранить возможность поиска (нескольких) пользователей, но не загружать весь список каждый раз как отдельные элементы DOM?

Спасибо

1 Ответ

0 голосов
/ 05 апреля 2020

Вам нужно будет взглянуть на включение JS, чтобы лениво загрузить содержимое этого инструмента или предоставить поля поиска, и JS, чтобы найти результаты по вызову API.

...