我正在使用可过滤的画廊,但是现在它仅在整个标题与输入值匹配时才显示正确的图像。但是我想过滤分离的字母。这里我写了一个函数:

filterList (filterText) {
    var updatedList = this.props.array;
    return updatedList.filter(function(item){
        var split = item.name.split("");
        console.log(split, filterText);
        return split === filterText;
    });
  }


现在,它向我显示了分隔的item.name,如下所示:["p","h","o","t","o","","1"]
我想用分开的字母代替照片1。

这是codePen的链接:LINK
`

最佳答案

一种方法是将输入值与整个标题的具有相同长度的子字符串进行比较。这是一个例子:

filterList (filterText) {
    var len = filterText.length,
        updatedList = this.props.array;

    return updatedList.filter(function(item){
        var split = item.name.slice(0, len);
        console.log(split, filterText);
        return split === filterText;
    });
}

关于javascript - Javascript为图库创建过滤器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39901634/

10-12 12:53
查看更多