首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular cdk拖放:拖放到其他容器后保持元素样式

Angular cdk拖放:拖放到其他容器后保持元素样式
EN

Stack Overflow用户
提问于 2019-06-18 01:16:27
回答 1查看 881关注 0票数 1

我有一个带有行的时间线,并且我想在时间线的行之间移动项目。为此,我使用angular-cdk拖放,每一行都是一个cdkDropList。当在不同的列表之间移动行时,我希望保持所放项目的原始样式,但在将项目放到另一个列表中后,该项目采用另一个列表中项目的样式。如果我在同一列表中移动项目,我可以更改项目的样式。

我设置了一个堆栈闪电战:https://stackblitz.com/edit/angular-opuyuk

您可以看到,如果在列表之间移动项,样式将更改为列表项,但当在其自己的列表中移动项时,样式可以更改。

EN

回答 1

Stack Overflow用户

发布于 2021-07-19 18:11:49

您需要将样式/cssClass保留在TypeScript: example: 1:https://stackblitz.com/edit/angular-9vnaqy?

就您的情况而言,您需要创建一个公共接口或类

代码语言:javascript
复制
  class theItems{
    name:String;
    styleClass:String;
  }

或者你想用一个动态类来处理它,这取决于你想如何解决HTML端的问题。

代码语言:javascript
复制
dones:theItems[]=[
    {
    name:    'Get to work',
    styleClass:"grid-column: 2/5; background-color: red;",
  },
    {
    name:    'Brush teeth',
    styleClass:"grid-column: 2/5; background-color: red;",
  },
    {
    name:    'Take a shower',
    styleClass:"grid-column: 2/5; background-color: red;",
  },
];

todos:theItems[]=[
  {
    name:     'Get to work',
    styleClass:"grid-column: 1/11; margin: 0 10px; background-color: #00B7A8;",
  },
  {
    name:    'Pick up groceries',
    styleClass:"grid-column: 1/11; margin: 0 10px; background-color: #00B7A8;",
  },
  {
    name:     'Go home',
    styleClass:"grid-column: 1/11; margin: 0 10px; background-color: #00B7A8;",
  },
  {
    name:       'Fall asleep',
    styleClass:"grid-column: 1/11; margin: 0 10px; background-color: #00B7A8;",
  },
];

预先填充数组中的对象列表,并将cdkDropListData连接到所需的数组。

现在可以肯定的是,如果你想在typescript中使用css,你必须为DOM清理它

代码语言:javascript
复制
 safeCss(style) {
    return this.doms.bypassSecurityTrustStyle(style);
}

或者,您也可以只使用css/SCSS类名。

最后,在Html元素中使用经过清理的css:

代码语言:javascript
复制
[style]="safeCss(item.styleClass)"

请随时评论您的想法,如果被接受为答案,将不胜感激。

https://stackblitz.com/edit/angular-9vnaqy

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56636065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档