1 <el-form class="user-form" ref="ruleFormRef" :model="userForm" status-icon :rules="rules"> 2 <el-form-item label="原密碼" prop="oldPass"> 3 <el-input type="password" v-model="userForm.oldPass" auto-complete="off"></el-input> 4 </el-form-item> 5 <el-form-item label="新密碼" prop="pass"> 6 <el-input type="password" v-model="userForm.pass" auto-complete="off"></el-input> 7 </el-form-item> 8 <el-form-item label="確認密碼" prop="checkPass"> 9 <el-input type="password" v-model="userForm.checkPass" auto-complete="off"></el-input> 10 </el-form-item> 11 <el-form-item> 12 <el-button type="primary" @click="changePassword('userForm')">修改密碼</el-button> 13 </el-form-item> 14 </el-form>
由於composition api采用函數組合方式編程,無法使用 this 訪問vue實例,故無法使用 this.$refs.ruleFormRef 訪問form表單。
可在 setup 中聲明一個具有相同 ruleFormRef 名稱的 ref ,初始化為 null :
1 export default { 2 setup(props) { 3 // Refs 4 const ruleFormRef= ref(null); 5 6 // Hooks 7 onMounted(() => { 8 console.log("ruleFormRef: ", ruleFormRef.value); 9 }); 10 11 return { 12 ruleFormRef 13 }; 14 } 15 };
現在你可以通過 ruleFormRef.value 訪問form表單。
