语义UI转换不适用于Meteor 1.3+

时间:2016-05-03 16:48:24

标签: jquery meteor semantic-ui

我最近升级到Meteor 1.3.2.4,并且所有Javascript行为似乎都被打破了。例如,我有一个带有此HTML的可忽略消息块:

import { Meteor } from 'meteor/meteor';
import { Template } from 'meteor/templating';
import { $ } from 'meteor/jquery';
import { FlowRouter } from 'meteor/kadira:flow-router';

import '../../../client/lib/semantic-ui/definitions/modules/transition';

import './login.html';

Template.App_login.events({
  'submit #login-form'(event) {
       event.preventDefault();
       const user = event.target.user.value;
       const password = event.target.password.value;

       Meteor.loginWithPassword(user, password, (error) => {
           if (error) {
               $('.error.message').toggleClass('hidden')
                  .find('.reason').text(error.reason);
           } else {
               FlowRouter.go('App.home');
           }
      });
  },
  'click .close.icon'(event) {
      $(event.target).closest('.message').transition('fade');
  },
});

这个javascript:

Transition: Element is no longer attached to DOM. Unable to animate. fade <div class=​"ui error message">​…​</div>​

当我点击关闭图标时,我收到错误popup

这也发生在lxml

这似乎与this question类似,仍在等待接受的答案。

项目部门:https://github.com/blueknightone/2-minute-attack/tree/2-minute-attack-11

1 个答案:

答案 0 :(得分:0)

根据Pankaj Jatav的上述建议,我仔细研究了导入,但不是JS文件。

事实证明,问题是由于Semantic-UI的主题机制造成的。我使用的是Material主题,并将themes.config.import.less中的所有内容都切换为'material

该修复原来是在@transition : 'material';

中将@transition : 'default';重置为client/lib/semantic-ui/themes.config.import.less

解决了转换和弹出的问题。由于我有semantic:ui个包,因此不需要导入或使用semantic:ui-transition这样的包。

感谢Pankaj让我走上了我需要继续前进的轨道。