自定义action继续的虚构类的基类里有个actionScript方法可重写,可用来提交额外的参数
但是直接在handle方法里是不许可直策应用$a的值的。有点像java的final ,详细的缘故原由没搞明白。
网上查到一个 利用session传参的。有点违背编程的思想。以是就翻了下源码,考试测验了三次才成功。

setAgentId方法用来赋值,但是handle方法吸收不到新值。
parameters方法 是用来设置model参数的,单一浸染无法重写。
// GridAction.php / @return array / public function parameters() { return ['_model' => $this->getModelClass()]; }
翻找RowAction的基类Action.php 才创造actionScript方法可重写,可传参。以前也看到过这个方法,但是没创造他的详细浸染。
// Action.php/ @return mixed / protected function addScript() { if (!is_null($this->interactor)) { return $this->interactor->addScript(); } $parameters = json_encode($this->parameters()); $script = <<<SCRIPT(function ($) { $('{$this->selector($this->selectorPrefix)}').off('{$this->event}').on('{$this->event}', function() { var data = $(this).data(); var target = $(this); Object.assign(data, {$parameters}); {$this->actionScript()} {$this->buildActionPromise()} {$this->handleActionPromise()} });})(jQuery);SCRIPT; Admin::script($script); } / 这个就像form,html,href等方法,许可重写 @return string / public function actionScript() { return ''; }
作者还是很存心的。