1、根据某个状态设置table里selection是否可选
<el-table-column type="selection" align="center" :selectable='checkboxInit'></el-table-column>
在methods里添加如下方法
checkboxInit(row){
//返回的状态报告前两个字符是为 失败 则可选,否则不可选
let status = row.statusReport.substring(0,2)
if (status=="失败")
return 1;//可勾选
else
return 0;//不可勾选
},
2、checkbox前台显示为中文,后台传输为英文字段,将普通数组改为对象数组可实现
<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>
<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实现数组去重
taskId=[1,2,3,5,2,7,3,9]
let x = new Set(taskId);
alert(x.size)//输出6
4、判断数组是否存在重复的元素