yii2-admin autocomplete 输出弹出框位置不对

安装了

composer require dmstr/yii2-adminlte-asset "2.*"
composer require mdmsoft/yii2-admin "~2.0"

在新增菜单时,父级名称和路由都有autocomplete 的弹出框,但是位置在左上角,不方便使用。

分析:报错信息为Uncaught TypeError: elem.getClientRects is not a function,发现yii2最新版Asset引用了最新的jquery-3.5.1.js,版本不匹配,导致上述函数不能正常使用。

解决方案:
第一种:更换jquery为低版本,如:3.0版本。https://www.yiichina.com/question/3907

//在backend->views->layouts->main.php 加入下面代码就可以了

if(Yii::$app->controller->module->id=='admin'){

$this->registerJsFile('https://cdn.bootcss.com/jquery-migrate/3.0.1/jquery-migrate.min.js',['depends' => 'yii\web\JqueryAsset']);
}

第二种:替换jquery-ui.js、jquery-ui.css文件。https://www.yiichina.com/topic/8409
下载地址 jquery UI1.12.0-rc.2 (下载地址:https://cdn.bootcss.com/jqueryui/1.12.0-rc.2/jquery-ui.jshttp://jqueryui.com)
直接覆盖扩展的js文件就好了 项目根目录\vendor\mdmsoft\yii2-admin\assets\jquery-ui.js

参考:
http://www.netpc.com.cn/3072.html
https://www.yiichina.com/topic/8409

posted @ 2021-08-12 17:30  MeetU  阅读(255)  评论(0编辑  收藏  举报