Filter 过滤器在“关闭”时不工作;“全部”;在下拉列表中选择

Filter 过滤器在“关闭”时不工作;“全部”;在下拉列表中选择,filter,drop-down-menu,filtering,velo,input-filter,Filter,Drop Down Menu,Filtering,Velo,Input Filter,我已经在我的下拉列表中手动添加了一个“全部”标签,当选中该标签时,该标签旨在显示特定月份的所有条目(下拉列表供用户选择特定日期),并且仅此而已。但是,如果选择了此选项,并且所有内容都显示其他过滤器(使用输入框设置)均不起作用(当选择特定日期时,它们都可以正常工作)-使用其中一个输入框时,中继器似乎消失了。 这是我用来达到这一点的最后一段代码,我只是想知道为什么会发生这种情况,因为我已经用尽了所有的调查途径(我的意思是在谷歌中输入不同的东西,哈哈) import wixData from 'wix

我已经在我的下拉列表中手动添加了一个“全部”标签,当选中该标签时,该标签旨在显示特定月份的所有条目(下拉列表供用户选择特定日期),并且仅此而已。但是,如果选择了此选项,并且所有内容都显示其他过滤器(使用输入框设置)均不起作用(当选择特定日期时,它们都可以正常工作)-使用其中一个输入框时,中继器似乎消失了。 这是我用来达到这一点的最后一段代码,我只是想知道为什么会发生这种情况,因为我已经用尽了所有的调查途径(我的意思是在谷歌中输入不同的东西,哈哈)

import wixData from 'wix-data'
$w.onReady(function () {
uniqueDropDown1();
filter2();
searchNumber();
searchOperator();
searchClass();
});
function uniqueDropDown1 (month){
wixData.query("2021News")
.contains("title", "May")
.ascending("title")
.limit(1000)
.find()
.then(results =>{
const uniqueTitles = getUniqueTitles(results.items);
let AllOption = [{"label":"All", "value":"All"}];
let dropdown1 = buildOptions(uniqueTitles);
$w('#dropdown1').options = AllOption.concat(dropdown1);
});
function getUniqueTitles(items) {
const titlesOnly = items.map(item => item.title);
return [...new Set(titlesOnly)];
}
function buildOptions(uniqueList){
return uniqueList.map(curr => {
return {label:curr, value:curr};
});
}
}
function filter2 () {
$w('#dropdown1').onChange((event) => {
let title = $w('#dropdown1').value;
let title3 = $w('#input1').value;
$w('#dynamicDataset').onReady(() => {
console.log("The dataset is ready to be filtered.");
$w('#dynamicDataset').setFilter(wixData.filter()
.contains("title", title)
.contains("number", title3)
)
.then(() => {
console.log("Dataset is now filtered with the matching title from the dropdown");
let getItem = $w('#repeater1').data
})
.catch((err) => {
console.log(err);
});
});
})
}
export function dropdown1_change(event, $w){
$w('#input1').enable();
$w('#input2').enable();
$w('#input3').enable();
$w('#input1').value = null;
$w('#input2').value = null;
$w('#input3').value = null;
let filterType = $w('#dropdown1').value;
if (filterType === "All") {
$w('#dynamicDataset').setFilter(wixData.filter().contains("month", "May"));
}
}
let debounceTimer;
export function input1_keyPress_1(event, $w) {
searchNumber();
}
function searchNumber () {
$w('#input1').onKeyPress((event) => {
if (debounceTimer) {
clearTimeout(debounceTimer);
debounceTimer = undefined;
}
debounceTimer = setTimeout(() => {
const filterValue = $w('#input1').value
const filterValue2 = $w('#input2').value
const filterValue3 = $w('#input3').value
const textFilter = wixData.filter().contains("number", filterValue)
.contains("operator", filterValue2)
.contains("title", $w('#dropdown1').value)
.contains("class", filterValue3)
$w('#dynamicDataset').setFilter(textFilter)
}, 500);
});
}
export function input2_keyPress(event) {
searchOperator();
}
function searchOperator () {
$w('#input2').onKeyPress((event) => {
if (debounceTimer) {
clearTimeout(debounceTimer);
debounceTimer = undefined;
}
debounceTimer = setTimeout(() => {
const filterValue = $w('#input1').value
const filterValue2 = $w('#input2').value
const filterValue3 = $w('#input3').value
const textFilter = wixData.filter().contains("number", filterValue)
.contains("operator", filterValue2)
.contains("title", $w('#dropdown1').value)
.contains("class", filterValue3)
$w('#dynamicDataset').setFilter(textFilter)
}, 500);
});
}
export function input3_keyPress(event) {
searchClass();
}
function searchClass () {
$w('#input3').onKeyPress((event) => {
if (debounceTimer) {
clearTimeout(debounceTimer);
debounceTimer = undefined;
}
debounceTimer = setTimeout(() => {
const filterValue = $w('#input1').value
const filterValue2 = $w('#input2').value
const filterValue3 = $w('#input3').value
const textFilter = wixData.filter().contains("number", filterValue)
.contains("operator", filterValue2)
.contains("title", $w('#dropdown1').value)
.contains("class", filterValue3)
$w('#dynamicDataset').setFilter(textFilter)
}, 500);
});
}```

I suspect I need to tell the filters to still do their stuff when "All" is selected but so far none of my attempts to do this have worked!

Thanks in advance!