diff --git a/src/components/dropdown/Dropdown.d.ts b/src/components/dropdown/Dropdown.d.ts
index 17105ce3d2..9fbcdb9d31 100755
--- a/src/components/dropdown/Dropdown.d.ts
+++ b/src/components/dropdown/Dropdown.d.ts
@@ -25,6 +25,7 @@ export declare class Dropdown extends Vue {
$emit(eventName: 'before-leave'): this;
$emit(eventName: 'show'): this;
$emit(eventName: 'hide'): this;
+ $emit(eventName: 'filter', e: { originalEvent: Event, value: string }): this;
$slot: {
option: VNode[];
}
diff --git a/src/components/dropdown/Dropdown.vue b/src/components/dropdown/Dropdown.vue
index cf1b9fcdbb..766b48ed4b 100755
--- a/src/components/dropdown/Dropdown.vue
+++ b/src/components/dropdown/Dropdown.vue
@@ -19,7 +19,7 @@
@@ -407,6 +407,9 @@ export default {
else
document.getElementById(this.appendTo).removeChild(this.$refs.overlay);
}
+ },
+ onFilterChange(event) {
+ this.$emit('filter', {originalEvent: event, value: event.target.value});
}
},
computed: {
diff --git a/src/components/listbox/Listbox.d.ts b/src/components/listbox/Listbox.d.ts
index e50df407fb..b53a83b061 100755
--- a/src/components/listbox/Listbox.d.ts
+++ b/src/components/listbox/Listbox.d.ts
@@ -17,6 +17,7 @@ export declare class Listbox extends Vue {
ariaLabelledBy?: string;
$emit(eventName: 'input', value: any): this;
$emit(eventName: 'change', e: { originalEvent: Event, value: any }): this;
+ $emit(eventName: 'filter', e: { originalEvent: Event, value: string }): this;
$slots: {
option: VNode[];
}
diff --git a/src/components/listbox/Listbox.vue b/src/components/listbox/Listbox.vue
index 6dc9408354..9f6bf41da5 100755
--- a/src/components/listbox/Listbox.vue
+++ b/src/components/listbox/Listbox.vue
@@ -2,7 +2,7 @@
@@ -216,6 +216,9 @@ export default {
return DomHandler.hasClass(prevItem, 'p-disabled') ? this.findPrevItem(prevItem) : prevItem;
else
return null;
+ },
+ onFilterChange(event) {
+ this.$emit('filter', {originalEvent: event, value: event.target.value});
}
},
computed: {
diff --git a/src/components/multiselect/MultiSelect.d.ts b/src/components/multiselect/MultiSelect.d.ts
index 2d4a3d189e..5e32fcba1f 100755
--- a/src/components/multiselect/MultiSelect.d.ts
+++ b/src/components/multiselect/MultiSelect.d.ts
@@ -23,6 +23,7 @@ export declare class MultiSelect extends Vue {
$emit(eventName: 'before-leave'): this;
$emit(eventName: 'show'): this;
$emit(eventName: 'hide'): this;
+ $emit(eventName: 'filter', e: { originalEvent: Event, value: string }): this;
$slots: {
value: VNode[];
option: VNode[];
diff --git a/src/components/multiselect/MultiSelect.vue b/src/components/multiselect/MultiSelect.vue
index 347fc29087..4c249175df 100755
--- a/src/components/multiselect/MultiSelect.vue
+++ b/src/components/multiselect/MultiSelect.vue
@@ -26,7 +26,7 @@