前言:
目前你们对“ant design vue table 排序”大约比较看重,大家都想要知道一些“ant design vue table 排序”的相关文章。那么小编也在网络上搜集了一些关于“ant design vue table 排序””的相关知识,希望你们能喜欢,小伙伴们快快来了解一下吧!实现的方法:highLightCard 为需要合并的字段(注意,这里根据需求修改字段)
处理函数(联调后,对返回数据data进行匹配)://用来接收匹配的结果const myArray = ref([]);const setRowSpan = (data) => { //保存上一个name let x = ""; //相同name出现的次数 let count = 0; //该name第一次出现的位置 let startindex = 0; for (let i = 0; i < data.length; i++) { //字段 highLightCard console.log(data[i].highLightCard); //这里是指定需要合并的列 let val = data[i].highLightCard; if (i === 0) { x = val; count = 1; myArray.value[0] = 1; } else { if (val === x) { count++; myArray.value[startindex] = count; myArray.value[i] = 0; } else { count = 1; x = val; startindex = i; myArray.value[i] = 1; } } }};
//api 返回数据 res.result.resultList//接收赋值给表格tableData.value = res.result.resultList;//对数据进行匹配setRowSpan(tableData.value);
表格
<a-table :dataSource="tableData" :columns="columns" />
表头,重点在 customCell ,return { rowSpan: myArray.value[rowIndex] },我这边用了isEditID.value || isEdit.value 判断内嵌编辑,编辑状态默认返回 { rowSpan: 1 }
const tableColumns = reactive([ { title: "领先标志", width: "25%", dataIndex: "highLightCard", render: (row, dataIndex, index) => { //这里判断是否是进入编辑状态 if (isEditID.value || isEdit.value) { return ( <a-input size="small" v-model:value={row.highLightCard} onChange={(e) => { editObj.value = row; }} /> ); } return <span>{row[dataIndex]}</span>; }, customCell: (record, rowIndex, column) => { if (isEditID.value || isEdit.value) { return { rowSpan: 1 }; } return { rowSpan: myArray.value[rowIndex] }; }, }, { title: "序号", width: "4%", dataIndex: "sort", align: "center", }])
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。