fastadmin后台下拉selectPage编辑数据显示问题

作者:有用网

当我们使用fastadmin的时候,使用了selectPage 做下拉,单选或者多选的时候,你会发现当你打开编辑窗的时候总是会出现bug,单选总是显示第一个,多选总是显示全部内容,这是为什么?

我们打开google浏览器的F12来看下一,发现当你打开编辑窗口的时候,发送了2个请求,一个是请求文章的分类(我做的事单选),一个是请求文章的关键字(我做的是多选),问题就在这里了,当你请求文章分类的时候,如果给你返回了全部的数据,那你的编辑窗口的文章分类肯定是全部的第一个,当你请求关键字的时候,如果也返回的是全部的数据的话也是显示全部数据,而不是选中你选的那几个或那几个。

原因就在里,你应该在打开编辑窗口的时候返回的文章分类仅有你选中的那个

这里才会显示正常


这里当你打开编辑窗口的时候它发送请求给你,请求中有一个keyValue,你可以根据这个值去处理你的数据称为那一个文章分类,然后返回来就好了。


这时候有人问,add的时候和修改的时候咋办,不要紧,当你add的是时候你返回全部,当你修改点击文章分类的时候,它还会发一个请求,和add一样,请求全部就好了。

所以至此,关键问题在于你打开编辑窗口的时候,发送的请求不应该是返回全部的数据即可。

或者你可以查看application\admn\library\traits\Backend.php里面的index方法

里面有这样一段代码,阅读后,你会发现原因。

//如果发送的来源是Selectpage,则转发到Selectpage

        if ($this->request->request('keyField'))
        {
            return $this->selectpage();
        }





关键字
后台 PHP Fastadmin

阅读 1049 发布于 2021-03-24