Loading...
Loading...
Use when generating text input components in Quasar (Vue) or NiceGUI that handle Korean or CJK IME composition - prevents double-enter bugs, lagging v-model binding, and isComposing issues
npx skill4agent add fingul/vue-quasar-nicegui-ime-skill korean-ime-handlerv-modelv-model="text":model-value@input@update:model-valueevent.isComposing<template>
<q-input
:model-value="text"
@input="val => { text = val }"
@keydown.enter="handleEnter"
label="한글 입력"
/>
</template>
<script setup>
const text = ref('');
const handleEnter = (e) => {
// Prevent duplicate execution during IME composition
if (e.isComposing) return;
console.log('Submitted:', text.value);
};
</script>ui.inputon_changefrom nicegui import ui
# Use 'on' with 'input' event for real-time IME tracking
input_ui = ui.input(label='한글 입력')
input_ui.on('input', f'() => {{ {input_ui.id}.value = event.target.value }}')
# Handle Enter without double-firing
input_ui.on('keydown.enter', '''
(e) => {
if (e.isComposing) return;
// Trigger server-side logic here
}
''')isComposingkeydown.enter