vue:使用技巧汇总篇

知识篇:(二十二)Vue3 与 Vue2 迁移指南:应对升级中的挑战与技巧 Vue3 的升级带来了更高的性能、更好的 TypeScript 支持和更灵活的组合式 API。在迁移过程中,通过掌握 Vue2 与 Vue3 的关键差异,并借助新的 API 和工具,可以让代码更具模块化和复用性。希望本文对你理解 Vue2 到 Vue3 的迁移有所帮助,为你的项目升级提供指导。 阅读详情
  • 初级级提升篇

el-table相关


2018-9-3 15:09:20
element-ui 改变行的颜色

methods

rowStyle({ row, rowIndex }) {
      // if (rowIndex === 0) {
      return "background-color:green";
      // } else {
      // return ''
      // }
    },

表格样式

<el-table :data="props.row.orderLineList" :show-header="false" class="table-wapper" :row-style="rowStyle">

form表单label字体对齐方式::label-position=“labelPosition”(属性值:top,left,right)

<el-form :label-position="labelPosition" label-width="80px" :model="formLabelAlign">

2018-8-20 18:43:03
dayjs 的使用技巧
import dayjs from ‘dayjs’,
获取时间戳
dayjs().valueOf()


2018-8-15 10:48:18
汉字换行
white-space:pre-wrap
英文换行
word-break:break-all;
element -ui的弹窗的按钮样式(需要调整为确定在左边,取消在右边)customClass: ‘confirm-box’,

要配合宽度使用


apiListAffixDel({id:id},res=>{
        this.$confirm('确定删除吗?', '提示', {
          cancelButtonText: '取消',
          confirmButtonText: '确定',
          customClass: 'confirm-box',
          type: 'warning'
        }).then(() => {
          apiListRowDel({id:id},res=>{
            console.log(res);
            this.msg(res.data.data,'success')
            this.getListEvent();
          })
        }).catch(() => {
          this.$message({
            type: 'info',
            message: '已取消删除'
          });
        });
      })

2018-8-13 15:49:08

  • 表格自定义验证时的规则写法

el-form 绑定的:model=“config”
el-form-item 的prop 则使用 的是showAddCreditLog.eventDate
元素使用的则是v-model=“config.showAddCreditLog.eventDate”
最终的使用结构是

<el-form label-width="1.5rem" label-position="right" :model="config" :rules="creditRules" ref="addCreditLogformRule">
        <el-form-item label="发生时间" class="editWidth" prop = "showAddCreditLog.eventDate">
          <el-date-picker value-format="timestamp" v-model="config.showAddCreditLog.eventDate" type="date" placeholder="选择日期">
          </el-date-picker>
        </el-form-item>
</el-form>

规则验证


creditRules: {
        'showAddCreditLog.eventDate': {
          required: true,
          message: "请选择时间",
          trigger: "blur"
        },
}


2018-7-31 18:36:15

  • 表格的hover事件
    在td上添加options的class-name名
<el-table-column label="" width="100" class-name="options">
 <template slot-scope="scoped">
   <i class="iconfont icon-edit"></i>
   <i class="iconfont icon-del"></i>
 </template>
</el-table-column>

css样式

td.options {
  color: $font-active;
  padding: 0 !important;
  .cell {
    padding-left: 0;
    padding-right: 0;
  }
  .iconfont {
    margin: 0 .04rem;
    display: none;
    cursor: pointer;
  }
}

.el-table--enable-row-hover .el-table__body tr:hover>td.options {
  .iconfont {
    display: inline-block;
  }
}

2018-7-26 19:00:03
element-ui 中表格里的时间戳格式化
:formmatter=“formatDate”

 <el-table-column prop="creatDate" label="申请日期" align="center" :formatter="formatDate"></el-table-column>
//时间格式化
    formatDate(row, column, cellValue){
      if(cellValue){
        return dayjs(cellValue).format('YYYY-MM-DD')
      }
      return ""
    },


