1.表格属性
width: '100%',
calcHeight: 'auto',
height: 'auto',
maxHeight: 'auto',
border: true,
expand: false,
index: false,
indexLabel: '#',
stripe: true,
showHeader: true,
defaultSort:表格的排序字段{prop:'date',order:'descending/ascending'} prop默认排序字段,order排序方式
align: 'center',
menu: true,
menuWidth: 240,
menuAlign: 'left',
searchSize: 'small',
columnBtn: true,
refreshBtn: true,
addBtn: true,
searchBtn: true,
editBtn: true,
delBtn: true,
menuTitle: '禁用',
labelWidth: 100,
selection: true,
selectable:(row,index)=>{
return row.id == 1;
},
2.列属性
label: '姓名',
prop: 'name',
placeholder: '请输入姓名',
align: 'left',
width: 100,
minWidth: 'auto',
sortable: false,
hide: true,
span: 12,
precision: 2,
search: false,
maxRows: 4,
minRows: 2,
multiple: false,
format: "",
valueFormat: "",
clearable: true,
size: 'medium',
editDisabled: false,
editDisplay: false,
addDisabled: false,
addDisplay: false,
slot: false,
formslot: false,
fixed: true,
formWidth: 'auto',
formHeight: 'auto',
overHidden: false,
rules:
dicData:
dicMethod:
dicQuery:
dicUrl:
3.表格事件
:before-open=“beforeOpen”
beforeOpen(done, type) {
if (["add", "edit"].includes(type)) {
}
if (["edit", "view"].includes(type)) {
}
done();
}
:before-close=“beforeClose”
beforeClose(done) {
this.$refs.crud.tableForm = {};
this.$refs.crud.value.name = "";
this.$refs.crud.value.addDisabled = false;
done();
}
:cell-class-name=“addClass”
addClass({row,column,rowIndex,columnIndex}){
if(column.property == 'name'){
return "nameStyle";
}
}
/deep/ .nameStyle span>span{
background-color: #ecf5ff;
border-color: #d9ecff;
height: 32px;
padding: 0 10px;
line-height: 30px;
font-size: 12px;
color: #409EFF;
border-width: 1px;
border-style: solid;
box-sizing: border-box;
white-space: nowrap;
display: inline-block;
}
:page与:on-load
<template>
<avue-crud
:data="data"
:option="option"
:page="page"
:table-loading="tableLoading"
@on-load="onLoad"
></avue-crud>
</template>
<script>
export default {
data() {
return {
tableLoading: false,
searchForm:{
},
page: {
pageSize: 20,
currentPage: 1,
total: 0
},
data: [],
option: {
align: 'center',
menuAlign: 'center',
column: [
{
label: '姓名',
prop: 'name'
},
{
label: '性别',
prop: 'sex'
}
]
}
}
},
methods:{
onLoad(page) {
var params = this.searchForm;
getRequest(
Object.assign(
{
current: page.currentPage,
size: page.pageSize,
},
params
)
).then((response) => {
this.data = response.data.records;
this.page.currentPage = response.data.current;
this.page.pageSize = response.data.size;
this.page.total = response.data.total;
this.tableLoading = false;
});
}
}
}
</script>