我正在為我的登錄表單制作輸入組件,而不是每次需要時都創建輸入標簽。但是,我想在 @input 事件中保存輸入值,這是我之前(當我沒有組件時)所做的事情,這要歸功于 refs(通過撰寫 ref.value.value)
但是現在,我不能只在我的輸入中添加 ref,因為它們是組件而不是 html 標記。我該如何解決?:(我需要他們的正則運算式測驗值
在我的輸入之前/之后
之前 之后
謝謝你的幫助
uj5u.com熱心網友回復:
您可以嘗試這種方式(我使用了 Vue3 Composition API 腳本設定):
看看我在這里設定的游樂場!
父組件:
<template>
<Comp v-model="myData.field" />
<br />
{{ myData.field }}
</template>
<script setup>
import { ref } from 'vue'
import Comp from './Comp.vue'
const myData = ref({
field: 'something',
})
</script>
自定義輸入子組件:
<template>
<input
type="text"
@input="$emit('update:modelValue', $event.target.value)"
:value="modelValue"
/>
</template>
<script setup>
defineProps(['modelValue'])
defineEmits(['update:modelValue'])
</script>
相關檔案:
- https://vuejs.org/guide/components/props.html
- https://vuejs.org/api/options-state.html#emits
uj5u.com熱心網友回復:
將 ref 作為 prop 傳遞,并在輸入標簽中放置 ref。
<InputComponent refProp="email" />
<input :ref="refProp" >
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/516264.html
