我有一个由dstore普通旧内存集合填充的dgrid,我正在尝试使用“contains”filter方法进行筛选。存储数据如下所示:
[
{id:"25", users: ["13", "15"]},
{id:"347", users: ["13"]},
{id:"653", "users":["13", "17"]}
]我想检索用户数组中给定用户所在的所有记录。据我所知,我希望能够设置像new Filter().contains('users', '15');这样的过滤器,并将其设置为网格的集合,在这个示例中留下一行(id = '25')。然而,我只剩下0行。我还尝试为过滤器提供一个正则表达式,而不仅仅是值匹配,比如new Filter().contains('users', new RegExp('^15$'));,但是这不会过滤掉任何行。
我使用的是dojo v1.10.4、dgrid v1.0.0和dstore v1.1.1。下面是一个演示我问题的JSFiddle。
我做错了什么吗?
谢谢。
发布于 2016-04-28 04:14:41
您正在将用户存储为数组,这就是为什么不能使用
new Filter().contains('users', '15');如果您想使用.contains,那么您必须像这样使用它:
new Filter().contains('users', ['15']);A必须通过提供数组而不是字符串来进行检查。
https://stackoverflow.com/questions/36904980
复制相似问题