plugin-ui-for-kzt 0.0.61 → 0.0.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/BaseCalendar/BaseCalendar.vue.d.ts +1 -1
- package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +1 -1
- package/dist/components/BaseInput/BaseInput.vue.d.ts +2 -2
- package/dist/components/BaseInputCalendar/BaseInputCalendar.vue.d.ts +4 -4
- package/dist/components/BaseInputCurrency/BaseInputCurrency.vue.d.ts +3 -3
- package/dist/components/BaseInputEmail/BaseInputEmail.vue.d.ts +2 -2
- package/dist/components/BaseInputPhone/BaseInputPhone.vue.d.ts +2 -2
- package/dist/components/BaseInputWithSelector/BaseInputWithSelector.vue.d.ts +1 -1
- package/dist/components/BaseRadio/BaseRadio.vue.d.ts +1 -1
- package/dist/components/BaseSelect/BaseSelect.vue.d.ts +9 -0
- package/dist/components/BaseSiteInput/BaseSiteInput.vue.d.ts +1 -1
- package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +2 -2
- package/dist/components/BaseToggle/BaseToggle.vue.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/components/BaseSelect/BaseSelect.vue +10 -3
- package/src/components/BaseSelect/README.md +4 -0
- package/src/types/input.d.ts +1 -0
package/package.json
CHANGED
|
@@ -166,6 +166,7 @@ const props = withDefaults( defineProps<ICoreSelectProps & {
|
|
|
166
166
|
options: () => [] as ICoreSelectOption[],
|
|
167
167
|
size: 'medium',
|
|
168
168
|
searchable: false,
|
|
169
|
+
clearOnSelect: false,
|
|
169
170
|
} );
|
|
170
171
|
|
|
171
172
|
const emit = defineEmits<{
|
|
@@ -199,13 +200,19 @@ watch( () => props.modelValue, ( val ) => {
|
|
|
199
200
|
}
|
|
200
201
|
}, { immediate: true } );
|
|
201
202
|
|
|
202
|
-
function handleInput( value: TSelectValue ) {
|
|
203
|
+
function handleInput( value: TSelectValue, isOptionSelection = false ) {
|
|
203
204
|
if ( props.readonly || props.disabled ) {
|
|
204
205
|
return;
|
|
205
206
|
}
|
|
206
207
|
actualValue.value = value;
|
|
207
208
|
emit( 'update:modelValue', value );
|
|
208
209
|
emit( 'change', value );
|
|
210
|
+
|
|
211
|
+
if ( props.clearOnSelect && isOptionSelection ) {
|
|
212
|
+
actualValue.value = '';
|
|
213
|
+
emit( 'update:modelValue', '' );
|
|
214
|
+
}
|
|
215
|
+
|
|
209
216
|
dropdownVisible.value = false;
|
|
210
217
|
searchQuery.value = '';
|
|
211
218
|
}
|
|
@@ -226,7 +233,7 @@ function handleInputChange( event: Event ) {
|
|
|
226
233
|
);
|
|
227
234
|
|
|
228
235
|
if ( exactMatch ) {
|
|
229
|
-
handleInput( exactMatch.id );
|
|
236
|
+
handleInput( exactMatch.id, true );
|
|
230
237
|
return;
|
|
231
238
|
}
|
|
232
239
|
|
|
@@ -295,7 +302,7 @@ const listItemAttrs = computed( () => ( item: ICoreSelectOption ) => ({
|
|
|
295
302
|
style: item.style,
|
|
296
303
|
disabled: item.disabled,
|
|
297
304
|
class: 'base-select__item',
|
|
298
|
-
onClick: () => handleInput( item.id ),
|
|
305
|
+
onClick: () => handleInput( item.id, true ),
|
|
299
306
|
}) );
|
|
300
307
|
|
|
301
308
|
const classList = computed( () => [
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
v-model="selectedEmployee"
|
|
31
31
|
:options="employeeOptions"
|
|
32
32
|
searchable
|
|
33
|
+
clear-on-select
|
|
33
34
|
placeholder="Найти сотрудника..."
|
|
34
35
|
label="Выберите сотрудника"
|
|
35
36
|
:error="employeeError"
|
|
@@ -158,6 +159,9 @@ const handleSearchError = () => {
|
|
|
158
159
|
- `searchable?: boolean`
|
|
159
160
|
**Включает режим поиска. При `true` заменяет обычный заголовок на поле ввода для поиска. Идеально подходит для server-side поиска больших наборов данных.
|
|
160
161
|
|
|
162
|
+
- `clearOnSelect?: boolean`
|
|
163
|
+
Очищает текущее значение после выбора опции. При этом событие `change` получает выбранный `id`, а `v-model` возвращается в пустое значение.
|
|
164
|
+
|
|
161
165
|
- `multiple?: boolean`
|
|
162
166
|
Поддержка множественного выбора (не реализовано в текущем компоненте, зарезервировано).
|
|
163
167
|
|