91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

快速解決element的autofocus失效問題

發布時間:2020-10-09 23:11:14 來源:腳本之家 閱讀:1158 作者:一月清輝 欄目:開發技術

原因:

autofocus是vue中input的原生屬性,element也支持這種方法,

但是element中的el-input組件外面還有其他組件, 導致autofocus失效, 只能手動調用focus方法來聚集。

方法:

綁定ref

<el-input ref="myNameId" v-model="form.name" />

this.$refs.myNameId.focus();

動態綁定ref

<el-input :ref=" 'input'+ form.id " v-model="form.name" />

this.$nextTick(()=>{
 let id = 'input'+this.form.id;
 this.$refs[id].focus();
})

補充知識:element input輸入框自動獲取焦點

最近項目中在做表單的時候,需要自動滾動到評論框,并且讓評論框自動聚焦,這就需要手動觸發輸入框的 focus 狀態。

但是,element并不支持autofocus屬性,那就只能通過原生的js效果獲取聚焦效果了

document.getElementById("input").focus();

或者利用vue的ref屬性也可以實現聚焦效果:

原理其實很簡單,Element 已經提供了 focus 方法,但是文檔并沒有寫明如何去調用,下面是在el-input標簽上加入ref屬性,然后在需要的地方直接調用方法就可以了

<el-input v-model="input" placeholder="請輸入內容" ref="input"></el-input>

this.$nextTick(() => {
  this.$refs.input.focus()
 })

注意:一個頁面只能有一個聚焦效果

last , vue也支持自定義指令

當頁面加載時,該元素將獲得焦點 (注意:autofocus 在移動版 Safari 上不工作)。事實上,只要你在打開這個頁面后還沒點擊過任何內容,這個輸入框就應當還是處于聚焦狀態。現在讓我們用指令來實現這個功能:

// 注冊一個全局自定義指令 `v-focus`
Vue.directive('focus', {
 // 當被綁定的元素插入到 DOM 中時……
 inserted: function (el) {
 // 聚焦元素
 el.focus()
 // element-ui
 el.children[0].focus()
 // 元素有變化,如show或者父元素變化可以加延時或判斷
 setTimeout(_ => {
  el.children[0].focus()
 })
 }
})

以上這篇快速解決element的autofocus失效問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

梁河县| 台山市| 泌阳县| 海淀区| 南陵县| 大同市| 灵武市| 炉霍县| 吉安市| 苍南县| 平利县| 临沭县| 班玛县| 资溪县| 荔浦县| 麟游县| 苏尼特右旗| 防城港市| 会理县| 根河市| 普陀区| 海城市| 顺昌县| 建阳市| 桦南县| 衡水市| 申扎县| 鱼台县| 丰都县| 响水县| 恭城| 大邑县| 扶余县| 丹东市| 云安县| 甘南县| 儋州市| 沁水县| 湘潭市| 互助| 绵竹市|