当编辑时第二级联动无法自动被选择
找到vendor\encore\laravel-admin\src\Form\Field 写的 Select 文件
$script = <<<EOT
$(document).off('change', "{$this->getElementClassSelector()}");
$(document).on('change', "{$this->getElementClassSelector()}", function () {
var target = $(this).closest('.fields-group').find(".$class");
$.get("$sourceUrl",{q : this.value}, function (data) {
target.find("option").remove();
$(target).select2({
placeholder: $placeholder,
allowClear: $strAllowClear,
data: $.map(data, function (d) {
d.id = d.$idField;
d.text = d.$textField;
return d;
})
}).trigger('change');
});
});
$('{$this->getElementClassSelector()}').trigger('change'); //添加上这一句
EOT;
在接口中返回的数据中添加 selected => true 多选也是同理
public function getOption(Request $request){
$option = [
['id'=>1,'text'=>'测试1'],
['id'=>2,'text'=>'测试2','selected'=>true]
];
return $option ;
}
request()->route()->parameters()
laravel-admin删除有两种方式 按钮 和 列表的删除方式不同 使用按钮时直接在控制器中重写destroy即可,但会弹出多个提示框 将vendor\encore\laravel-admin\src下得Tree中 多余的弹框删除
toastr.success('{$trans['delete_succeeded']}'); //注释掉
使用列表的方式删除 若要重写 则要到模型中重写delete方法错误提示的方式采用抛出异常的方式
public function delete()
{
if (ModelsUnit::where('models_id',$this->id)->exists() || ModelsLevel::where('models_id',$this->id)->exists()) {
throw new \Exception('XXX');
}
parent::delete();
}