diff --git a/src/components/select/functional-options.vue b/src/components/select/functional-options.vue new file mode 100644 index 00000000..a3197096 --- /dev/null +++ b/src/components/select/functional-options.vue @@ -0,0 +1,29 @@ + + diff --git a/src/components/select/option.vue b/src/components/select/option.vue index 0733bb80..749bb0cd 100644 --- a/src/components/select/option.vue +++ b/src/components/select/option.vue @@ -1,5 +1,5 @@ - {{ showLabel }} + {{ showLabel }} diff --git a/src/components/select/select-head.vue b/src/components/select/select-head.vue new file mode 100644 index 00000000..f617ca5b --- /dev/null +++ b/src/components/select/select-head.vue @@ -0,0 +1,196 @@ + + + + {{ item.label }} + + + {{ singleDisplayValue }} + + + + + + diff --git a/src/components/select/select.vue b/src/components/select/select.vue index 7a8ea3fd..ba98364f 100644 --- a/src/components/select/select.vue +++ b/src/components/select/select.vue @@ -1,38 +1,50 @@ + v-click-outside.capture="onClickOutside" + > + + :class="selectionCls" + :tabindex="selectTabindex" + + @blur="toggleHeaderFocus" + @focus="toggleHeaderFocus" + + @click="toggleMenu" + @keydown.esc="handleKeydown" + @keydown.enter="handleKeydown" + @keydown.up="handleKeydown" + @keydown.down="handleKeydown" + @keydown.tab="handleKeydown" + @keydown.delete="handleKeydown" + + + @mouseenter="hasMouseHoverHead = true" + @mouseleave="hasMouseHoverHead = false" + + > - - - {{ item.label }} - - - {{ localePlaceholder }} - {{ selectedSingle }} - + - - + :remote="remote" + :input-element-id="elementId" + :initial-label="initialLabel" + :placeholder="placeholder" + :query-prop="query" + + @on-query-change="onQueryChange" + @on-input-focus="isFocused = true" + @on-input-blur="isFocused = false" + + ref="selectHead" + /> @@ -42,9 +54,17 @@ :placement="placement" ref="dropdown" :data-transfer="transfer" - v-transfer-dom> - {{ localeNotFoundText }} - + v-transfer-dom + > + {{ localeNotFoundText }} + + + {{ localeLoadingText }} @@ -53,20 +73,32 @@