gpt4 book ai didi

css - 在 ngfor 循环中禁用/启用按钮

转载 作者:行者123 更新时间:2023-12-04 07:38:56 25 4
gpt4 key购买 nike

我正在从 rest API 获取数据并使用 ng-for遍历数据。下图是我使用 ng-for 生成的 UI 我想在按下开始按钮时在开始和停止按钮之间切换它必须被禁用,停止应该被启用,反之亦然我尝试使用 [disabled] 执行此操作和 boolean 值,但它应用于循环内所有生成的组件我希望这个逻辑只应用于特定的唯一 id。
我的 html

 <div class="flex flex-row justify-center items-center font-semibold bg-gray-100 rounded-xl lg:mx-36 sm:mx-2 p-1 my-3  dark:bg-gray-500 dark:text-white" *ngFor="let items of Fts2Array">
<div class="p-3 py-4 md:text-base sm:text-base font-normal lg:px-3 bg-gray-100 dark:bg-gray-500 dark:text-white">id: {{items.id}}</div>
<div class="p-3 md:text-xl sm:text-base font-semibold lg:px-3 bg-gray-100 dark:bg-gray-500 dark:text-white">
<h1 class="bg-gray-100 dark:bg-gray-500 dark:text-white">{{items.name}}</h1>
</div>
<div class="lg:px-3 bg-gray-100 dark:bg-gray-500 dark:text-black">
<button class="uppercase font-normal bg-green-400 hover:bg-green-600 hover:text-white p-1 rounded-lg " (click)="start( items.id , items.name+' with ID '+items.id+' is started')" >Start</button>
</div>
<div class="lg:px-3 px-2 bg-gray-100 dark:bg-gray-500 dark:text-black">
<button class="uppercase font-normal bg-red-400 hover:bg-red-600 hover:text-white p-1 rounded-lg" (click)="stop( items.id ,items.name+' with ID '+items.id+' is stopped')" >Stop</button>
</div>

我的 ts 文件
start(id:any , message){


console.log(id);
this.onSuccess(message);
}

stop(id:any , message){

console.log(id);
this.onStop(message);

}

onSuccess(message ) {

this.service.success('success' ,message, {
position:['bottom','right'],
timeOut: 2000,
animate:'fade',
showProgressBar:true

} );
}


onStop(message) {

this.service.error('Terminated' ,message, {
position:['bottom','right'],
timeOut: 2000,
animate:'fade',
showProgressBar:true

} );
}
my output sample
任何类型的帮助或建议都非常感谢
提前致谢

最佳答案

每个行/对象都应该有一个 boolean 字段 isRunning。将此字段保留在按钮禁用指令中。
在开始按钮中:[disabled]="urObj.isRunning"
在停止按钮中:[disabled]="!urObj.isRunning"
在按钮单击事件上,您必须更改状态:
(点击)="urObj.isRunning=!urObj.isRunning"

关于css - 在 ngfor 循环中禁用/启用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67590972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com