2018-7-17 18:37:13
element-ui 的table表格文字超出要以…显示鼠标放上去要显示全部
在表格中追加show-overflow-tooltip

<el-table-column prop="detlAddrDesc" label="地址" show-overflow-tooltip></el-table-column>

这里写图片描述


2018-7-13 17:57:53
element-ui的上传图片添加token

<el-upload class="avatar-uploader" :headers="headers" action="http://xx.xx.xx.xx:xxx/BASE-API/fileUpload" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
                  <img v-if="imageUrl" :src="imageUrl" class="avatar">
                  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                </el-upload>
export default {
  data() {
    return {
      headers:{token: getToken()},
      }
  }
}

2018-7-12 10:57:37
根据数量变换选中状态

<el-button :class="[item.ctrlNum1?'selected':'noSelected','button-'+item.entryCode]"  @click="chooseStoreSttus(index)" v-for="(item,index) in form.storeSttusCodes" :key="item.entryCode">{{item.entryDesc}}</el-button>
chooseStoreSttus(index) {
      for (var stt in this.form.storeSttusCodes) {
        this.form.storeSttusCodes[stt].ctrlNum1 = 0;
      }
      this.form.storeSttusCodes[index].ctrlNum1 = 1;
    }

  • v-for 和v-if同时使用
<el-button :class="item.ctrlNum1?'selected':'noSelected'" @click="checkDtoreToolsData1701(index)" v-for="(item,index) in form.storeTools" v-show="index!=2" :key="item.entryCode">{{item.entryDesc}}</el-button>

思路:v-show是做显示和隐藏判断的,如果条件为true则控制显示,如果为false则隐藏.避免了去写JS


  • 动态切换颜色
    根据数量来确定是不是要选中;如果大于0则选中,如果等于0则不选中
:class="equip.ctrlNum1?'selected':'noSelected'"
  • 详解2
<div class="overflow border-bottom">
                <span class="fl">其他仪器</span>
                <span class="fr c cursor" @click="sildeUpStoreEqui">收起</span>
              </div>
<div class="overflow mt-d1" :class="midMachine.sildeUpStoreEquiClass?'sildeUpStoreEquiShow':''">
                <div class="fl">
                  <el-input class="w-1d8" v-model="midMachine.entryDesc" placeholder="仪器名称">
                  </el-input>
                  <el-select class="w-d9" v-model="midMachine.ctrlNum1" @change="checkequipNum" placeholder="请选择">
                    <el-option v-for="item in Machine_num" :key="item.value" :label="item.label" :value="item.value">
                    </el-option>
                  </el-select>

                </div>
                <div class=" fr c cursor " @click="addMachine">
                  <i class="icon-add iconfont mr-10"></i>增加仪器
                </div>

              </div>
export default {
  data() {
    return {
      midMachine: {
        entryDesc: "",
        ctrlNum1: "",
        sildeUpStoreEquiClass: false
      }
   }
},
	methods:{
	 //收起仪器新加区域
	    sildeUpStoreEqui() {
	      this.midMachine.sildeUpStoreEquiClass
	        ? (this.midMachine.sildeUpStoreEquiClass = false)
	        : (this.midMachine.sildeUpStoreEquiClass = true);
	    }
	}
}

  • 切换按钮的颜色
v-bind:class="{xx:shopType.selected,dashed:!shopType.selected}"
<el-form-item label="门店经营类别" class="text-l">
    <el-button v-for="(shopType,index) in ruleForm.busCategCodes" :key="shopType.value" @click="checkShopType(index,shopType.selected,shopType.lable)" v-bind:class="{xx:shopType.selected,dashed:!shopType.selected}">{{shopType.lable}}</el-button>
