表格字段
除了常规的字段展示,还支持丰富的列配置。如需了解更多请参考 amis crud 组件
基本用法
amis('column_item').name('id').label('ID') //展示ID
amis('column_item').name('role.name').label('role_name') //展示关联数据的name字段
amis('column_item').name('nickname').label(this.ctx.admin.t('nickname')) // 翻译 label
排序检索
可以在列上配置 sortable
该列表头右侧会渲染一个可点击的排序图标,可以切换正序和倒序
amis('column_item').name('id').label('ID').sortable(true)
快速搜索
可以在列上配置 searchable
该列表头右侧会渲染一个可点击的搜索图标,点击可以输入关键字进行该列的搜索
amis('column_item').name('id').label('ID').searchable(true)
快速过滤
可以在列上配置 filterable
属性,该列表头右侧会渲染一个可点击的过滤图标,点击显示下拉框,选中进行过滤
amis('column_item').name('status').label('Status').filterable(true)
或者指定过滤参数
amis('column_item').name('status').label('Status').filterable(amis('quick_filter_config').options([0,1,2,3]))
快速编辑
可以通过给列配置 quickEdit
可以实现表格内快速编辑并批量保存的功能。
amis('column_item').name('status').label('Status').quickEdit(true)
同时还要实现一个 quickSaveApi
的接口配置给 crud
组件
import Controller from 'easeadmin/controllers/resource_controller'
export default class quickEditController extends Controller{
builder(){
return super.builder().find('list').quickSaveApi('/api/quick/save')
}
}
显示状态
//status = 0 | 1 | success | pending | queue | schedule | fail
amis('column_item').name('status').type('status').label('Status'),
映射显示
// visible = 0 | 1
amis('column_item').name('visible').type('mapping').label('是否可见').attr('map', { '0': '不显示', '1': '显示' })
循环显示
// roles = [{name:'admin'},{name:'user'}]
amis('column_item').name('roles').label('角色').type('each').attr(
'items',
amis('tag').label('${name}').displayMode('rounded').color('#4096ff')
)