前端之vue
2020-02-03 04:30
711 查看
1、根据某个状态设置table里selection是否可选
[code]<el-table-column type="selection" align="center" :selectable='checkboxInit'></el-table-column>
//在methods里添加如下
[code]checkboxInit(row){ //返回的状态报告前两个字符是为 失败 则可选,否则不可选 let status = row.statusReport.substring(0,2) if (status=="失败") return 1;//可勾选 else return 0;//不可勾选 },
2、checkbox前台显示为中文,后台传输为英文字段,将普通数组改为对象数组可实现
[code]<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox> <div style="margin: 15px 0;"></div> <el-checkbox-group v-model="exportRecordList.columns" @change="handleCheckedHeadChange"> <el-checkbox v-for="head in tableHead" :label="head.id" :key="head.id">{{head.label}}</el-checkbox> </el-checkbox-group>
[code]<script> const tableHeadOptions = [{id:'userid',label:'SP账号'},{id:'spgate',label:'通道号码'},{id:'unicom',label:'运营商'}, {id:'phone',label: '手机号码'}, {id:'taskid',label: '任务批次'}, {id:'errorcode',label: '状态报告'}, {id:'sendtime',label: '发送时间'}, {id:'recvtime',label: '接收时间'}, {id:'svrtype',label: '业务类型'}, {id:'pknumAndPktotal',label: '分条'}, {id:'message',label: '短信内容'}, {id:'usermsgid',label: '自定义流水号'}, {id:'msgfmt',label: '编码'}]; export default { name: 'OverallSend', data() { return { tableHead: tableHeadOptions, isIndeterminate: true, checkAll: undefined, exportRecordList: { columns: [], }, }; }, methods: { //检查表头是否全选 handleCheckAllChange(val) { //取出每项id作为一个数组 let checked = tableHeadOptions.map(function(item){return item.id;}); this.exportRecordList.columns = val ? checked : []; this.isIndeterminate = false; }, //检查表头选择是否有改变 handleCheckedHeadChange(value) { let checkedCount = value.length; this.checkAll = checkedCount === this.tableHead.length; this.isIndeterminate = checkedCount > 0 && checkedCount < this.tableHead.length; }, } }; </script>
3、ES6实现数组去重
[code]taskId=[1,2,3,5,2,7,3,9] let x = new Set(taskId); alert(x.size)//输出6
4、判断数组是否存在重复的元素
[code]const phones = new Array("13557042666", "13557042666", "13557042665", "13557042664", "13557042663", "13557042662")
方法①
[code]const hash = {} for(let i in phones){ if(hash[phones[i]]){ this.$message({ message: '手机号不能重复!', type: 'warning' }) return } hash[phones[i]] = true }
方法②
[code]const nary = phones.sort() for(let i = 0; i < nary.length - 1; i++) { if(nary[i] == nary[i + 1]) { this.$message({ message: '手机号不能重复!', type: 'warning' }) } }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 【vue+axios】一个项目学会前端实现登录拦截
- jenkins前端实现自动化部署(vue项目)
- 前端VUE框架套件安装pycharm新建VUE使用
- 你应该选择哪一个Web前端框架?,选Vue还是React?
- 前端代码命名规范(JS\CSS\Vue)
- 九个很受欢迎的vue前端UI框架
- 认识Vue.js+Vue.js的优缺点+和与其他前端框架的区别
- 前端框架vue.js系列(9):vue构造、vue组件与vue实例的关系
- 前端学习(七):VUE HTTP调用方式总结
- 目前前端最火的框架Vue,不学小心找不到工作
- vue前端生成简易验证码
- Vue 前端跨域的解决方案(心得记录)
- 用Vue.js往前端填充数据时遇到的问题
- 前后端分离前端vue后端python登录验证
- Django项目中创建前端Vue.js项目的步骤
- 前后端分离之VueJS前端
- 高性能流媒体服务器EasyDSS前端重构(一)-从零开始搭建 webpack + vue + AdminLTE 多页面脚手架
- 比较好的前端方法库及一些vue如何引入静态文件
- vue.js之入门快速学习(30分钟搞定前端増删改查)
- 最火的前端框架--Vue