</el-form-item>
//经营类别列表
        busCategCodes: [
          { lable: "类别1", value: "类别1", selected: 1 },
          { lable: "类别21", value: "类别21", selected: 1 },
          { lable: "类别22", value: "类别22", selected: 1 },
          { lable: "类别23", value: "类别23", selected: 1 },
          { lable: "类别24", value: "类别24", selected: 1 },
          { lable: "类别25", value: "类别25", selected: 1 },
          { lable: "类别26", value: "类别26", selected: 1 },
          { lable: "类别37", value: "类别37", selected: 0 }
        ],
 checkShopType(index, selected) {
      if (selected == 0) {
        this.ruleForm.busCategCodes[index].selected = 1;
      } else {
        this.ruleForm.busCategCodes[index].selected = 0;
      }
    },

从而实现class的点击切换
class的点击切换

Vue2进阶-第三十六篇:Vue2调试技巧与工具(上) 在Vue2项目开发过程中,调试是解决问题、优化代码的关键环节。熟练掌握各种调试技巧和工具,能够大幅提升开发效率,快速定位并解决代码中的问题。本文将深入探讨Vue Devtools的调试功能以及断点调试的相关技巧。 阅读详情

相关推荐

Vue2进阶-第三十七篇:Vue2调试技巧与工具(下)

在上一篇文章中,我们深入探讨了Vue Devtools的调试功能以及断点调试的相关技巧。本篇将继续围绕Vue2调试展开,介绍错误处理与调试以及性能调试与优化的相关内容。

无 318

el-form表单组件的标签属性label-width和label-position

属性时,可以指定一个具体的宽度值,如像素(px)或百分比(%)。该值决定了标签在水平方向上的宽度,以便在表单布局中进行对齐或控制标签的长度。可以是一个响应式的变量,在 Vue 的 data 中定义,并根据需要进行设置,如。它通常用于与输入框、选择框等表单元素一起使用,以确定标签的显示位置。它通常用于与输入框、选择框等表单元素一起使用,以确定标签的宽度。属性是用于指定表单元素标签宽度的常见属性。通过设置该属性,可以。,并根据具体的布局需求来调整标签的长度。是一个常见的属性,用于。是一个常见的属性,用于。

m0_57263959的博客 9179

SuperMap iDesktop 9D三维倾斜摄影数据处理

OSGB格式的三维倾斜摄影数据进入时空大数据平台之前需要进行数据优化和格式转换

weixin_43204897的博客 1131

Vue 表单格式调整

Vue 表单label右对齐: label-position 与 label-width 同时使用使label-position生效 <el-form:model="form" label-position="right" label-width="100px">

Oceanlonely_的博客 1138

【华为鸿蒙3.0/荣耀安卓12使用VMOS Pro的激活方式】

解压激活工具 →连接数据线 轻松搞定激活!

Amy_mumu的博客 142万+

保姆级教程:在Windows 10上为QT5.15.2配置Android开发环境(含SDK/NDK/JDK避坑指南)

本文提供了一份详细的Windows 10环境下为QT5.15.2配置Android开发环境的保姆级教程,涵盖SDK、NDK、JDK的安装与配置,以及常见问题的避坑指南。通过优化安装流程、解决Gradle下载慢等痛点,帮助开发者快速搭建稳定的编译环境,并提供了模拟器配置和调试技巧,确保开发效率。

weixin_30919571的博客 528

el-form表单使用label-position出现的问题

el-form使用label-position出现的问题

weixin_53853031的博客 5282

VisionPro 9.0 QuickBuild里用C#脚本调用Halcon 23.11模型,保姆级图文配置流程

本文详细介绍了如何在VisionPro 9.0 QuickBuild环境中使用C#脚本调用Halcon 23.11深度学习模型,提供从环境配置到模型集成的保姆级图文教程。重点解决图像格式转换、许可证配置等工业视觉检测中的常见问题,帮助开发者快速实现高效、稳定的视觉检测流水线部署。

weixin_27027459的博客 438

label-position--提问

