为了账号安全,请及时绑定邮箱和手机立即绑定

显示组件时,组件中的文本框自动获取焦点

显示组件时,组件中的文本框自动获取焦点

慕桂英4014372 2018-08-10 10:09:57
我封装了一个表单组件,其中有一个文本框。父组件通过 $broadcast('form-show') 事件,控制表单组件的显示隐藏。表单组件中有一个 <textarea> ,请问大家,如何在表单组件显示时,这个文本框自动获取焦点呢?我已经试过以下两种方法:1、给 <textarea> 添加 autofocus 属性,可是只有表单组件第一次显示时,才能自动获取焦点,隐藏之后再显示就不行了。2、在表单组件中使用events: {  'form-show': function() {    this.show = true;    this.$els.textInput.focus();    // this.$els.textInput指向<textarea> ,此方法不行   } } 下面这种: events: {  'form-show': function() {    this.show = true;    this.$nextTick(function(){    // 还是不行       this.$els.textInput.focus();     });   } }哪位朋友知道该怎么解决这个问题吗?谢谢了。
查看完整描述

1 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

嗯?如果我沒看錯的話,結構是

父組件
----表單組件
--------文本框

如果真是這樣的話,你寫得沒錯阿,懷疑是其他因素造成,例如你的 textInput 確定有拿到東西嗎?
v-el:textInput 這樣是
v-el:text-input 這樣才是

這邊是按照你代碼模擬的情況


查看完整回答
反对 回复 2018-09-23
  • 1 回答
  • 0 关注
  • 630 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信