首页 > 解决方案 > Wix - 不允许对只写数据集执行操作 (setFilter)

问题描述

我正在尝试在此处遵循本教程:https ://www.youtube.com/watch?v=Hx7_8-lRsW0

但我遇到了一个错误:

Operation (setFilter) not allowed on write-only dataset

有人可以解释数据集是如何工作的,以及我如何执行.setFilter()吗?

我的代码:

import wixData from "wix-data";

$w.onReady(function () {
    wixData.query('collectionName');
});

let debounceTimer;
export function iTitle_keyPress(event, $w) {
    console.log('hello');
    if(debounceTimer) {
        clearTimeout(debounceTimer);
        debounceTimer = undefined;
    }
    debounceTimer = setTimeout(() => {
        filter($w('#iTitle').value);
    }, 200);
}

let lastFilterTitle;
function filter(title) {
    console.log(title);
    if(lastFilterTitle !== title) {
        $w('#dataset1').setFilter(wixData.filter().contains('name',title));
        lastFilterTitle = title;
    }
}

标签: velo

解决方案


您需要从数据集设置面板更改数据集的模式。只写数据集用于用户输入表单等内容。在这里,由于您使用数据集来显示数据,因此您需要一个只读数据集。


推荐阅读