label-position–提问 本系列文章是在开发过程中发现一些问题所记录下来,所有在文章中所发现的问题还存在一些问题没有解决,希望大佬看到的话可以指教一下。 情况描述: 在开发过程中使用 label-position="top" 来实现效果。下图 <van-form label-position="right"> 然后我本着好奇心思考为什么这样是可行的,label-position的默认值是right。 然后找到了问题所在,实际上就是一个type样式。 在寻找原因的过

weixin_45439337的博客 3494

手把手教你用HI3516CV610搭建智能安防摄像头(附完整开发资料)

本文详细介绍了基于海思HI3516CV610 SOC搭建智能安防摄像头的完整开发流程,包括硬件选型、系统架构设计、开发环境搭建、智能分析功能开发及系统调优。通过实战案例,展示了如何利用内置NPU实现人形检测和异常行为分析,并提供了量产测试方案,帮助开发者快速完成智能摄像头项目。

backprop5master的博客 545

SAP Gateway Foundation OData V4 服务管理深度解析,从 Service Repository 到 Service Group 的完整运行逻辑

本文解析了SAP S/4HANA中OData V4 API的技术架构,重点阐述Service Repository、Service与Service Group的三层管理体系。以SalesOrder和PurchaseOrder API为例,说明不同服务可能属于特定repository(如srvd_a2x)而非默认DEFAULT库。Service Group作为业务模型组合单元,支持跨服务引用和统一配置,其发布状态直接影响服务可用性。文中对比了后台管理事务/IWBEP/V4_ADMIN与网关端/IWFND/V4

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 90

ElementUI form表单 左侧label对齐注意事项

通过 label-position 属性来改变表单域或标签的位置,可选的值有 top/left/right ,默认的是 right ,lable-position 必须要和 label-width(表单域标签的宽度,作为 Form 直接子元素的 form-item 会继承该值) 共同使用,才会生效。 转载于:https://www.cnblogs.com/yiyiyur...

weixin_30536513的博客 4542

RK3588 hdmirx 调试(含v4l2工具,edid编辑)

RK3588 Buildroot系统中调试HDMI-RX的过程,包括抓图、修改EDID数据、编辑EDID等操作。首先,通过logcat和寄存器信息查询HDMI-RX的状态,使用v4l2-ctl工具进行测试和修改EDID。

501846585_QQAndroid_java 2686

Antd Vue 使用技巧篇(Ts 版)

本篇是用来整理antd Vue 使用过程中的遇到的一些问题,主要以Vue 3 +Ts 场景为例。

qq_46703281的博客 533

Cesium雷达追踪追踪(圆锥体效果)

【代码】Cesium雷达追踪追踪(圆锥体效果)

God's asylum的博客 2931

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

vuejs适合写什么项目_VueJS 基础知识及项目总结

1、build :dev-server.js 是在使用终端命令时启动时执行的,里面可以修改端口号 (修改第16行即可)2、index.html 是整个文件的入口src 装的是你写入的文件3、main.js 是当前文件的主要的逻辑入口APP.vue 是根组件4、一些事件和方法v-on:click="事件名"v-on:keyup="事件名" //在按下任意键时触发v-on:keyup.enter="...

weixin_31755771的博客 551

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【前端开发必备小技巧】前端代码规范Vue篇

Vue 项目规范以 Vue 官方规范中的A规范为基础,在其上面进行项目开发,故所有代码均遵守该规范。请仔仔细细阅读 Vue官方规范,切记,此为第一步。

stc_ljc的博客 3561

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

总结 Vue 知识体系之高级技巧应用篇

vue 作为目前前端三大框架之一,对于前端开发者可以说是必备技能。那么怎么系统地学习和掌握 vue 呢?为此,我做了简单的知识体系体系总结,不足之处请各位大佬多多包涵和指正,如果喜欢的可...

全栈修炼 515

面试篇:(二)Vue -2024 年前端面试技巧与面试题汇总

