在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue element.ui 表單組件如何自動(dòng)聚焦

vue element.ui 表單組件如何自動(dòng)聚焦

理想效果是全鍵盤式操作,所以需要打開彈窗時(shí),焦點(diǎn)自動(dòng)聚焦在彈窗中的表單組件上
嘗試過.focus()事件,onfocus屬性,autofocus等方法,都沒有成功,可能和element.ui的組件封裝有關(guān)系,望大神能回答一下,謝謝了

回答
編輯回答
敢試

https://jsfiddle.net/L8zdcasb/1/

這個(gè)同學(xué)有沒有認(rèn)真看文檔,文檔隨便搜索一下 focus 都能看到一大堆相關(guān)內(nèi)容

http://element-cn.eleme.io/#/...

2017年11月19日 12:59
編輯回答
扯不斷

現(xiàn)在來回答一下我之前提出的問題,我現(xiàn)在做的項(xiàng)目,常見的一個(gè)彈窗,第一個(gè)插件通常是input/radio-button/datePicker之類的,如果是用Jquery方式獲取元素,那就是寫一個(gè)id,然后用jquery獲取,這個(gè)就不過多說了。由于項(xiàng)目需要,我用的是vue 的ref方式,其實(shí)和id也差不多,假定ref為dialogItem,一般input的獲取方式通常是this.$refs.dialogItem.$refs.input.focus(),radio-button的獲取方式是this.$refs.dialogItem.focus(),如果是datePicker,type為date時(shí)可以使用鍵盤方向鍵操作選擇日期,如果type為daterange,就不能用鍵盤操作,這時(shí)候可以直接將焦點(diǎn)定在插件上,但是這樣會(huì)打開日期選擇器,面積太大,會(huì)遮擋其他的內(nèi)容,所以可以將dialog的title用span提出來寫,寫一個(gè)input在span里,將他的opacity設(shè)為0,用第一種方式將焦點(diǎn)定在這個(gè)input上,但是這樣有一個(gè)問題是用戶在打開彈窗后需要按兩下tab鍵才能將焦點(diǎn)定到頁面的第一個(gè)插件上,存在一定的問題。如果有其他類型的元素,可以先console一下this.$refs.dialogItem,看看$refs里面有什么,和有沒有focus方法。以上的方法都是寫在this.$nextTick()里的,dialog的加載有一定的延遲,如果不進(jìn)行異步操作,則無法選中元素。

2017年12月23日 18:44
編輯回答
舊顏
 mounted(){
     let inputelement=document.getElementById('user')
     inputelement.focus()
   }

給你的要聚焦el-input加一個(gè)id,假設(shè)是id為user,然后在mounted中寫上面的代碼就自動(dòng)獲得焦點(diǎn),已經(jīng)測試可行

2017年4月8日 01:09
編輯回答
敢試
<el-input v-model="form.site" ref="siteInput" auto-complete="off" placeholder="請(qǐng)輸入網(wǎng)址" ></el-input>

所以需要打開彈窗時(shí),跟上如下代碼。

  self.$nextTick(function(){
       self.$refs['siteInput'].focus();        
  })
2018年5月15日 08:13