New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

table filterIcon click the first second times will call onChange,but just the first second times ,the second second ....times will not #11164

Closed
FightingJane opened this Issue Jul 5, 2018 · 5 comments

Comments

Projects
None yet
4 participants
@FightingJane

FightingJane commented Jul 5, 2018

  • I have searched the issues of this repository and believe that this is not a duplicate.

Version

3.6.4

Environment

win7 google 版本 63.0.3239.132(正式版本)

Reproduction link

Edit on CodeSandbox

Steps to reproduce

click the filterIcon,show filterDropdown,
click the filterIcon again ,will alert('test')

What is expected?

not call onChange

What is actually happening?

call onChange


how to prevent from calling onChange?

filterDropDown.js
the judge seem to be a bit of a problem:

{
        key: 'confirmFilter',
        value: function confirmFilter() {
            if (this.state.selectedKeys !== this.props.selectedKeys) {
                this.props.confirmFilter(this.props.column, this.state.selectedKeys);
            }
        }
@adybionka

This comment has been minimized.

adybionka commented Jul 5, 2018

I've experienced the same bug and I fixed it and created pull request #11166

@adybionka

This comment has been minimized.

adybionka commented Jul 5, 2018

Some background: this bug was introduced with bug fix for these issues: #10289 and #10209.

This is fix for this bug:

        if ('selectedKeys' in nextProps && !shallowequal(this.props.selectedKeys, nextProps.selectedKeys)) {
            newState.selectedKeys = nextProps.selectedKeys;
        }

as we can see selectedKeys is updated in the state only when this.props.selectedKeys and nextProps.selectedKeys has different content. In case when both are empty objects but are not the same objects a confirmFilter prop function will be fired according to this condition: if (this.state.selectedKeys !== this.props.selectedKeys).

@FightingJane

This comment has been minimized.

FightingJane commented Jul 5, 2018

@adybionka Oh, I see. 3Q

@IssuehuntBot

This comment has been minimized.

IssuehuntBot commented Jul 10, 2018

@0maxxam0 funded this issue with $5. Visit this issue on Issuehunt

@yesmeck yesmeck closed this in 968371b Jul 24, 2018

bors bot added a commit to mozilla/delivery-console that referenced this issue Jul 25, 2018

Merge #319
319: Update dependency antd to v3.7.2 r=magopian a=renovate[bot]

This Pull Request updates dependency [antd](https://github.com/ant-design/ant-design) from `v3.7.1` to `v3.7.2`



<details>
<summary>Release Notes</summary>

### [3.7.2](https://github.com/ant-design/ant-design/releases/3.7.2)
[Compare Source](ant-design/ant-design@3.7.1...3.7.2)
- DatePicker
  - 🐞 **Fix issue resulting in year and month can not be changed in control mode.** [b9992f4](ant-design/ant-design@b9992f4)
  - 🐞 Fix warning of `getDerivedStateFromProp`. [#&#8203;11398](`ant-design/ant-design#11398) [@&#8203;yoyo837]
- Drawer
  - 🐞 Fix close animation when setting `destroyOnClose`. [#&#8203;11307](`ant-design/ant-design#11307)
  - 🐞 Fix display issue when using a `vw` value as `width`. [#&#8203;11326](`ant-design/ant-design#11326)
  - 🐞 Fix `wrapClassName` now working.
- 🐞 Fix text overflow of Tooltip. [#&#8203;11402](`ant-design/ant-design#11402) [@&#8203;weidapao]
- 🐞 Fix style issue of dark theme Menu in Layout.Header. [#&#8203;11400](`ant-design/ant-design#11400) [@&#8203;hongxuWei]
- 🐞 Fix the arrow buttons of InputNumber showing wrong positon in a fixed table. [#&#8203;11408](`ant-design/ant-design#11408)
- 🐞 Fix issue resulting in Select.Option shows wrong border radius in Select.OptGroup. [6cb6f5c](ant-design/ant-design@6cb6f5c)
- 🐞 Fix issue resulting in `onChange` was trigged twice when click the filter icon of Table. [#&#8203;11164](`ant-design/ant-design#11164) [@&#8203;adybionka]
- 🐞 Fix issue resulting title of Model.confirm shows scrollbar on Firefox. [#&#8203;11432](`ant-design/ant-design#11432)
- TypeScript
  - 🐞 Fix type definition of Radio.Group. [#&#8203;11409](`ant-design/ant-design#11409) [@&#8203;eddiemoore]
  - 🐞 Fix type definition of TreeSelect. [#&#8203;11442](`ant-design/ant-design#11442) [@&#8203;JribiBelhassen]
  - 🐞 Fix type definition of Badge. [#&#8203;11421](`ant-design/ant-design#11421) [@&#8203;zongzi531]


---


- DatePicker
  - 🐞 **修复在受控模式下不能切换年月的问题。**[b9992f4](ant-design/ant-design@b9992f4)
  - 🐞 修复在 `getDerivedStateFromProp` 的警告。[#&#8203;11398](`ant-design/ant-design#11398) [@&#8203;yoyo837]
- Drawer
  - 🐞 修复使用 `destroyOnClose` 时没有关闭动画的问题。[#&#8203;11307](`ant-design/ant-design#11307)
  - 🐞 修复 `width` 以 `vw` 为单位时的显示错误。[#&#8203;11326](`ant-design/ant-design#11326)
  - 🐞 修复 `wrapClassName` 属性无效的问题。
- 🐞 修复 Tooltip 文字溢出的问题。[#&#8203;11402](`ant-design/ant-design#11402) [@&#8203;weidapao]
- 🐞 修复 Menu 在 `theme` 为 `dark` 是在 Layout.Header 里的样式问题。[#&#8203;11400](`ant-design/ant-design#11400) [@&#8203;hongxuWei]
- 🐞 修复 InputNumber 的箭头按钮在使用了固定列的 Table 里显示错位的问题。[#&#8203;11408](`ant-design/ant-design#11408)
- 🐞 修复 Select 使用分组时 Option 的圆角显示错误。[6cb6f5c](ant-design/ant-design@6cb6f5c)
- 🐞 修复 Table 第一次点击过滤按钮的时候 `onChange` 会被触发两次的问题。[#&#8203;11164](`ant-design/ant-design#11164) [@&#8203;adybionka]
- 🐞 修复 Model.confirm 的标题在 Firefox 下会显示滚动条的问题。[#&#8203;11432](`ant-design/ant-design#11432)
- TypeScript
  - 🐞 修复 Radio.Group 类型定义。[#&#8203;11409](`ant-design/ant-design#11409) [@&#8203;eddiemoore]
  - 🐞 修复 TreeSelect 类型定义。[#&#8203;11442](`ant-design/ant-design#11442) [@&#8203;JribiBelhassen]
  - 🐞 修复 Badge 类型定义。[#&#8203;11421](`ant-design/ant-design#11421) [@&#8203;zongzi531]

---

</details>




---

This PR has been generated by [Renovate Bot](https://renovatebot.com).

Co-authored-by: Renovate Bot <bot@renovateapp.com>
@IssuehuntBot

This comment has been minimized.

IssuehuntBot commented Sep 17, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment