vue 設置 input 為不可以編輯的實現(xiàn)方法
更新時間:2019年09月19日 10:51:49 作者:山村碼農
今天小編就為大家分享一篇vue 設置 input 為不可以編輯的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
我用最笨的方法,先實現(xiàn)功能先,用兩個input,一個可以編輯,一個不可以編輯,失去焦點后隱藏可以點擊的那個,點“編輯”時,顯示可以編輯的那個input
<div class="edit-item">
<input type="text" id="group-name" v-model="groupName" class="edit-input" disabled v-show="!isEditGroupName" >
<input type="text" id="group-name2" v-model="groupName" class="edit-input" ref="groupName"
@input="changeValue"
@change="editGroupNameSave(groupInfo.name)" v-show="isEditGroupName" @blur="isEditGroupName = false">
<span @click="editGroupName"><icon-svg name="icon-kaka-compile" icon-style="edit-ico"></icon-svg></span>
</div>
export default {
name: 'RightSideBar',
props: {
},
data () {
return {
isEditGroupName: false, // 修改群名稱
}
},
computed: {
// 群名稱
groupName: {
get () {
return this.$store.getters.groupSetInfo.name
},
set (val) {
// 使用vuex中的mutations中定義好的方法來改變
let groupSetInfo = this.$store.getters.groupSetInfo
let copyMyinfo = Object.assign({}, groupSetInfo)
copyMyinfo.name = val
this.$store.dispatch('groupSetInfo', copyMyinfo)
}
},
},
methods: {
changeValue () {
let leng = this.validateTextLength(this.groupName)
if (leng >= 15) {
this.$refs.groupName.maxLength = leng
} else {
this.$refs.groupName.maxLength = 30
}
},
validateTextLength (value) {
// 中文、中文標點、全角字符按1長度,英文、英文符號、數(shù)字按0.5長度計算
let cnReg = /([\u4e00-\u9fa5]|[\u3000-\u303F]|[\uFF00-\uFF60])/g
let mat = value.match(cnReg)
let length
if (mat) {
length = (mat.length + (value.length - mat.length) * 0.5)
return length
} else {
return value.length * 0.5
}
},
// 打開編輯
editGroupName () {
this.isEditGroupName = true
let nickNameInput = document.querySelector('#group-name2')
setTimeout(() => {
nickNameInput.focus()
}, 0)
},
// 保存群名修改
editGroupNameSave (data) {
},
},
created () {
}


以上這篇vue 設置 input 為不可以編輯的實現(xiàn)方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Element-Plus實現(xiàn)動態(tài)渲染圖標的示例代碼
在Element-Plus中,我們可以使用component標簽來動態(tài)渲染組件,本文主要介紹了Element-Plus?實現(xiàn)動態(tài)渲染圖標教程,具有一定的參考價值,感興趣的可以了解一下2024-03-03
vue如何給element-ui中的el-tabs動態(tài)設置label屬性
這篇文章主要介紹了vue如何給element-ui中的el-tabs動態(tài)設置label屬性,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
vue3中如何通過ref和$parent結合defineExpose實現(xiàn)父子組件之間的通信
這篇文章主要介紹了vue3中通過ref和$parent結合defineExpose實現(xiàn)父子組件之間的通信,Vue3中通過ref和$parent的結合使用,及defineExpose的方法,可以非常便捷地實現(xiàn)父子組件之間的通信,需要的朋友可以參考下2023-07-07
element-ui 實現(xiàn)響應式導航欄的示例代碼
這篇文章主要介紹了element-ui 實現(xiàn)響應式導航欄的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05
vue+elementUI實現(xiàn)右擊指定表格列的單元格顯示選擇框功能
這篇文章主要介紹了vue+elementUI實現(xiàn)右擊指定表格列的單元格顯示選擇框功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-03-03

