UNPKG

th-vue-material

Version:
59 lines (58 loc) 1.33 kB
export default { props: { debounce: { type: Number, default: 1E3 }, disabled: Boolean, fetch: { type: Function }, filterList: Function, list: { type: Array, default() { return []; } }, minChars: { type: Number, default: 1 }, name: String, prepareResponseData: Function, printAttribute: { type: String, default: 'name' }, queryParam: { type: String, default: 'q' }, required: Boolean }, methods: { onFocus() { if (this.parentContainer) { this.parentContainer.isFocused = true; } }, onBlur() { this.parentContainer.isFocused = false; this.setParentValue(); }, verifyProps() { if (!this.parentContainer) { return this.throwErrorDestroy('You should wrap the md-input in a md-input-container'); } else if (this.listIsEmpty && this.filterList) { return this.throwErrorDestroy('You should use a `filterList` function prop with the `list` prop'); } else if (!this.fetch && this.listIsEmpty) { return this.throwErrorDestroy('You should use a `fetch` function prop'); } }, throwErrorDestroy(errorMessage) { this.$destroy(); throw new Error(errorMessage); } } };