該代碼示例用于 Vue3 組合 API 處理注冊表單。目的是在按下按鈕后禁用按鈕,直到單曲代碼(省略)僅被呼叫一次。
為什么submitButton.value使用與只是submitButton?
setup() {
const submitButton = ref<HTMLButtonElement | null>(null);
//Form submit function
const onSubmitLogin = (values) => {
//Disable button
/* eslint-disable @typescript-eslint/no-non-null-assertion */
submitButton.value!.disabled = true;
}
uj5u.com熱心網友回復:
submitButton是一個ref物件,它具有一個名為value的具有實際元素的單個屬性。
所以這:
submitButton.disabled = true
是型別錯誤,因為 ref 沒有名為 的屬性disabled。
這在哪里:
submitButton.value!.disabled = true;
獲取 ref (an HTMLButtonElement) 的值并設定該disabled按鈕的屬性。
在檔案中閱讀有關 refs 的更多資訊:https ://vuejs.org/api/reactivity-core.html#ref
最后,您可以避免通過以下方式使該警告靜音:
submitButton.value && (submitButton.value.disabled = true)
在這里,您僅在值存在時分配屬性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/434610.html
標籤:javascript 打字稿 Vue.js
