zuweie / FieldInteraction

Laravel-admin一个功能补充,使得Laravel-admin中各个Field的控件能够互动
107 stars 14 forks source link

FieldInteraction

项目来由

至于为什么有时候不会发生copy。这个我也不晓得。咱也不敢说,咱也不敢问,有知道的老铁,请私信一下~~

用法

在form使用了tab函数的情况下,需要把$form->scriptinjecter(...)这个函数写在任意一个tab函数中,代码如下:

 protected function form() { 

        // UserController form 函数中
        $form = new Form(new User());

        // 创建触发脚本
        $trigger = $this->createTriggerScript($form);

        // 创建监听和响应的脚本。
        $subscribe = $this->createSubscriberScript($form, function($builder){
            $builder->subscribe('username', 'input', function($event){
                return <<< EOT

                function (data) {
                       console.log(data);
                }
EOT;
            });
        });

        // 使用了tab的form

         $form->tab('Basic info', function ($form) {

            $form->text('username');
            $form->email('email');

        })->tab('Profile', function ($form)  {

            $form->image('avatar');
            $form->text('address');
            $form->mobile('phone');

        })->tab('Jobs', function ($form) use ($trigger, $subscribe)  {
                $form->text('company');
                $form->date('start_date');
                $form->date('end_date');

                /*** scriptinjecter 函数放在任意一个tab函数中,这里示例代码放在了最后一个tab,也可以放任意前两个tab函数,任君选择 ***/
                /*** scriptinjecter 函数只需在任意一个tab中调用一次即可,不能重复调用!***/
                $form->scriptinjecter('xxx', $trigger, $subscribe);
        });
}

说明

控件类 能否触发 触发事件 说明
Text input / change -
Select select / unselect -
Radio checked -
checkbox checked / unchecked -
Textarea input / change -
Url input / change -
Color changeColor -
Email input / change -
Mobile input / change -
File change / fileclear -
Image change / fileclear -
Date - -
Number number_change -
Currency change / input -
SwitchField switchchange -
Tags select / unselect -
Icon - -
MultipleFile change / fileclear -
MultipleImage change / fileclear -
ListBox - -
Rate change / input -
Password - -
Datetime - -
Time - -
Year - -
Month - -
DateRange - -
DateTimeRange - -
TimeRange - -

后记