Отфильтровать коллекцию по полю с несколькими ссылками - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь отфильтровать коллекцию по полю с несколькими ссылками до того, как функция выполнит свою работу.

Я использовал этот пример wix, но я не хочу, чтобы он фильтровал всю коллекцию https://www.wix.com/corvid/example/filter-with-multiple-options

Я новичок в этом и, вероятно, делаю это неправильно это то, что мне удалось выяснить


import wixData from 'wix-data';

const collectionName = 'Blog/Posts'
//const collectionName = wixData.query('Blog/Posts').contains("categories", ["O -Fitness"]);

const fieldToFilterByInCollection = 'hashtags';


$w.onReady(function () {

    setRepeatedItemsInRepeater()
    loadDataToRepeater()

    $w('#tags').onChange((event) => {
        const selectedTags = $w('#tags').value
        loadDataToRepeater(selectedTags)
    })
});

function loadDataToRepeater(selectedCategories = []) {

    let dataQuery = wixData.query(collectionName)//.contains("categories", ["O -Fitness"]);


    if (selectedCategories.length > 0) {
        dataQuery = dataQuery.hasAll(fieldToFilterByInCollection, selectedCategories)
    }

    dataQuery
        .find()
        .then(results => {
            const itemsReadyForRepeater = results.items
            $w('#Stories').data = itemsReadyForRepeater;

            const isRepeaterEmpty = itemsReadyForRepeater.length === 0

            if (isRepeaterEmpty) {
                $w('#noResultsFound').show()
            } else {
                $w('#noResultsFound').hide()
            }
        })
}

function setRepeatedItemsInRepeater() {
    $w('#Stories').onItemReady(($item, itemData) => {

        $item('#image').src = itemData.coverImage;
        $item('#title').text = itemData.title;
        if ($item("#title").text.length > 40){
        $item("#title").text =$item("#title").text.slice(0, 40) + '...' ;}
        $item('#excerpt').text = itemData.excerpt;
        if ($item('#excerpt').text.length > 100){
        $item('#excerpt').text =$item('#excerpt').text.slice(0, 100) + '...' ;}     



    })
}

это этот комментированный бит, который я пытаюсь добавить


const collectionName = wixData.query('Blog/Posts').contains("categories", ["O -Fitness"]);

Заранее спасибо

...