velo - 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;
}
}
解决方案
您需要从数据集设置面板更改数据集的模式。只写数据集用于用户输入表单等内容。在这里,由于您使用数据集来显示数据,因此您需要一个只读数据集。
推荐阅读
- node.js - Req.body 使用 express 在节点中未定义
- ios - Core Data 获取请求与 NSFetchedResultsController 的一对多关系
- python - XPath 总是返回空列表
- scala - IntelliJ 错误地突出显示“提取器的参数数量错误”
- javascript - Mozilla 扩展在短时间内意外注销用户
- amazon-web-services - 无法在 AWS 控制台中访问我的 VPC 以创建我的 redshift 集群
- reactjs - 使用没有状态的输入标签反应展示(无状态)组件?
- c# - 无法在 .net 核心项目中访问 JsonDicomConverter
- google-cloud-platform - 如何在 Stackdriver 警报文档中获取 Bigquery 表的名称
- c++ - 如何使用 CMake 简单地将 opencv 包含在我的项目中