curd组件常用操作
在option里可以设置表格的属性。
option: {
height:'auto', //表格高度
calcHeight: 30, //表格高度差(主要用于减去其他部分让表格高度自适应)
tip: false,
searchShow: true, //首次加载是否显示搜索
searchMenuSpan: 4, //搜索按钮长度
searchSpan:5, //搜索框长度 最大长度24
border: true, //表格边框是否显示
index: true, //是否显示序号
viewBtn: false, //是否显示查看按钮
selection: true, //是否显示行多选
dialogClickModal: true,
showHeader:true,
addBtn:false, //是否显示表格左侧添加按钮
editBtn:false, //是否显示操作栏编辑按钮
delBtn:false, //是否显示操作栏删除按钮
excelBtn:false, //表格左侧导出按钮是否显示
labelWidth:120, //表单前面的标题长度
refreshBtn: true, //表格上面小的 刷新按钮
columnBtn: true, //表格上面小的 列表按钮
searchBtn: true, //表格上面小的 搜索按钮
menu: true, //是否显示操作栏
}
在column可以设置列的属性。
label: "创建人",
prop: "createUser",
type:"select", //设置类型,常用的类型右选择类型select,搜索类型search,日期类型datetime,文本框textarea ,默认为输入类型input等
addDisplay: false, //新增界面时是否显示该列
editDisplay: false, //编辑界面时是否显示显示该列
viewDisplay: false //查看界面是否显示
display: false, //是否在新增、编辑、查看显示
labelWidth: 150, //字段名宽度
slot: true, //是否开启自定义
search:true //是否开启搜索功能
hide:true, //是否在表格隐藏该列
rules: [{ //表单校验规则
required: false, //是否为必填项
message: "请输入", //输入框内的提示信息
trigger: "blur"
}],
在option里可以设置表格左侧新增按钮是否显示 addBtn:true
在option里可以设置表格右侧操作栏编辑按钮是否显示 editBtn:true
在option里可以设置表格右侧操作栏删除按钮是否显示 delBtn:true
自定义操作栏按钮时,需要在将slot设为”menu”,即自定义操作栏按钮。
你可以使用element的组价自定义按钮样式,type为按钮类型,size为大小,icon为图标,@click可以点击调用methods方法。你可以去https://element.eleme.cn/#/zh-CN查看其组件的使用。
<template slot="menu">
<el-button type="danger"
size="small"
icon="el-icon-eleme"
plain-->
@click="自定义方法名">自定义按钮
</el-button>
</template>
自定义表格左侧按钮时,需要在将slot设为”menuLeft”,即自定义表格左侧按钮。
<template slot="menuLeft">
<el-button type="primary" size="small">自定义按钮</el-button>
</template>
首先在对应字段开启搜索功能 search:true 。
你可以通过searchLabelWidth:100来设置标题宽度 、searchOrder:1 设置搜索顺序、searchSpan:18 设置搜索框宽度、searchValue:‘small’ 设置搜索默认值、
时间类型type:’datetime’ ,设置其search:true
。
使用时间范围搜索时,需要设置searchRange:true
,即开启时间范围搜索。
然后在onload( )里添加代码,设置两个时间段参数:
onLoad(page, params = {}) {
//加入以下为设置时间段查询
let data = Object.assign(params, this.query);
if(this.query.createTime) {
data.createTime_datege = params.createTime[0];
data.createTime_datelt = params.createTime[1];
delete data.createTime;
}
}
然后在后端的对应的entity的controller里,更改list()方法接收参数的类型,使用Map接收:
public R<IPage<Entity>> list(@ApiIgnore @RequestParam Map<String, Object> entityMap, Query query) {
IPage<Entity> pages = entityService.page(Condition.getPage(query), Condition.getQueryWrapper(entityMap, Entity.class));
return R.data(pages);
}
1.7.3.1 系统字典
在 系统管理-系统字典 页面点击 新增 按钮,设置其 字典编号 和字典名称等后保存。
然后在vue界面对应的字段中,设置type为select类型,加入 字典地址
dicUrl: '/api/blade-system/dict/dictionary?code=poc_category',
props: {
label: "dictValue",
value: "dictKey"
},
其中,code=” ”的内容为你填入的字典编号, dictKey为字典的序号,dictValue为字典的名称。
1.7.3.2 业务字典
在 系统管理-系统字典 页面点击 新增 按钮,设置其 字典编号 和字典名称等后保存。
然后在vue界面对应的字段中,设置type为select类型,加入 字典地址
dicUrl: '/api/blade-system/dict-biz/dictionary?code=poc_category',
props: {
label: "dictValue",
value: "dictKey"
},
其中,code=” ”的内容为你填入的字典编号, dictKey为字典序号,dictValue为字典名称。
1.7.3.3 静态字典
设置dicData为一个Array数组即可,便会自动加载字典到对应的组件中,注意返回的字典中value类型和数据的类型必须要对应,比如都是字符串或者都是数字。
dicData:[{
label:'一级',
value:0,
children:[
{
label:'一级1',
value:1,
},{
label:'一级2',
value:2,
}
]
}],
1.7.4 字段内容格式化
使用formatter方法格式化内容。
{
label:'姓名',
prop:'name',
formatter:(val,value,label)=>{
return val.name+'格式化内容'
}
1.8 自定义表格列
首先设置列的属性slot为true,在卡槽中用prop作为卡槽的名字即可。
如设置自定义prop为name的列:
<template slot="name">
<!-- 此处自定义你的效果--!>
</template>
1.9 自定义表单项
首先设置列的属性formslot为true,在卡槽中指定列的prop加上Form作为卡槽的名称。
如设置自定义prop为name的列:
<template slot="nameForm" >
<!-- 此处自定义你的效果-->
</template>