我的应用程序中有一个复选框。当用户选中该复选框时,我需要在我的文本区域中填充无法删除的文本。他们可以添加到文本中,但不能将其删除。
因此,如果字符串为[Errno 2] No such file or directory: 'datasets/catsvdogstrain\\cat.0.jpg'
,我想将其添加到文本区域,它们不能删除,但只能添加名称。
但是,如果他们取消选中该复选框,则需要删除文本Hello my name is
,并且只允许用户键入他们想要的任何内容。我正在努力的一部分,如果他们选中该复选框,然后再次取消选中该复选框,则他们可以输入...
这里是我所拥有的:
Hello my name is
但是这不起作用,因为当用户选中然后取消选中时,他们将无法再次键入。
我该如何解决?谢谢!
答案 0 :(得分:2)
这是为您{@ 3}准备工作的闪电战
这是一个简单的示例,因此您可以清楚地看到正在发生的事情并可以复制任何相关的位。
代码如下:
import { Component, ViewChild } from '@angular/core';
const START = 'Hello my name is '
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
checked = false;
taContent = '';
checkChanged() {
if (this.checked) {
this.taContent = START + this.taContent;
} else {
this.taContent = this.taContent.split(START)[1];
}
}
taChanged(txt) {
if (this.checked) {
if (txt.startsWith(START)) this.taContent = txt;
else {
const tmp = this.taContent;
this.taContent = '';
setTimeout(() => {
this.taContent = tmp;
})
}
} else {
this.taContent = txt;
}
}
}
HTML:
<br>
<input type="checkbox" [(ngModel)]="checked" (change)="checkChanged()">
<br>
<br>
<textarea [ngModel]="taContent" (ngModelChange)="taChanged($event)">
</textarea>