#javascript
#язык JavaScript
Вопрос:
Я создаю страницу для постов, которые могут просматривать самые новые или самые понравившиеся.
Я управляю этим с помощью раскрывающихся списков и массивов.
И всякий раз, когда нажимается раскрывающийся список, я должен принудительно обновлять его, чтобы он соответствовал его значению.
async selectPosts ({...} = {}, forceUpdate = false) { let goodOrderByDir = 'desc' let dateOrderByDir = 'desc' const db = getFirestore() let constraints = [ //This array determines the viewing order. orderBy('date', dateOrderByDir), orderBy('good', goodOrderByDir)] var hw = document.getElementById('dropDowmListID') //It is linked to a drop-down list. hw.addEventListener('change', function() { if (hw.value == 1) { //newest constraints = [ orderBy('date', dateOrderByDir), orderBy('good', goodOrderByDir)] } if (hw.value == 2) { //most likes constraints = [ orderBy('good', goodOrderByDir), orderBy('date', dateOrderByDir)] } }) if (forceUpdate) { this._lastSelectPostsOptions = {} } constraints.push(limit(pageSize)) const queryRef = query(collection(db, 'posts'), ...constraints) return Promise.all((await getDocs(queryRef)).docs.map(async item =gt; { this._lastSelectPostsDoc = item const data = item.data() return { ...data } })) }
При выполнении принудительного обновления значение по умолчанию в текущем коде равно false.
async selectPosts ({...} = {}, forceUpdate = false)
Поэтому, когда я изменил раскрывающийся список, мне сказали, что он должен быть истинным, чтобы получить следующее значение.
Поэтому я изменил код следующим образом
async selectPosts ({...} = {}, forceUpdate = true)
Но я не мог получить ту ценность, которую хотел…
Как я могу принудительно обновить, чтобы применить измененные значения массива?
Комментарии:
1. Откуда вызывается
selectPosts
функция? Вам не нужно изменять значение по умолчанию сfalse
наtrue
до тех пор, пока вы не передадите аргумент явно.2.
selectPosts
выполняется вmainbore.vue
Нем вызывается тамошнейsearchPosts
функцией. ЭтаsearchPosts
функция используется для проверки наличия записи, которую необходимо добавить.