2
0
mirror of https://github.com/tenrok/vue-select.git synced 2026-06-07 07:12:23 +03:00

feat(clearsearchonblur): add clearSearchOnBlur prop (#1077)

Add docs, update tests from #1060.
This commit is contained in:
Jeff Sagal
2020-03-01 16:31:21 -08:00
committed by GitHub
parent 33104b5380
commit 207c6d1cb6
2 changed files with 22 additions and 9 deletions
+13
View File
@@ -120,6 +120,19 @@ clearSearchOnSelect: {
},
```
## clearSearchOnBlur
Enables/disables clearing the search text when the search input is blurred.
```js
clearSearchOnBlur: {
type: Function,
default: function ({ clearSearchOnSelect, multiple }) {
return clearSearchOnSelect && !multiple
}
},
```
## closeOnSelect
Close a dropdown when an option is chosen. Set to false to keep the dropdown
+9 -9
View File
@@ -112,28 +112,28 @@ describe("Reset on options change", () => {
expect(Select.vm.selectedValue).toEqual([{ label: "oneLabel", value: "one" }]);
});
it('default behavior when blur search field is to clean it.', () => {
it('clearSearchOnBlur returns false when multiple is true', () => {
const Select = mountDefault({});
let clearSearchOnBlur = jest.spyOn(Select.vm, 'clearSearchOnBlur');
Select.find({ ref: "search" }).trigger("click");
Select.setData({ search: "one" });
Select.find({ ref: "search" }).trigger("blur");
Select.find({ref: 'search'}).trigger('click');
Select.setData({search: 'one'});
Select.find({ref: 'search'}).trigger('blur');
expect(clearSearchOnBlur).toHaveBeenCalledTimes(1);
expect(clearSearchOnBlur).toHaveBeenCalledWith({
clearSearchOnSelect: true,
multiple: false
multiple: false,
});
expect(Select.vm.search).toBe('');
});
it('control behavior when blur search field.', () => {
it('clearSearchOnBlur accepts a function', () => {
let clearSearchOnBlur = jest.fn(() => false);
const Select = mountDefault({clearSearchOnBlur});
Select.find({ ref: "search" }).trigger("click");
Select.setData({ search: "one" });
Select.find({ ref: "search" }).trigger("blur");
Select.find({ref: 'search'}).trigger('click');
Select.setData({search: 'one'});
Select.find({ref: 'search'}).trigger('blur');
expect(clearSearchOnBlur).toHaveBeenCalledTimes(1);
expect(Select.vm.search).toBe('one');