我有一个Angular应用程序,用户可以在其中单击按钮,打开一个对话框。在打开对话框时,我放置了一个用contenteditable
属性修改的textarea
,以便可以在适当的位置编辑文本。
<textarea contenteditable>Click me to edit</textarea>
我遇到的问题是,当打开对话框时,可编辑文本会在编辑模式下自动打开(如textarea
内容周围的彩色线和闪烁的输入光标所示(。你知道为什么会这样吗?
斯塔克布利茨来了。简单地通过点击";打开对话框";按钮
原因是这个代码:
<textarea contenteditable>Click me to edit</textarea>
如果您使用绑定将textarea更改为div,如下所示:
<div [contentEditable]="edit">
Edit this content to add your own quote
</div>
则该属性是可绑定的。
import { Component, Inject, Input } from '@angular/core';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
@Component({
selector: 'app-example-dialog',
templateUrl: 'example-dialog.component.html',
})
export class ExampleDialogComponent {
// just use the input decorator here
@Input("edit") edit:boolean = true;
constructor(
public dialogRef: MatDialogRef<ExampleDialogComponent>,
@Inject(MAT_DIALOG_DATA) public data: any) { }
onNoClick(): void {
this.dialogRef.close();
}
}