Skip to content

Commit

Permalink
fix(Message): can`t close after click
Browse files Browse the repository at this point in the history
selectMode = 'multiple'
fixed #662
  • Loading branch information
myronliu347 committed May 22, 2019
1 parent 7453424 commit 53fe94d
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/menu-button/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ class MenuButton extends React.Component {
/**
* 菜单的选择模式,同 Menu
*/
selectMode: PropTypes.string,
selectMode: PropTypes.oneOf(['single', 'multiple']),
/**
* 点击菜单项后的回调,同 Menu
*/
Expand Down Expand Up @@ -119,7 +119,14 @@ class MenuButton extends React.Component {
}

clickMenuItem = (key, ...others) => {
const { selectMode } = this.props;

this.props.onItemClick(key, ...others);

if (selectMode === 'multiple') {
return;
}

this.onPopupVisibleChange(false, 'menuSelect');
};

Expand Down
14 changes: 14 additions & 0 deletions test/menu-button/index-spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from 'react';
import Enzyme, { mount } from 'enzyme';
import sinon from 'sinon';
import Adapter from 'enzyme-adapter-react-16';
import assert from 'power-assert';
import MenuButton from '../../src/menu-button/index';
Expand Down Expand Up @@ -107,5 +108,18 @@ describe('MenuButton', () => {
.hasClass('next-selected')
);
});

it('should mulitple select can`t close', () => {
const onVisibleChange = sinon.spy();
const onItemClick = sinon.spy();
const wrapper = mount(
<MenuButton onVisibleChange={onVisibleChange} onItemClick={onItemClick} label="hello world" defaultVisible selectMode="multiple">
{menu}
</MenuButton>
);
wrapper.find('li[title="b"][role="listitem"]').simulate('click');
assert(onItemClick.calledOnce);
assert(onVisibleChange.notCalled);
})
});
});

0 comments on commit 53fe94d

Please sign in to comment.