vue 设置 input 为不可以编辑的实现方法


Posted in Javascript onSeptember 19, 2019

我用最笨的方法,先实现功能先,用两个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长度,英文、英文符号、数字按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 为不可以编辑的实现方法

vue 设置 input 为不可以编辑的实现方法

以上这篇vue 设置 input 为不可以编辑的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript js cookie的存储,获取和删除
Dec 29 Javascript
从盛大通行证上摘下来的身份证验证js代码
Jan 11 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
Nov 18 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
Aug 22 Javascript
基于JavaScript实现屏幕滚动效果
Jan 18 Javascript
Webpack如何引入bootstrap的方法
Jun 17 Javascript
基于vue.js的分页插件详解
Nov 27 Javascript
vue路由组件按需加载的几种方法小结
Jul 12 Javascript
vuex 中插件的编写案例解析
Jun 10 Javascript
用Angular实现一个扫雷的游戏示例
May 15 Javascript
解决vant-UI库修改样式无效的问题
Nov 03 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
Dec 04 Javascript
node 标准输入流和输出流代码实例
Sep 19 #Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
Sep 19 #Javascript
微信小程序3D轮播实现代码
Sep 19 #Javascript
layui 实现表格某一列显示图标
Sep 19 #Javascript
微信小程序防止多次点击跳转(函数节流)
Sep 19 #Javascript
layui按条件隐藏表格列的实例
Sep 19 #Javascript
微信小程序和H5页面间相互跳转代码实例
Sep 19 #Javascript
You might like
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
javascript下string.format函数补充
2010/08/24 Javascript
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
2013/04/23 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
[47:55]Ti4第二日主赛事败者组 NaVi vs EG 1
2014/07/20 DOTA
[02:10]2018DOTA2亚洲邀请赛赛前采访-Liquid
2018/04/03 DOTA
[01:10:49]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
Python中特殊函数集锦
2015/07/27 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
Python编程给numpy矩阵添加一列方法示例
2017/12/04 Python
详解Python自建logging模块
2018/01/29 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
python requests 测试代理ip是否生效
2018/07/25 Python
python中scikit-learn机器代码实例
2018/08/05 Python
python实现停车管理系统
2018/11/30 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
python中导入 train_test_split提示错误的解决
2020/06/19 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
MyHeritage美国:家族史研究和DNA测试的领先服务
2019/05/27 全球购物
医学类导师推荐信范文
2013/11/19 职场文书
销售主管竞聘书
2014/03/31 职场文书
班级年度安全计划书
2014/05/01 职场文书
销售队伍口号
2014/06/11 职场文书
经典毕业生求职信
2014/07/12 职场文书
我的中国梦演讲稿高中篇
2014/08/19 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书