primevue-mirror/components/lib/autocomplete/BaseAutoComplete.vue

181 lines
4.0 KiB
Vue
Raw Normal View History

2023-05-23 12:44:11 +00:00
<script>
import AutoCompleteStyle from 'primevue/autocomplete/style';
2023-05-23 12:44:11 +00:00
import BaseComponent from 'primevue/basecomponent';
export default {
name: 'BaseAutoComplete',
extends: BaseComponent,
props: {
modelValue: null,
suggestions: {
type: Array,
default: null
},
field: {
// TODO: Deprecated since v3.16.0
type: [String, Function],
default: null
},
optionLabel: null,
optionDisabled: null,
optionGroupLabel: null,
optionGroupChildren: null,
scrollHeight: {
type: String,
2024-03-26 14:21:39 +00:00
default: '14rem'
2023-05-23 12:44:11 +00:00
},
dropdown: {
type: Boolean,
default: false
},
dropdownMode: {
type: String,
default: 'blank'
},
autoHighlight: {
// TODO: Deprecated since v3.16.0. Use selectOnFocus property instead.
type: Boolean,
default: false
},
multiple: {
type: Boolean,
default: false
},
loading: {
type: Boolean,
default: false
},
2024-01-31 08:02:53 +00:00
variant: {
type: String,
2024-02-02 11:46:26 +00:00
default: null
2024-01-31 08:02:53 +00:00
},
invalid: {
type: Boolean,
default: false
},
2023-05-23 12:44:11 +00:00
disabled: {
type: Boolean,
default: false
},
placeholder: {
type: String,
default: null
},
dataKey: {
type: String,
default: null
},
minLength: {
type: Number,
default: 1
},
delay: {
type: Number,
default: 300
},
appendTo: {
type: [String, Object],
2023-05-23 12:44:11 +00:00
default: 'body'
},
forceSelection: {
type: Boolean,
default: false
},
completeOnFocus: {
type: Boolean,
default: false
},
inputId: {
type: String,
default: null
},
inputStyle: {
type: Object,
default: null
},
inputClass: {
type: [String, Object],
default: null
},
panelStyle: {
type: Object,
default: null
},
panelClass: {
type: [String, Object],
default: null
},
dropdownIcon: {
type: String,
default: undefined
},
dropdownClass: {
type: [String, Object],
default: null
},
loadingIcon: {
type: String,
default: undefined
},
removeTokenIcon: {
type: String,
default: undefined
},
virtualScrollerOptions: {
type: Object,
default: null
},
autoOptionFocus: {
type: Boolean,
default: false
2023-05-23 12:44:11 +00:00
},
selectOnFocus: {
type: Boolean,
default: false
},
focusOnHover: {
type: Boolean,
default: true
},
2023-05-23 12:44:11 +00:00
searchLocale: {
type: String,
default: undefined
},
searchMessage: {
type: String,
default: null
},
selectionMessage: {
type: String,
default: null
},
emptySelectionMessage: {
type: String,
default: null
},
emptySearchMessage: {
type: String,
default: null
},
tabindex: {
type: Number,
default: 0
},
2023-11-24 12:21:54 +00:00
ariaLabel: {
2023-05-23 12:44:11 +00:00
type: String,
default: null
},
2023-11-24 12:21:54 +00:00
ariaLabelledby: {
2023-05-23 12:44:11 +00:00
type: String,
default: null
}
},
style: AutoCompleteStyle,
provide() {
return {
$parentInstance: this
};
2023-05-23 12:44:11 +00:00
}
};
</script>