0

我有一个启用列排序的反应虚拟化表。我的计划是在filter icon列标题旁边添加一个,并在有人单击它时弹出 Material-UI 弹出框。

所以这就是我所做的:我启用了 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 图标时,它会消除“测试”,但也会使用表格。我怎样才能实现我想做的事情。可行吗?

谢谢

4

1 回答 1

0

Table监听可排序标题的点击。(也就是说,未标记为disableSort属于Table带有sort回调的列。)

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

或者,您也可以忽略对您的sort函数的下一次调用,但我认为这将是一个骇人听闻的解决方案。

于 2016-11-04T00:42:10.760 回答