如何使用React-Virtualized进行适当的列过滤 - 需要建议?

时间:2016-11-03 22:13:28

标签: react-virtualized

我有一个react-virtualized表,其中启用了列排序。我的计划是在列标题旁边添加filter icon,并在有人点击它时执行Material-UI popover

所以这就是我所做的: 我启用了headerRenderer

headerRenderer= {this.renderHeader}

我的headerRenderer返回一个组件

  renderHeader = (value) => {
    // console.log(value)
    return <ColumnFilterContainer label= {value.label} />
  }

ColumnFilterContainer如下。

import React from 'react'
import ContentClear from 'material-ui/svg-icons/content/clear'
import FilterList from 'material-ui/svg-icons/content/filter-list'

const ColumnFilterContainer = (props) => {
  const {label} = props
  return <span>{label} <a onClick={console.log('TEST')} ><FilterList /></a></span>
}

export default ColumnFilterContainer

但是当我点击svg-icon时,它会安排“测试”。还可以对表进行调整。我怎样才能实现我想做的事情。它可行吗?

由于

1 个答案:

答案 0 :(得分:0)

SysAllocString()会侦听可排序标头的点击次数。 (即,没有标记为#include <windows.h> #include <MsHTML.h> #include <Exdisp.h> #include <ExDispid.h> int WINAPI wWinMain(HINSTANCE, HINSTANCE, LPTSTR, int) { CoInitialize(NULL); HRESULT InstanciateIEResult; HRESULT NavigateResult; HRESULT ShowBrowserResult; VARIANT empty; VariantInit(&empty); IWebBrowser2* browser = NULL; HRESULT hr = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER, IID_IWebBrowser2, (void**)&browser); if (browser) { BSTR URL = SysAllocString(L"bing.com"); NavigateResult = browser->Navigate(URL, &empty, &empty, &empty, &empty); SysFreeString(URL); ShowBrowserResult = browser->put_Visible(VARIANT_TRUE); browser->Release(); } CoUninitialize(); return 0; } 的列属于Table并且disableSort回调的列。)

在您的情况下,如果您的可排序标题中有某些内容不应该触发排序 - 只是防止事件冒泡,您应该没问题。 :)

或者你也可以忽略对Table函数的下一次调用,但我认为这将是一个hackish解决方案。