Vue 中使用 el-input 自動獲取焦點和二次獲取焦點問題
最近,碰到一個問題,就是輸入框旁邊有一個編輯按鈕,點選時,才可以對輸入框進行編輯:
要實現的效果:
為了方便輸入,需要自動獲取焦點,所以加入了autofocus,但是發現,只有第一個並且第一次點選才起作用。
查了網上的一些文件,說是跟dom的渲染順序和資料的快取有點兒關係,至於深層次的原因,還沒查到,希望有知道的朋友,不吝告知。
然後使用了Vue提供的自定義指令來解決,還有一點兒需要注意,el-input在頁面渲染後,外層是個div,需要拿到裡面的input才會有效果。
<el-input v-focus></el-input> directives: { // 註冊一個區域性的自定義指令 v-focus focus: { // 指令的定義 inserted: function (el) { // 聚焦元素 el.querySelector('input').focus() } } },
還有一種解決方案,是使用 Vue.nextTick() 和 Ref去做,例子就不去寫了,都是去操作dom的。
相關推薦
Vue 中使用 el-input 自動獲取焦點和二次獲取焦點問題
最近,碰到一個問題,就是輸入框旁邊有一個編輯按鈕,點選時,才可以對輸入框進行編輯: 要實現的效果: 為了方便輸入,需要自動獲取焦點,所以加入了autofocus,但是發現,只有第一個並且第一次點選才起作用。 查了網上的一些文件,說是跟dom的渲染順序和資料的快取有點兒關係,至
vue中讓input框自動聚焦
進行 寫法 執行 生命周期 creat 渲染 efs nextTick clas created(){ this.changfouce(); }, methods: { //在vue生命周期的created()鉤子函數進行的DOM操作要放在Vue
Makefile中常見的自動變量和含義
makefile info 自動 vmm var p s xms userinfo href 劫V3W71v9QGW貝膳http://jz.docin.com/cjwjy04096 1姥樸5KAQ訪顯39http://shufang.docin.com/fjqbs11
vue 中router.go、router.push和router.replace的區別
記錄 out 整數 添加 history 它的 lac 的區別 意思 router.go(n) 這個方法的參數是一個整數,意思是在 history 記錄中向前或者後退多少步,類似 window.history.go(n) router.push(location) 想要
vue中style下scope的使用和坑
在vue元件中,為了使樣式私有化(模組化),不對全域性造成汙染,可以在style標籤上新增scoped屬性以表示它的只屬於當下的模組,這是一個非常好的舉措,但是為什麼要慎用呢?因為在我們需要修改公共元件(三方庫或者專案定製的元件)的樣式的時候,scoped往往會造成更多的困難,需要增加額外的複雜度。
在Vue中使用插槽 插槽和具名插槽/作用域插槽
在Vue中使用插槽插槽和具名插槽 <body> <div id="app"> <child content="<p>123</p>"> <h1>Dell</h1>
vue中router-link的引數傳遞和接收
1 第一種方法: 設定要傳遞的引數 路由檔案的配置: 此時不需要做任何的更改 其他元件來獲取傳遞的引數: 在url上表現的顯示: 點選其中的詳細資訊 第二種方法: 設定要傳遞的引數 此時路由檔案需要簡單的配置一下: 注意:兩處的ic名稱一定要一樣 ,和c#
vue中的插槽(slot和slot-scope)
先說一下個人理解:vue頁面的組成主要靠父子元件的組合,而父子元件之間內容和訊息的傳遞主要靠的是slot props emit等實現。 從子元件向不向slot中傳遞資料的角度來看,插槽主要分為不帶資料的插槽和帶資料的插槽,而不帶資料的插槽又可以分為匿名插槽/單個插槽/預設插槽和具名插槽的
簡單理解vue中el、template、replace元素
el 型別: String | HTMLElement | Function 限制: 在元件定義中只能是函式。 詳細: 為例項提供掛載元素。值可以是 CSS 選擇符,或實際 HTML 元素,或返回 HTML 元素的函式。注意元素只用作掛載點。如果提供了模板則元素被
Vue中的package.json裡面dependencies和devDependencies區別
dependencies:應用能夠正常執行所依賴的包。這種 dependencies 是最常見的,使用者在使用 npm install 安裝你的包時會自動安裝這些依賴。devDependencies:開發應用時所依賴的工具包。通常是一些開發、測試、打包工具,例如 webpack、ESLint
Djngo中基於Form自動生成標籤和登入判斷
一、What is Form? 當我們在註冊某個網站的時候經常看到當我們手機號碼的位數不夠或者email輸入格式錯誤的時候,旁邊就會給你提示個小框框,提示你輸入錯誤重新輸入。這個判斷我們可以用Django自己寫出一個這樣的判斷,但是當你寫完之後你會發現要很多判斷
在Vue中使用插槽 插槽和具名插槽/作用域插槽
在Vue中使用插槽插槽和具名插槽 <body> <div id="app"> <child content="<p>123</p>"> <h1>Dell&
vue中獲得input的值
原生 js使用 getElementById 比較麻煩的地方需要為元素設定 id設定 id 之後,無法複用,因為一個頁面中不能存在兩個相同的 id雙向繫結 v-model分兩種情況input 預設為空。這種情況使用 v-model 最方便,通過 this.inputName
Vue中mintui的field實現blur和focus事件
<mt-field label="卡號" v-model="card.cardNo" @blur.native.capture="checkCard"></mt-field> 使用 @blur.native.capture="", @focu
解決vue中模態框內資料和外面的資料繫結的問題
問題:表單中的使用者名稱和模態框中的使用者名稱沒有繫結同一個model,但之後在模態框捏輸入發現表單內的使用者名稱也發生了改變。原本計劃是想點儲存之後再改變的。解決方法找到判斷模態框是否顯示的變數。之後用watch監聽該屬性。然後就不會發生上述問題。表單:<el-tab
vue中axios解決跨域問題和攔截器使用
vue中axios不支援vue.use()方式宣告使用。 所以有兩種方法可以解決這點: 第一種: 在main.js中引入axios,然後將其設定為vue原型鏈上的屬性,這樣在元件中就可以直接 this.axios使用了 import axios fro
基於elementUI的Vue 中 el-from 包含el-table的寫法
<el-form :model="ruleForm" :rules="rules" ref="ruleForm"> <el-table :data="ruleForm.evidenceTemplateList" stripe border style="width: 1
vue中使用axios給生產環境和開發環境配置不同的baseUrl
evel 發送post請求 ont itl -type ack www. headers eject 第一步:設置不同的接口地址 找到文件:/config/dev.env.js 代碼修改為: 1 2 3 4 5
vue中,使用手機釘釘掃描二維碼登錄
indexof ons 開發 java ava asc dingding erro zepto 最新項目要做一個,使用手機釘釘掃描二維碼登錄pc系統的功能,手機掃碼二維碼後,會彈出一個確定登錄的頁面,點擊確定之後,pc端就會登錄進去 第一步:查看釘釘開發平臺 釘釘開發平
vue全家桶 ---axios的使用和二次封裝
1、前提基礎 本文在vue專案搭建的基礎上,vue-router路由配置的基礎上,對vue專案中axios的使用進行介紹。 2、axios的使用以及攔截器的設定。 安裝axios cnpm i axios -S 複製程式碼 新建http資料夾,新建index.js,confi