多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 事件处理 > 图片演示: ![](https://img.kancloud.cn/a1/43/a143991db26720a359d5e64086e74bac_1611x716.png) > 说明: 头部工具栏、操作栏等的异步事件处理。 方法:`event($callable)` * 参数 **callable** (必须),为 callable 闭包。 ```php event(function($event,$ids){...}); ``` * 参数 * **event** string|number 类型 事件对应的`key`值 * **ids** array 类型 选中数据行id集合数组 * 返回值:\think\response\Json 类型 * 成功:`success_json()` 可携带参数返回 例:success_json(["reload"=>false]); // 禁止表格重新加载 说明:reload 默认为true * 失败:`error_json()` 可携带错误提示返回 该方法参数为`回调方法`,前端页面内触发的异步事件,会导致该方法的执行(如:如`移入回收站`等异步操作)。该`回调方法`携带`$event`、`$ids`参数,返回json执行结果。配合`success_json`、`error_json`公共方法使用。 > 参数说明: | 参数 | 说明 | | ---- | ---- | |`$event`| 事件对应的`key`值,如:`移入回收站`的`key`值为`22` | |`$ids`| 事件影响行所对应的主键`id`数组 | > 示例: 处理表格的还原、移入回收站、删除事件。方法如下: ```php $builder=YT('general_example')->event(function($event,$ids){ switch ($event){ // 还原 case 11: Db::name('test')->where([ ['id','in',$ids], ['state','eq',22], ])->update(['update_time'=>time(),'state'=>11]); return success_json(); // 移入回收站 case 22: Db::name('test')->where([ ['id','in',$ids], ['state','eq',11], ])->update(['update_time'=>time(),'state'=>22]); return success_json(); // 删除 case 99: Db::name('test')->where([ ['id','in',$ids], ['state','eq',22], ])->update(['update_time'=>time(),'state'=>99]); return success_json(); // 默认返回错误信息 default: return error_json(); } }) ```