Skip to content

Commit

Permalink
fix(module:cascader): should not change on hover work (#1991)
Browse files Browse the repository at this point in the history
close #1966
  • Loading branch information
shuizhongxiong authored and hsuanxyz committed Aug 19, 2018
1 parent a5d631d commit 577ae47
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 14 deletions.
3 changes: 2 additions & 1 deletion components/cascader/nz-cascader.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1082,7 +1082,8 @@ export class NzCascaderComponent implements OnInit, OnDestroy, ControlValueAcces
this.clearDelaySelectTimer();
if (doSelect) {
this.delaySelectTimer = setTimeout(() => {
this.setActiveOption(option, index, true);
// 鼠标滑入只展开,不进行选中操作
this.setActiveOption(option, index);
this.delaySelectTimer = null;
}, 150);
}
Expand Down
18 changes: 5 additions & 13 deletions components/cascader/nz-cascader.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1176,7 +1176,7 @@ describe('cascader', () => {
expect(overlayContainerElement.querySelectorAll('.ant-cascader-menu').length).toBe(0); // 0列
expect(testComponent.cascader.isMenuVisible()).toBe(false);
}));
it('should change on hover work', fakeAsync(() => {
it('should not change on hover work', fakeAsync(() => {
testComponent.nzChangeOnSelect = true;
testComponent.nzExpandTrigger = 'hover';
fixture.detectChanges();
Expand All @@ -1199,9 +1199,7 @@ describe('cascader', () => {
expect(testComponent.cascader.isMenuVisible()).toBe(true);
expect(itemEl1.classList).toContain('ant-cascader-menu-item-active');
expect(overlayContainerElement.querySelectorAll('.ant-cascader-menu').length).toBe(2); // 2列
expect(testComponent.values).toBeDefined();
expect(testComponent.values.length).toBe(1);
expect(testComponent.values[ 0 ]).toBe('zhejiang');
expect(testComponent.values).toBeNull(); // mouseenter does not trigger selection

const itemEl2 = overlayContainerElement.querySelector('.ant-cascader-menu:nth-child(2) .ant-cascader-menu-item:nth-child(1)') as HTMLElement; // 第2列第1个
expect(itemEl1.classList).toContain('ant-cascader-menu-item-active');
Expand All @@ -1215,10 +1213,7 @@ describe('cascader', () => {
expect(itemEl1.classList).toContain('ant-cascader-menu-item-active');
expect(itemEl2.classList).toContain('ant-cascader-menu-item-active');
expect(overlayContainerElement.querySelectorAll('.ant-cascader-menu').length).toBe(3); // 3列
expect(testComponent.values).toBeDefined();
expect(testComponent.values.length).toBe(2);
expect(testComponent.values[ 0 ]).toBe('zhejiang');
expect(testComponent.values[ 1 ]).toBe('hangzhou');
expect(testComponent.values).toBeNull(); // mouseenter does not trigger selection

const itemEl3 = overlayContainerElement.querySelector('.ant-cascader-menu:nth-child(3) .ant-cascader-menu-item:nth-child(1)') as HTMLElement; // 第3列第1个
expect(itemEl1.classList).toContain('ant-cascader-menu-item-active');
Expand All @@ -1229,17 +1224,14 @@ describe('cascader', () => {
tick(200);
fixture.detectChanges();

expect(testComponent.values).toBeDefined();
expect(testComponent.values.length).toBe(2);
expect(testComponent.values[ 0 ]).toBe('zhejiang');
expect(testComponent.values[ 1 ]).toBe('hangzhou');
expect(testComponent.values).toBeNull(); // mouseenter does not trigger selection

itemEl3.click();
fixture.detectChanges();
tick(200);
fixture.detectChanges();

expect(testComponent.values).toBeDefined();
expect(testComponent.values).toBeDefined(); // click trigger selection
expect(testComponent.values.length).toBe(3);
expect(testComponent.values[ 0 ]).toBe('zhejiang');
expect(testComponent.values[ 1 ]).toBe('hangzhou');
Expand Down

0 comments on commit 577ae47

Please sign in to comment.