遇到一个添加字段后,需要在前台显示文字的场景,在参考@loader 的文章"在已有的表上新增enum型字段前台显示问题处理" ,地址:https://ask.fastadmin.net/question/1546.html 处理了几次都没有成功,整理如下:
1.数据库字段可以是int、enum等类型,我的字段名是close,int类型;
2.model中添加以下函数:
protected $append = [ 'close_text' ]; public function getCloseTextAttr($value, $data) { $value = $value ? $value : (isset($data['close']) ? $data['close'] : ''); $list = $this->getCloseList(); return isset($list[$value]) ? $list[$value] : ''; } public function getCloseList() { return [ '1' => __('Close 1'), '2' => __('Close 2'), '3' => __('Close 3') ]; }
3.lang中添加相应的显示名称
return [ 'Close' => '状态', 'Close 1' => '填报中', 'Close 2' => '打分中', 'Close 3' => '完成'];
4.对应的js文件中增加如下字段:
{ field: 'close', title: __('Close'), searchList: { "1":__('Close 1'), "2":__('Close 2'), "3":__('Close 3') }, formatter: Table.api.formatter.normal},
按步骤做好以上工作,显示正常。
我是小白,不对的地方欢迎大家指正。
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。