问:Vue 是如何实现双向数据绑定的?答:Vue 通过和后来的Proxy来实现双向数据绑定。在 Vue 2.x 中,使用对数据进行“劫持”,当数据发生变化时,通过“观察者模式”通知视图更新。而在 Vue 3.x 中,Vue 使用Proxy进行响应式处理,不仅支持数组操作,还克服了的一些局限性。Vue 将数据对象转化为响应式对象,通过拦截对象属性的get和set操作,实时追踪依赖并在数据变化时自动更新视图。在模板中,通过指令如v-model实现表单输入与数据的双向绑定,视图与数据的更新是同步的。问。

一名热衷于技术的全栈开发者,专注于前端与后端的全面技术探索。在这里,我将分享我在技术领域的学习与成长,助力更多开发者的进步。 1438

没有vue插件_总结 Vue 知识体系之高级技巧应用篇

vue 作为目前前端三大框架之一,对于前端开发者可以说是必备技能。那么怎么系统地学习和掌握 vue 呢?为此,我做了简单的知识体系体系总结,不足之处请各位大佬多多包涵和指正,如果喜欢的可以点个小赞!本文主要讲述一些vue开发中的几个高级应用,希望能对大家有所帮助。Vue.use我们使用的第三方 Vue.js 插件。如果插件是一个对象,必须提供install方法。如果插件是一个函数,它会被...

weixin_30290193的博客 123

知识篇:(一)深入解读 Vue 核心知识点:必备技巧与实战总结

1,采用组件化模式,提高代码复用率、且让代码更好维护。

一名热衷于技术的全栈开发者,专注于前端与后端的全面技术探索。在这里,我将分享我在技术领域的学习与成长,助力更多开发者的进步。 1777

谷歌浏览器编写填写html脚本,用VueJS写一个Chrome浏览器插件的实现方法

浏览器基本已经天下大统了,放眼望去都是Chromium的天下。那么,能写一个浏览器插件也算是一种回报率不错的技能。基本知识浏览器插件官方的说法叫扩展程序,允许你为浏览器增加各种功能,但不需要深入研究浏览器本身的代码。你可以用HTML,CSS和JavaScript创建新的扩展程序,如果你曾经写过网页,那么写一个插件是非常轻松的事情。常见的插件一般就是地址栏后面的一个图标,点击后给你当前网页提供各种功...

weixin_35996612的博客 944

Vue+Webpack开发可复用的单页面富应用教程(技巧篇)

本文首发于TalkingCoder,一个有逼格的程序员社区。转载请注明出处和作者。 写在前面 本文为系列文章,总共分四节,建议按顺序阅读: 《Vue+Webpack使用规范》 《Vue+Webpack开发可复用的单页面富应用教程(配置篇)》 《Vue+Webpa...

chunmanxi1749的博客 355

vue 将两个数组拼接_vuejs 数组合并与对象的合并

============数组合并=============1、数组合并前var listdata= [{"smallclassid": "21","smallclassname": "长沙菜"}, {"smallclassid": "6","smallclassname": "湘菜分类"}];var data = [{smallclassid:0,smallclassname:'全部'}];2、合...

weixin_39634876的博客 1474

Web前端vue必做笔记之一:列表动画(vue小技巧)

Web前端vue必做笔记之一:列表动画(vue小技巧) <template> <div id="app"> <!-- list-enter-active 当我们操作列表中元素时,他会给我们加入这样的类名--> <transition-group tag="ul" name="list"> <li class="item" @click="deleteItem(item)

qq_42302014的博客 466

vue项目使用encode_vue项目小技巧记录(更新中。。)

最近的移动端项目用到的一些不常用的小技巧:直接上干货vue-cli3 中webpackServer代理首先,.env.development文件设置`VUE_APP_baseApi = /api`其次,vue.config.js文件设置devServer: {proxy: {'/api': {target: 'http://xxx/api',changeOrigin: true,ws: true,...

weixin_30461595的博客 1242
上一篇: vue:element-ui汇总篇
下一篇: element-ui 表单验证时规则对象二级验证失效 - 记录贴(已解决)
AlexKain
博客等级 码龄8年 35粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值