图解析FastAdmin中的表格列表的功能:https://ask.fastadmin.net/article/323.html
如何在表格td里增加一个按钮:如何在列表操作列区域添加按钮
初始化表格
table.bootstrapTable --》columns 增加:
{
field: 'operate', title: __('Operate'), table: table,
buttons: [
{name: 'detail', text: '详情', title: '详情', icon: 'fa fa-list', classname: 'btn btn-xs btn-primary btn-dialog', url: 'page/detail'}
],
events: Table.api.events.operate, formatter: Table.api.formatter.operate
}
其中:
buttons: [{name: 'detail', text: '详情', title: '详情', icon: 'fa fa-list', classname: 'btn btn-xs btn-primary btn-dialog', url: 'page/detail'}]
说明:
name:唯一标识,其中index/add/edit/del/multi/dragsort这几个框架已经暂用,如果使用将会覆盖已有属性
text:按钮上的文本,可以为空时,为空时按钮将不显示文字信息,为空时最好配置上icon的值
title:按钮的标题信息,当鼠标移到上面时显示的文字,同时作为dialog弹出窗时的标题信息
icon:按钮上的按钮信息,可使用Font-awesome的按钮,当text为空时请务必填写该值
classname:按钮的class标签的值,建议btn btn-xs为必选,这样可以和其它按钮更加协调搭配,可搭配用的按钮颜色有btn-primary、btn-success、btn-danger、btn-warning,还有额外的功能class如btn-dialog、btn-addtabs、btn-ajax,下面会详细介绍。
url : 按钮点击后跳转的链接,可选且可使用相对链接。为空时按钮的链接为javascript:;
dropdown:按钮分组名称,用于将按钮分组下拉
refresh:是否在执行完事件后刷新列表,常配合classname:'btn-ajax'使用
confirm:提示确认信息,常配合classname属性为btn-ajax、btn-dialog、btn-addtabs使用
extend:扩展属性,用于扩展按钮的自定义属性,比如自定义尺寸:extend:'data-area=["300px","350px"]'
hidden:控制按钮是否隐藏属性,支持function
visible:控制按钮是否显示属性,支持function
disable:控制按钮是否禁用属性,支持function
addclass:给标签,额外增加类名
列表中,如何去掉自带的修改和删除按钮:在js文件中index方法:
$(table).data("operate-edit", null); $(table).data("operate-del", null);
// 为表格绑定事件
Table.api.bindevent(table);
如何动态的控制某一行的按钮的显示和隐藏:
通过按钮属性的hidden来控制:
hidden:function(row){
if(row.is_ok){ return true; } }
其他解决方法:
https://ask.fastadmin.net/question/468.html
https://ask.fastadmin.net/question/1762.html
如何调起弹窗:
$('.btn-test').on('click', function () {
Fast.api.open('shop/test', __('Test'), $(this).data() || {});
});
//$(this).data() 就是 data-url、data-test数据
关于按钮弹窗并回调的处理参考:https://ask.fastadmin.net/article/2527.html
回调刷新,只要工具栏中存在刷新按钮就可以:
<div id="toolbar" class="toolbar "> <a href="javascript:;" class="btn btn-primary btn-refresh hidden"><i class="fa fa-refresh"></i></a> </div>
js调用:$(".btn-refresh").trigger("click");
表格中日期格式设置:
法1、在input标签中设置:data-date-format="YYYY-MM-DD HH:mm:ss"
法2、formatter: Table.api.formatter.datetime, datetimeFormat:"YYYY-MM-DD" },
表格中动态生成下拉多选或单选框:{:build_select('group[]', $groupdata, $groupids, ['class'=>'form-control selectpicker', 'multiple'=>'', 'data-rule'=>'required'])}
第一个参数:select的name值
第二个参数:select的下拉数据
第三个参数:选中的selected数值
第四个参数:class
第五个参数:'multiple'=>'' 表示多选,全掉这个参数,表示单选
第六个参数:表示验证数据规则
如何设置成卡片游览模式?
Table.defaults.cardView = true;
手机端自动使用卡片模式游览:
修改核心文件require-table.js:
if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) {
Table.defaults.cardView = true;
}
改成
if (navigator.userAgent.match(/(iPod|iPhone|iPad|Android)/)) {
Table.defaults.cardView = true;
}
富文本编辑器中图片追加域名前缀的方法:
修改application/extra/upload.php中的 cdnurl 值。
FastAdmin中使用Ajax发送请求:https://ask.fastadmin.net/article/2402.html
Fast.api.ajax({ url:'控制器/方法', data:{name:"名称"},
loading:false, //是否显示loading success:function(data, ret){ //成功的回调 alert(ret.msg); return false; //返回false,则阻断系统的提示,系统识别的格式:{code:1,msg:'',data:null} },
error:function(data, ret){ //失败的回调 alert(ret.msg); return false;
} });
表格分页数量设置:table.bootstrapTable({ pageSize:2 })
操作提示框:
Toastr.success("操作成功!"); layer.msg('操作成功');
Toastr.clear();//清除
Toastr.remove();//删除
Layer.closeAll();//关闭加载
表格字太多,导致页面变形:移除table的类名table-nowrap
<table id="table" class="table table-striped table-bordered table-hover table-nowrap"
或者隐藏: {field: 'xxx', title: __('Scope'),cellStyle: {css: {"max-width": "300px","white-space":"nowrap","overflow":"hidden","text-overflow":"ellipsis"}}},
绑定表单事件:
Form.api.bindevent(form, success, error, submit);
用法:
Form.api.bindevent($("form[role=form]"), function(data, ret){
Toastr.success(data);//成功
}, function(data, ret){
Toastr.success("失败");
}, function(success, error){
Form.api.submit(this, success, error);
return false;
});
表单验证,nice-validator提示位置:
自定义表单提醒方式 自定义表单提醒样式 自定义表单提醒样式使用theme关键字,其定义如下: yellow_right----在右侧提示 yellow_right_effect----右侧提示并有动态效果 simple_bottom----在下方显示 yellow_top-----在上方显示
eg: <form id="add-develop-form" role="form" data-toggle="validator" method="POST" action="" data-validator-option="{theme:'simple_bottom'}" >
或者:
在input标签加上<span class="msg-box"></span>,该标签用于显示 错误提示框