目录
- 前言
- 1. 表格属性
- 2. 列属性
- 3. 互补
前言
项目实战中需要调某个样式,但作为后端开发者也只能硬着头皮,此贴作为初学前端的第一帖,以下为学习笔记。
- 对应form属性文档可看这篇文章:form属性文档
- 对应curd属性文档可看这篇文章:curd属性文档
1. 表格属性
以下是对其中表格属性的解释和补充说明:
menu:true, //是否显示操作菜单栏,设置为 true 表示显示,false 表示不显示。 menuTitle:"操作栏标题", //改变操作栏标题,自定义操作菜单栏的标题。 menuWidth:240, //操作菜单栏的宽度。 menuAlign:'left', //菜单栏对齐方式,可以设置为 'left'、'center' 或 'right'。 addBtn:true, //是否显示添加按钮,用于在表格中添加数据。 searchBtn:true, //是否显示搜索显隐按钮,当表格列中有搜索的属性或 searchslot 为 true 时,自定义搜索按钮起作用。 editBtn:true, //是否显示行内编辑按钮,用于编辑表格中的行数据。 delBtn:true, //是否显示行删除按钮,用于删除表格中的行数据。 width:'100%', //表格宽度,可以设置为百分比或具体数值,用于定义表格的宽度大小。 calcHeight:'auto', //表格高度差,主要用于减去其他部分,以便让表格高度自适应。 height:'auto', //表格高度,可以设置为具体数值或 'auto',用于定义表格的固定高度。 maxHeight:'auto', //表格最大高度,可以设置为具体数值或 'auto',用于限制表格的最大高度。 border:true, //是否显示表格边框,设置为 true 表示显示,false 表示不显示。 expand:true, //是否展开折叠行,设置为 true 表示允许展开折叠行,false 表示不展开。 index:true, //是否显示表格序号,根据分页会自动计算,例如每页10行,第二页会从11开始计数。 indexLabel:'xx', //序号的标题,可以自定义。 stripe:true, //是否显示表格的斑马条纹,设置为 true 表示显示,false 表示不显示。默认为false showHeader:true, //是否显示表格的表头,设置为 true 表示显示,false 表示不显示。默认就是true defaultSort: //表格的默认排序字段,包括 prop(默认排序字段)和 order(排序方式,'descending' 或 'ascending')。 align:'center', //表格列对齐方式,可以设置为 'left'、'center' 或 'right'。 searchSize:'small', //搜索控件的大小,可以设置为 'small' 或 'mini'。 columnBtn:true, //是否显示列显隐按钮,用于显示或隐藏表格的列。 refreshBtn:true, //是否显示刷新按钮,用于刷新表格数据。 labelWidth:100, //新增表单的 label 宽度。 highlightCurrentRow:true, //true 选中这一行的时候会高亮,默认为false selection:true, //是否显示勾选列,用于显示表格中的勾选列。 selectable: //根据条件判断该行是否能被勾选的函数,接收行数据和索引作为参数,返回 true 表示可勾选,false 表示不可勾选。
复制
- 显示操作按钮的属性:(并增加编辑 以及删除)
menu: true,
menuWidth: 240,
menuAlign: ‘left’,
delBtn: true,
截图如下:
- 对于序号以及序号标题的自定义:
index: true,
indexLabel:‘标题’,
截图如下:
- 对于这个属性:
stripe:true,
,会将整个excel报表渲染成灰白相间,形成斑马纹
- 对于这个属性:
selection:true,
表示开启多选功能
博友回馈saveBtnText属性不生效,最后测试一番,可以生效的!
截图如下:
截图如下:
对于这类属性还有很多
editBtnText:'编辑文案', viewBtnText:'查看文案', printBtnText:'打印文案', excelBtnText:'导出文案', updateBtnText:'修改文案', saveBtnText:'保存文案', cancelBtnText:'取消文案',
复制
2. 列属性
以下是对其中列属性的解释和补充说明:
label: 列名称, //用于显示在表头的列标题。 prop: 列字段, //对应数据源中的字段名。
复制
eg:
column: [ { label: "码农工单号", prop: "orderNo" }, ........
复制
类似如下界面:
对应还有其他属性,补充如下:
placeholder: '请输入提示', //控件提示输入语句,当表单元素为空时显示的文本。 align:'center', //列的对齐方式,覆盖表格的整体对齐方式。 可以选择left/center/right width: 100, //列宽度,指定该列的宽度大小。 minWidth: 'auto', //列的最小宽度,当列内容过短时,不会小于这个宽度。 sortable: false, //是否允许排序该列的内容。 hide: true, //是否隐藏该列,在表格中起作用。 search: false, //是否支持搜索,通常用于表格中的搜索功能。 multiple: false, //是否允许多选,当表单元素类型为选择框(select/tree)时。 format: "", //显示值的时间格式,用于显示时间的列。 valueFormat: "", //真实值的时间格式,用于提交表单时的时间格式,比如timestamp表示时间戳 clearable: true, //表单是否可清空。 props: { label: 'xx', value: 'xx' }, // 数据字典属性的配置对象,具体参考Props参考配置 size: 'medium', //表单大小,包括medium(中)、small(小)、mini(迷你)。 editDisabled: false, //表单编辑时是否禁止 editDisplay: false, //表单编辑是否可见 addDisabled: false, //表单编辑时是否禁止 addDisplay: false, //表单编辑是否可见 rules:[{}], //表单规则,参考 Ele 表单规则配置对象。 dicData: [], //静态字典数据,传入本次需要的静态字典,以列的 dicData 写对象 key 值自动加载。 dicUrl: '/xx/xx', //字典的网络请求接口,支持参数格式,以列的 dicData 自动匹配 prop 字段名。 span: 10, //表单栅格列数,用于表单中设置元素所占用的栅格数。 precision: 2, //数字框输入精度,当表单元素类型为数字时,表示小数点后的位数。 maxRows: 4, //最大行数,当表单元素类型为文本域(textarea)时,表示文本域的最大行数。 minRows: 2, //最小行数,同上,表示文本域的最小行数。 slot: //是否启用列自定义,支持自定义列内容。 formslot: //是否启用表单自定义。 fixed: //是否冻结列,使得该列在水平滚动时保持固定位置。 formWidth: //表单宽度。 formHeight: //表单行高度。 dicMethod: //传入字典的请求方式。 dicQuery: //传入字典的请求参数对象。 overHidden: //是否超出隐藏,超出宽度时是否隐藏内容。
复制
- 上述中对应的
search: true
在页面中会配合搜索框进行显示,扩充其框大小可多补充一个searchSpan:10,
如图所示:
- 结合type属性,加入
multiple: true
,对应是可以多选的
- 结合时间,显示时间格式,具体如下:
type: “datetime”,
format: “yyyy-MM-dd HH:mm:ss”,
valueFormat: “timestamp”,
截图如下:
- 对应的rule规则,大致可通过如下设置:
rules: [{ required: false, message: "请输入码农工单号", trigger: "blur" }],
复制
- 对应的
dicUrl
链接可通过如下进行使用:dicUrl: ${baseUrl}/info/queryAll,
- 区分
placeholder
和tip
属性
代码如下:
placeholder:'1.02', tip:'注: 日期1月2号,则输入 1.02',
复制
截图如下:
- 区分format以及valueFormat的格式:
format: "M-dd", valueFormat: "yyyy-MM-dd",
复制
format是显示的日期,valueFormat是格式标准,可以是"yyyy-MM-dd",
或者"yyyy-MM-dd HH:mm:ss",
其中rulers还有一个验证参数:validator
比如开始时间和完成时间,具体范围选择如下:
{ label: "开始维修时间", prop: "beginRepareTime", rules: [{ validator:vOperateBeginTime, trigger: "blur" }], type: "datetime", format: "yyyy-MM-dd HH:mm", addDisplay:false, }, { label: "完成时间", prop: "repareTime", rules: [{ validator:vOperateRepareTime, trigger: "blur" }], type: "datetime", format: "yyyy-MM-dd HH:mm", addDisplay:false, },
复制
对应的validator
参数对应的是他们两者的方法
export default { components: {ElDialog}, data() { //维修完成时间的校验 var vOperateRepareTime =(rule, value, callback)=>{ var _this = this; if (!value) { return callback(new Error('完成时间不能为空')); } if(Date.parse(_this.formModelOperation.beginRepareTime)>Date.parse(value)){ return callback(new Error('完成时间不能小于开始时间')); } return callback(); }; //维修开始时间的校验 var vOperateBeginTime =(rule, value, callback)=>{ var _this = this; if (!value) { return callback(new Error('完成时间不能为空')); } if(Date.parse(value)>Date.parse(_this.formModelOperation.repareTime)){ return callback(new Error('开始时间不能大于完成时间')); } return callback(); };
复制
3. 互补
一般两者都是互补使用
比如增加一个搜索按钮,需要在表格属性中增加:
option: { height:'auto', calcHeight: 30, tip: false, searchShow: true, searchMenuSpan: 6, border: true, index: false, viewBtn: true, selection: false, dialogClickModal: false, menu:false, addBtn:true, highlightCurrentRow: true,
复制
截图如下:
对应的列属性:
column: [ { label: "工单编号", prop: "orderNo", rules: [{ required: true, message: "请输入工单编号", trigger: "blur" }], search:true, addDisplay:false, },
复制
截图如下: