【问题标题】:md-select works only in first click on OS Xmd-select 仅在第一次单击 OS X 时有效
【发布时间】:2018-01-04 13:56:07
【问题描述】:

我在电子应用程序中使用 angularjs (1.x) 和 angular-material。我在一个视图中有两个md-selects,当我尝试在 Windows 中使用它时,一切正常。但是当我在 OS X 中使用它时,md-select 在第一次单击后停止工作。我单击它并打开项目列表,但如果我再次单击md-select,它不再显示项目列表。值得注意的是,如果我点击第一个md-select,第二个md-select 也会停止工作。

检查 html,我可以看到,md-select 有两个子元素:md-select-valuediv(md-select-menu-container)。单击并选择任何项目后,md-select-menu-container 消失。也许它与问题有关,但第二个md-select 仍然有一个md-select-menu-container,我无法打开它。

即使尝试了一个没有任何选项的简单md-select,它仍然只在第一次点击时打开。

<md-select ng-model="vm.test">
</md-select>

有人知道为什么会这样吗?

我会把我的代码放在这里,但我认为这个错误在我项目的其他地方。因为如果我在角材料的演示页面中尝试md-selects,它会按预期工作。

我的项目在github,大家可以试试: https://github.com/jradesenv/controle-projeto

更新:

我使用 nodejs express 创建了一个简单的服务器来托管 angular 应用程序,它可以在 chrome 和 safari 上完美运行。这似乎是一个只有电子的错误。我注意到它不仅是 md-selects,而且 md-dialogs 和 md-toast 也有一些奇怪的延迟来打开和关闭,只在电子中运行。

谢谢!

【问题讨论】:

  • 我假设 Angular 版本 2+。 Angular 材料仍然有一些错误,因此可能值得在 Guthib 上检查。我想控制台中有一个错误(也可以在电子上找到),它应该提供有关您所看到的错误的更多详细信息
  • 我认为这个问题还需要更多信息。不幸的是,我目前没有时间下载该项目。
  • 另外,v1我忘记了很多,所以把这个留给别人
  • @JeanRobert 你能用英文提供存储库吗,你的 repo 中的一些文件夹名称不是英文的,很难通过,或者如果你能告诉我们页面名称,指令, 出现问题的地方对我们有帮助
  • @JeanRobert 我刚刚运行了您的代码,它似乎工作正常。究竟是什么问题? md-select 下拉菜单正确打开和选择值(无论任何操作系统平台)。

标签: angularjs macos electron angularjs-material md-select


【解决方案1】:

我使用 angular material 1.1.5 时出现此错误。当我将它降级到 1.1.0 时,我可以看到 mdSelects 按预期工作,但仍然有一些其他错误,例如 mdDialog 关闭延迟、更改选项卡延迟等。这是角度材料动画的错误。

对于遇到此问题的任何人,我仍在使用 angular-material 1.1.5 ,但我仅在 Safari 中禁用了所有动画,现在它按预期工作。

我正在使用此代码注入特定的 css 文件和引导 angularjs,并在特定 css 文件中禁用所有动画:

function boot() {
    if (/Safari/.test(navigator.userAgent)) {
        var head = document.head,
        style = document.createElement('link');

        style.type = 'text/css';
        style.rel = 'stylesheet';
        style.href = 'styles/disable-animations.css';

        head.appendChild(style);
    }

    window.onload = function () {
        angular.bootstrap(document, ['app']);
    };
}

//styles/disable-animations.css 文件

* {
transition: none!important;
transition-duration: 0ms!important;
transition-delay: 0ms!important;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多