|
146 | 146 | > |
147 | 147 | <v-slider |
148 | 148 | v-if="itemMeta?.slider" |
149 | | - :model-value="toNumber(modelValue)" |
150 | | - @update:model-value="val => emitUpdate(toNumber(val))" |
| 149 | + :model-value="toNumber(numericTemp ?? modelValue)" |
| 150 | + @update:model-value="val => { numericTemp = val; emitUpdate(toNumber(val)) }" |
| 151 | + @end="numericTemp = null" |
151 | 152 | :min="itemMeta?.slider?.min ?? 0" |
152 | 153 | :max="itemMeta?.slider?.max ?? 100" |
153 | 154 | :step="itemMeta?.slider?.step ?? 1" |
|
157 | 158 | style="flex: 1" |
158 | 159 | ></v-slider> |
159 | 160 | <v-text-field |
160 | | - :model-value="modelValue" |
161 | | - @update:model-value="val => emitUpdate(toNumber(val))" |
| 161 | + :model-value="numericTemp ?? modelValue" |
| 162 | + @update:model-value="val => (numericTemp = val)" |
| 163 | + @blur="() => { emitUpdate(toNumber(numericTemp)); numericTemp = null }" |
162 | 164 | density="compact" |
163 | 165 | variant="outlined" |
164 | 166 | class="config-field" |
@@ -235,8 +237,11 @@ import PersonaSelector from './PersonaSelector.vue' |
235 | 237 | import KnowledgeBaseSelector from './KnowledgeBaseSelector.vue' |
236 | 238 | import PluginSetSelector from './PluginSetSelector.vue' |
237 | 239 | import T2ITemplateEditor from './T2ITemplateEditor.vue' |
| 240 | +import { ref } from 'vue' |
238 | 241 | import { useI18n, useModuleI18n } from '@/i18n/composables' |
239 | 242 |
|
| 243 | +const numericTemp = ref(null) |
| 244 | +
|
240 | 245 | const props = defineProps({ |
241 | 246 | modelValue: { |
242 | 247 | type: [String, Number, Boolean, Array, Object], |
@@ -358,4 +363,13 @@ function getSpecialSubtype(value) { |
358 | 363 | :deep(.v-field__input) { |
359 | 364 | font-size: 14px; |
360 | 365 | } |
| 366 | +
|
| 367 | +:deep(.config-field input[type='number']::-webkit-inner-spin-button), |
| 368 | +:deep(.config-field input[type='number']::-webkit-outer-spin-button) { |
| 369 | + -webkit-appearance: none; |
| 370 | +} |
| 371 | +
|
| 372 | +:deep(.config-field input[type='number']) { |
| 373 | + -moz-appearance: textfield; |
| 374 | +} |
361 | 375 | </style> |
0 commit comments