如何从 React(Typescript) 同位素布局中找到过滤后的项目数

How to find the filtered items count from React(Typescript) isotope-layout

我正在使用 React(Typescript) 中的同位素布局库。 我能够设法过滤页面中的工作。但我不确定如何 return 过滤项目计数。

在页面加载时,我正在初始化 Isotope。

useEffect(() => {  
    isotope.current = new Isotope(".iso-filter-container", {
      itemSelector: ".iso-filter-item",
      masonry: {
        columnWidth: 50,  
        gutter: 12        
      } ,   
    });   

    // cleanup
     return () => isotope.current?.destroy();
  }, [fullcatalog]); 

onFilterChange 处理过滤器值并执行排列。

 const onFilterChange = (val : Types.SelectedFilterValue ) => {          
   var _str =  val.filterValue.map( x => ('(\|' + x + '\|)')).join('|');

   var filterFns = { 
      //match
      matches: function(itemelement : Element) {
        if(itemelement != null) {
          try{
            var strTarget : string  = itemelement.getAttribute('data-' + val.filterType.toLowerCase()) ?? '';  
             return strTarget.match(new RegExp(_str, "i"));
          }catch(e) {
            console.log(e);
          }
        }     
      },  
  };

  // use matching filter function
  let pattern : any = filterFns['matches']  || '*';    
  isotope.current?.arrange({ filter: pattern });     
 };

同位素排列后,如何获取筛选项数?

isotope.current?.getFilteredItemElements().length 似乎返回过滤项目的长度。