我封裝了一個表單組件,其中有一個文本框。父組件通過 $broadcast('form-show') 事件,控制表單組件的顯示隱藏。表單組件中有一個 <textarea> ,請問大家,如何在表單組件顯示時,這個文本框自動獲取焦點呢?我已經(jīng)試過以下兩種方法: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();
});
}
}哪位朋友知道該怎么解決這個問題嗎?謝謝了。
顯示組件時,組件中的文本框自動獲取焦點
慕桂英4014372
2018-08-10 10:09:57