Skip to content

Commit 76b33cd

Browse files
committed
fix: selectAll should not select option twice
1 parent d1e7fd3 commit 76b33cd

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

src/composables/useOptions.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ export default function useOptions (props, context, dep)
523523
return
524524
}
525525

526-
select(fo.value.filter(o => !o.disabled))
526+
select(fo.value.filter(o => !o.disabled && !isSelected(o)))
527527
}
528528

529529
// no export

tests/unit/composables/useOptions.spec.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1541,6 +1541,25 @@ describe('useOptions', () => {
15411541

15421542
expect(getValue(select)).toStrictEqual([1,3])
15431543
})
1544+
1545+
it('should not select an option twice', async () => {
1546+
let select = createSelect({
1547+
mode: 'tags',
1548+
hideSelected: false,
1549+
options: [
1550+
{ label: 1, value: 1, },
1551+
{ label: 2, value: 2, disabled: true, },
1552+
{ label: 3, value: 3, },
1553+
],
1554+
value: [1],
1555+
})
1556+
1557+
select.vm.selectAll()
1558+
1559+
await nextTick()
1560+
1561+
expect(getValue(select)).toStrictEqual([1,3])
1562+
})
15441563
})
15451564

15461565
describe('isSelected', () => {

0 commit comments

Comments
 (0)