vue2 element的一些代码优化技巧

简介: vue2 element的一些代码优化技巧

1、只输入数字 最小1 最大100 且不允许空格

<el-input-number v-model-trim="xxx" :min='1' :max='100'></el-input-number>

2、清除校验

// element的表单清除校验的这个方法可以在弹框关闭的时候添加  调用close方法 传输ref='formInfo' 字段
 <el-dialog title="添加商品" :visible.sync="dialogFormVisible" @close="closeDialog('formInfo')">
 <el-form :model="formInfo" :rules="rules" ref="formInfo" label-width="100px" class="demo-ruleForm">
     <el-form-item label="活动名称" prop="name">
      <el-input v-model="formInfo.name"></el-input>
    </el-form-item>
 </el-form>
 </el-dialog>
<script>
// 关闭对话框
        closeDialog(formInfo){
        // 清除校验和数据信息
            this.$refs[formInfo].resetFields();
        },
</script>

3、element表格居中的方式

// 表格内的文字居中 :cell-style="'textAlign:center'"
  // 表头居中 :header-cell-style="'textAlign: center'"
  <el-table
       :cell-style="'textAlign:center'"
       :header-cell-style="'textAlign: center'"
      >
       <el-table-column
               prop="name"
               label="姓名"
               width="180"
                >
         </el-table-column>
         ......
</el-table>

4、表格遍历取值的方式

5、转JSON格式

也就是序列化和反序列化

let obj = { id : 1, name : 'zs'}
let dataStr = JSON.stringify(obj)
console.log(data)   // "{ id : 1, name : 'zs'}" 字符串格式
let dataObj = JSON.parse(dataStr)
console.log(dataObj)   // { id : 1, name : 'zs'} 对象格式格式
// 将数组转json也是一样的
let obj2 = {
    id:1,
    name:'zs',
    info:['吃饭','睡觉']
}
obj2.info = JSON.stringify(obj2.info)
console.log(obj2)  //  { id:1 ,name:'zs' ,info:"['吃饭','睡觉']"} 字符串格式
}
obj2.info = JSON.parse(obj2.info)
console.log(obj2)  //  { id:1 ,name:'zs' ,info:['吃饭','睡觉']} 对象格式格式
}

6.字符串时间戳互转

let str = '2022-10-21 00:00:00'
   timeTampToStr(str) { // 字符串转时间戳
       return Date.parse(new Date(Date.parse(str.replace(/-/g, "/")))) / 1000; // 精确到秒
    },
var formatDate = function(time) { // 时间戳转字符串
    var time = new Date(parseInt(time)*1000),
        year = time.getFullYear(),
        month = time.getMonth() + 1,
        date = time.getDate(),
        hour = (''+time.getHours()).length > 1 ? time.getHours() : '0'+time.getHours(),
        minute = (''+time.getMinutes()).length > 1 ? time.getMinutes() : '0'+time.getMinutes(),
        second = (''+time.getSeconds()).length > 1 ? time.getSeconds() : '0'+time.getSeconds();
    return year+'-'+month+'-'+date+' '+hour+':'+minute+':'+second;
};

7、清除表单数据

通常情况下element清除表单的方法是使用:xxx.resetFields(); 方法,这种方法是根据prop绑定的字段清除的,prop也可以关联校验,也就是说清除校验和表单字段,都是通过prop操作的,如下:

// prop 没有关联 ,表单数据和校验无法通过 resetFields() 清除
    <el-form-item label="备注" prop="">
          <el-input :rows="4" type="textarea" v-model="goodsInfo.remark" />
    </el-form-item>

添加prop后成功清除校验和数据

<el-form-item label="备注" prop="remark">
          <el-input :rows="4" type="textarea" v-model="goodsInfo.remark" />
   </el-form-item>

表单校验这块,数据和校验名必须相同:

·goodsInfo· 内的 ·remark· 为数据

·goodsInfoRules· 内的 ·remark· 为校验

两者必须相同,才能对应校验

const goodsInfo = reactive({
  remark: "" // 备注
});
const goodsInfoRules = reactive<FormRules>({
  remark: [{ required: true, message: "请输入备注", trigger: "blur" }]
});

必须一致才能校验

目录
相关文章
|
9月前
|
JavaScript 前端开发 安全
【vue】如何修改iview组件的样式(element同)
【vue】如何修改iview组件的样式(element同)
119 1
|
5月前
|
JavaScript
Vue使用element中table组件实现单选一行
如何在Vue中使用Element UI的table组件实现单选一行的功能。
303 5
Vue使用element中table组件实现单选一行
|
4月前
|
资源调度 JavaScript PHP
Vue3+ element plus 前后分离admin项目安装教程
Vue3+ element plus 前后分离admin项目安装教程
120 0
|
6月前
|
JavaScript
Element - Vue使用slot-scope和v-for遍历数据为树形表格
这篇文章介绍了在Vue中使用`slot-scope`和`v-for`指令来遍历数据并将其渲染为树形表格的方法。
91 0
Element - Vue使用slot-scope和v-for遍历数据为树形表格
|
6月前
|
开发者 C# Android开发
明白吗?Xamarin与Native的终极对决:究竟哪种开发方式更适合您的项目需求,让我们一探究竟!
【8月更文挑战第31天】随着移动应用开发的普及,开发者面临多种技术选择。本文对比了跨平台解决方案Xamarin与原生开发方式的优势与劣势。Xamarin使用C#进行跨平台开发,代码复用率高,可大幅降低开发成本;但因基于抽象层,可能影响性能。原生开发则充分利用平台特性,提供最佳用户体验,但需维护多套代码库,增加工作量。开发者应根据项目需求、团队技能和预算综合考量,选择最适合的开发方式。
150 0
|
6月前
|
JavaScript 前端开发 开发者
决战前端之巅!Element UI与Vuetify谁才是Vue.js组件界的霸主?一场关于颜值与实力的较量!
【8月更文挑战第30天】本文对比了两款热门的Vue.js组件库——Element UI与Vuetify。Element UI由饿了么团队打造,提供多种高质量UI组件,设计简洁大方。Vuetify基于Material Design规范,支持Vue.js 2.0及3.0版本,具备前瞻性。两者均涵盖表单、导航、数据展示等组件,Element UI配置选项丰富,而Vuetify则提供了更深层的样式定制功能。开发者可根据项目需求及个人偏好选择合适的组件库。
476 0
|
6月前
|
JavaScript 开发者 UED
Vue.js组件库大对决:Element UI与Vuetify,开发者的罗密欧与朱丽叶!
【8月更文挑战第30天】Element UI和Vuetify是Vue.js开发中的热门组件库,前者简洁高效,后者遵循Material Design,国际化程度高。两者均提供丰富的组件支持,但Vuetify组件更多样,设计更灵活;Element UI在性能和中文支持上更优。文档方面,Element UI更直观易懂,而Vuetify配置灵活但学习成本稍高。选择时需综合考虑项目需求、团队背景及设计风格,以达到最佳开发效果。
349 0
|
7月前
|
存储 开发框架 前端开发
Vue&Element开发框架中增加工作流处理,工作流的各个管理页面的界面处理
Vue&Element开发框架中增加工作流处理,工作流的各个管理页面的界面处理
|
7月前
|
开发框架 JavaScript 前端开发
Vue&Element开发框架中增加工作流处理,查看申请单中整合多个处理类型的处理
Vue&Element开发框架中增加工作流处理,查看申请单中整合多个处理类型的处理
|
7月前
|
开发框架 监控 前端开发
自定义Vue&Element组件,实现用户选择和显示
自定义Vue&Element组件,实现用户选择和显示

热门文章

最新文章