请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

在composition API中不用getCurrentInstance 获取this是不是就不能绑定表单?

//==重置查询==    
const handleReset=()=>{ 
ctx.$refs.form.resetFields()
}

看网上说用getCurrentInstance 获取ctx只能在测试环境下使用,有没有办法不用ctx也能在composition API里绑定表单

正在回答

3回答

Lemon甜橙君 回答的是正确的答案,如果不通过ctx的话,用ref也可以达到同样的效果。

1、<el-form ref="validateForm"></el-form>

2、setup中 定义 const validateForm = ref(null) 

3、return {validateForm} ,切记一定要return回去

4、validateForm.value.resetFields()

0 回复 有任何疑惑可以回复我~
  • 提问者 小菜鸡冲冲冲 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2021-06-04 22:30:20
  • 提问者 小菜鸡冲冲冲 #2
    使用getCurrentInstance 导入proxy替代ctx也可以,请问这样有什么区别嘛
    回复 有任何疑惑可以回复我~ 2021-06-04 22:35:35
  • Lemon甜橙君 回复 提问者 小菜鸡冲冲冲 #3
    ctx不能在生产环境使用,生产环境只能用proxy
    回复 有任何疑惑可以回复我~ 2021-06-21 21:40:04
Lemon甜橙君 2021-05-27 10:52:42

比如<el-form ref="validateForm"></el-form>,在setup中 const validateForm = ref(null) 然后return {validateForm}即可,调用的时候使用validateForm.value.resetFields()即可

1 回复 有任何疑惑可以回复我~
慕盖茨3042173 2021-12-29 21:32:29

用proxy代替ctx可以达到一样的效果,不知道会不会有什么坑

0 回复 有任何疑惑可以回复我~
  • ctx目前已经废弃
    回复 有任何疑惑可以回复我~ 2021-12-29 21:34:13
  • 所以老师您课程中所有使用ctx的地方是否应该都改成proxy?这是第一个问题,第二个问题是:比起在vue3中使用proxy,是不是有更好的办法规避vue2中使用this的思维方式,比如:将main.js中全局挂载api的方式改为封装一个单独的js模块后(比如http.js),导出export给别的文件import使用的方式更好呢?
    回复 有任何疑惑可以回复我~ 2022-07-14 15:21:46
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信