您的位置:首页 > Web前端 > Vue.js

前端之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'
})
}
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
淺晓 发布了10 篇原创文章 · 获赞 1 · 访问量 247 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: