偶然中找到了fastadmin,对我这种半吊子又全栈的,简直是神器。数据库,精通;php,自学过;html,js能看看,业务精通逻辑强,如虎添翼,一个人抵一个团队。
废话说了很多,下面进入正题,如何让selectpage显示多字段。例如编码和名称一起显示。
1、插件的官方说明文档。selectpage使用实例
https://terryz.gitee.io/selectpage/demo.html
这个demo的问题在于,没有完整的代码,只有核心代码。
结合其中的第4条和第8条,才可以实现。最终也是根据这个实现的。有几个坑,后续道来。基本上看下来,
需要一个ajax得到json类型的data,
然后再改造data的字段返回
2、回到fastadmin。如何在不写php程序的情况下,得到一个ajax,能返回data的。
先看看fastadmin的官方文档,是如何介绍selectpage的使用的
其中提到了data-source="category/selectpage"。这个是在Ajax.php文件中定义的,要自己写一个,对于半吊子还是算了。再看看一般自动生成的使用selectpage的文件,里面的data-source="XXX/index"。 心中一喜,是不是将需要用到的ajax的url,写成"XXX/index"就可以了?
答案是不可以。首先是url不对(会报404),需要改为 data:"/admin/XXX/index"。改成这样之后,就是各种异常。经过艰难的调试,才发现,index里面有句话,会强制回到selectpage默认支持的data格式。“如果发送的来源是Selectpage,则转发到Selectpage”。
那么控制器的index不适合使用了,复制一下index,改为index2,再删除转发到selectpage的对应代码段。再修改最终返回的data的josn格式。按照例子中介绍的,返回的数据里必须包含list(Array)和totalRow(number|string)两个节点
3、在add.html 中,增加例程的js段落。 细节
大功告成
这个问题,折腾了我两天半。对于懂的人来说,估计分分钟就解决了,对于我这种html都不会调试debug的人来说,异常艰辛。网上的大神们,都是三言两语,好吧,不在一个水准上。