我有一个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时,它会安排“测试”。还可以对表进行调整。我怎样才能实现我想做的事情。它可行吗?
由于
答案 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解决方案。