html - 控制*ngFor最后一项的具体样式

标签 html css angular

我需要使迭代器生成的最后一行控件既禁用又有些不可见。我正在使用以下有效代码。

<div *ngFor="let item of data; let last = last;">

  <input class="form-control"
        [value]="item.e"
        [disabled]="last">

  <button (click)="onRemove(item)"
          class="btn btn-outline-danger"
          [style.visibility]="last?'hidden':''">Do</button>

</div>

我想提高代码质量,但我对可见性管理特别不满意。当我们考虑设置残疾时,它非常简洁。但可见性的条件似乎很笨拙。

应该如何像老板一样控制可见性?

我测试了以下内容,但没有成功。

<button (click)="onRemove(item)"
        class="btn btn-outline-danger"
        [style.visibility.hidden]="last">Do</button>

最佳答案

我会为不可见元素创建一个类(如果大量使用,可能是全局的)

.invisible {
  visibility: hidden;
}

然后根据last值应用该类

<button (click)="onRemove(item)" 
        class="btn btn-outline-danger"
        [class.invisible]="last">
</button>

this stackblitz 中的示例

关于html - 控制*ngFor最后一项的具体样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59918560/

相关文章:

jquery - 水平滚动表

css - ">"(大于号)CSS 选择器是什么意思?

java - 漂亮的 HTML5 输出格式

javascript - 在包括固定背景的整个页面上使用 CSS 转换(在 Firefox 中)

javascript - 如何创建 tabindex 组?

javascript - 在 Angular2 中使用动态组件时出现错误 "ERROR TypeError: Cannot read property ' createComponent' of undefined"

Angular 变化检测与 Svelte 变化检测

Angular - 我需要避免破坏组件

javascript - 将 onClick 添加到 javascript 函数

html - 如何调用带有 'name' 标签的 HTML 对象?