primevue-mirror/components/lib/dropdown/BaseDropdown.vue

182 lines
4.0 KiB
Vue
Raw Normal View History

2023-05-23 09:13:26 +00:00
<script>
import BaseComponent from 'primevue/basecomponent';
import DropdownStyle from 'primevue/dropdown/style';
2023-05-23 09:13:26 +00:00
export default {
name: 'BaseDropdown',
extends: BaseComponent,
props: {
modelValue: null,
options: Array,
2023-08-01 05:29:19 +00:00
optionLabel: [String, Function],
optionValue: [String, Function],
optionDisabled: [String, Function],
optionGroupLabel: [String, Function],
optionGroupChildren: [String, Function],
2023-05-23 09:13:26 +00:00
scrollHeight: {
type: String,
default: '200px'
},
filter: Boolean,
filterPlaceholder: String,
filterLocale: String,
filterMatchMode: {
type: String,
default: 'contains'
},
filterFields: {
type: Array,
default: null
},
editable: Boolean,
placeholder: {
type: String,
default: null
},
disabled: {
type: Boolean,
default: false
},
dataKey: null,
showClear: {
type: Boolean,
default: false
},
inputId: {
type: String,
default: null
},
inputClass: {
type: [String, Object],
default: null
},
inputStyle: {
type: Object,
default: null
},
inputProps: {
type: null,
default: null
},
panelClass: {
type: [String, Object],
default: null
},
panelStyle: {
type: Object,
default: null
},
panelProps: {
type: null,
default: null
},
filterInputProps: {
type: null,
default: null
},
clearIconProps: {
type: null,
default: null
},
appendTo: {
type: [String, Object],
2023-05-23 09:13:26 +00:00
default: 'body'
},
loading: {
type: Boolean,
default: false
},
clearIcon: {
type: String,
default: undefined
},
dropdownIcon: {
type: String,
default: undefined
},
filterIcon: {
type: String,
default: undefined
},
loadingIcon: {
type: String,
default: undefined
},
resetFilterOnHide: {
type: Boolean,
default: false
},
resetFilterOnClear: {
type: Boolean,
default: false
},
2023-05-23 09:13:26 +00:00
virtualScrollerOptions: {
type: Object,
default: null
},
autoOptionFocus: {
type: Boolean,
default: false
2023-05-23 09:13:26 +00:00
},
autoFilterFocus: {
type: Boolean,
default: false
},
selectOnFocus: {
type: Boolean,
default: false
},
focusOnHover: {
type: Boolean,
default: true
},
highlightOnSelect: {
type: Boolean,
2024-01-24 11:26:29 +00:00
default: true
},
2024-01-24 12:30:47 +00:00
checkmark: {
type: Boolean,
2024-01-24 11:26:29 +00:00
default: false
},
2023-05-23 09:13:26 +00:00
filterMessage: {
type: String,
default: null
},
selectionMessage: {
type: String,
default: null
},
emptySelectionMessage: {
type: String,
default: null
},
emptyFilterMessage: {
type: String,
default: null
},
emptyMessage: {
type: String,
default: null
},
tabindex: {
type: Number,
default: 0
},
ariaLabel: {
2023-05-23 09:13:26 +00:00
type: String,
default: null
},
ariaLabelledby: {
2023-05-23 09:13:26 +00:00
type: String,
default: null
}
},
style: DropdownStyle,
provide() {
return {
$parentInstance: this
};
2023-05-23 09:13:26 +00:00
}
};
</script>