Vue2.x通用编辑组件的封装及应用详解


Posted in Javascript onMay 28, 2019

本文实例为大家分享了Vue2.x通用编辑组件的封装及应用,供大家参考,具体内容如下

效果

 Vue2.x通用编辑组件的封装及应用详解

组件源码

<template>
 <div class="edit-input">
 <div class="editBox">
  <div>
  <span class="list">{{ name }}:</span>
  <span class="listValue" v-if="!editStatus">{{value}}</span>
  </div>
  <span class="editLogo iconfont icon-Edit" @click="editStatus = !editStatus" v-if="!editStatus"></span>
  <div class="edit" v-if="editStatus">
  <el-input v-model="newValue" :placeholder="placeholderDes"></el-input>
  <span class="confirmEdit" @click="changeValue">√</span>
  <span class="cancel" @click="editStatus = !editStatus">×</span>
  </div>
 </div>
 </div>
</template>

<script>
import '@/common/font/iconfont.css'
export default {
 props: {
 name: {
  type: String,
  require: true
 },
 value: {
  type: String,
  require: true
 },
 placeholderDes: {
  type: String,
  default: ''
 }
 },
 data () {
 return {
  newValue: '',
  editStatus: false
 }
 },
 methods: {
 changeValue () {
  this.$emit('valueChange', this.newValue)
  this.editStatus = false
 }
 }
}
</script>

<style lang="less" scoped>
.edit-input {
 .editBox {
 display: flex;
 margin-top: 10px;
 text-align: center;
 .list {
  color: #909399;
  font-size: 14px;
  line-height: 40px;
  display: inline-block;
  }
  .listValue {
  color: #303133;
  font-size: 14px;
  line-height: 26px;
  }
 .editLogo {
  color: #2695E4;
  padding-top: 12px;
  padding-left: 10px;
 }
 .edit{
  height: 50px;
  width: 260px;
  .confirmEdit {
  margin-left: 4px;
  width: 20px;
  height: 36px;
  display: inline-block;
  color: #67c23a;
  font-size: 20px;
  cursor: pointer;
  }
  .cancel {
  color: #929398;
  font-size: 20px;
  margin-left: 6px;
  cursor: pointer;
  width: 20px;
  height: 36px;
  display: inline-block;
  font-size: 26px;
  &:hover {
   color: #fa5555;
  }
  }
  .el-input {
  width: 200px;
  }
 }
 }
}
</style>

父组件中引用

<template>
 <div class="test">
 <v-edit-input placeholderDes="请输入新名称" name="测试名称" value="哈哈哈哈" @valueChange="changeValue"></v-edit-input>
 </div>
</template>

<script>
import VEditInput from '@/components/Common/EditInput'
export default {
 components: {
 VEditInput
 },
 methods: {
 changeValue (newVal) {
  // newVal即为修改后的新值,接下来用来与后端交互即可。
 }
 }
}
</script>

注:组件源码中import '@/common/font/iconfont.css'目的是为了引入编辑图标,图标使用于iconfont官网使用svg制作,实际应用时请删除此行代码,改为你自己的图标,即给.editLogo加个背景图即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery的表头固定的若干方法
Jan 27 Javascript
基于jQuery实现模拟页面加载进度条
Apr 01 Javascript
各浏览器对document.getElementById等方法的实现差异解析
Dec 05 Javascript
jQuery 选择器详解
Jan 19 Javascript
JS中字符串trim()使用示例
May 26 Javascript
JavaScript中实现map功能代码分享
Jun 11 Javascript
jQuery插件编写步骤详解
Jun 03 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
Jan 08 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
Jun 01 Javascript
mpvue跳转页面及注意事项
Aug 03 Javascript
vue.js中toast用法及使用toast弹框的实例代码
Aug 27 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
Nov 06 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
May 28 #jQuery
小程序多图列表实现性能优化的方法步骤
May 28 #Javascript
实例详解带参数的 npm script
May 28 #Javascript
jquery实现Ajax请求的几种常见方式总结
May 28 #jQuery
Vue2.x通用条件搜索组件的封装及应用详解
May 28 #Javascript
jquery操作select常见方法大全【7种情况】
May 28 #jQuery
vue实现条件叠加搜索的解决方法
May 28 #Javascript
You might like
如何使用动态共享对象的模式来安装PHP
2006/10/09 PHP
php 常用字符串函数总结
2008/03/15 PHP
php 使用post,get的一种简洁方式
2010/04/25 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
提高javascript效率 一次判断,而不要次次判断
2012/03/30 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
JavaScript门道之标准库
2018/05/26 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
angular 服务随记小结
2019/05/06 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
vue 验证两次输入的密码是否一致的方法示例
2020/09/29 Javascript
python笔记(1) 关于我们应不应该继续学习python
2012/10/24 Python
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
pycharm激活码快速激活及使用步骤
2020/03/12 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
python 将Excel转Word的示例
2021/03/02 Python
大学毕业生通用求职信
2013/09/28 职场文书
策划总监岗位职责
2014/02/16 职场文书
出国留学担保书
2014/05/20 职场文书
护士实习求职信
2014/06/22 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
学校捐款活动总结
2015/05/09 职场文书
事业单位岗位说明书
2015/10/08 职场文书
优秀的商业计划书,让融资一步到位
2019/05/07 职场文书
读后感怎么写?书写读后感的基本技巧!
2019/12/10 职场文书
Html5新增了哪些功能
2021/04/16 HTML / CSS