我正在使用PrimeNG对话框组件,我有一个模态对话框,只需单击一个按钮,我就可以显示另一个模态对话框.
发生的事情是我的第二个模态对话框不是真正的模态,因为我只看到按钮后面的对话框内容.
我更改了第二个模态对话框的p对话框的[appendTo]属性,但它似乎无法正常工作.
如何在p对话框中打开嵌套对话框?
角度2组件中的对话框:
<p-dialog header="Create/Edit Financial Flow" [visible]="display$ | async" modal="modal" width="500" height="600" responsive="true" [resizable]="false" [closable]="false">
<financial-flowdialog #myfinancialflowdialog (onCloseDialog) ="closeDialog()" [flowdata]="selectedFlows$ | async"></financial-flowdialog>
</p-dialog>
Run Code Online (Sandbox Code Playgroud)
单击第一个模态对话框中的按钮时,应打开第二个对话框.在嵌套对话框的定义下面:
<p-dialog header="Title" [(visible)]="display" [appendTo]="body" *ngIf="display" modal="modal" width="500" height="600" responsive="true"
[resizable]="false" [closable]="false">
<div class="container-fluid">
<form (ngSubmit)="onSubmit()">
<div class="pull-right top-buffer ">
<button type="button" class="btn btn-primary" (click)="closeDialog()">Cancel</button>
<button type="submit" class="btn btn-primary">Select</button>
</div>
</form>
</div>
</p-dialog>
<button type="button" #mybtn [value]="value" ngDefaultControl [formControlName]="key" [id]="key" [ngStyle]="style" (click)="openDialog()">{{label}}</button>
Run Code Online (Sandbox Code Playgroud)
我可以打开第一个对话框但是当我点击按钮打开第二个对话框时,对话框的内容就像普通的div一样显示出来.在呈现的html下面:
<section>
<div id="nestediag" ng-reflect-form="[object Object]" class="ng-pristine ng-invalid ng-touched">
<!--template bindings={
"ng-reflect-ng-if": …Run Code Online (Sandbox Code Playgroud) 我正在做测试,以找出读取和处理csv文件的最佳方法。因此,我需要阅读csv文件的每一行并进行分析。因此,对于包含数千行的文件,基本上所有方法都可以正常工作。但是,当尝试使用包含超过一百万行的CSV文件时,出现内存不足异常。我认为Stream Parallel的执行速度会更快。所以我有些困惑,为什么会出现内存不足错误。Java如何处理并行读取?
下面是顺序并并行读取文件的测试代码。
String filename = "c:\\devs\\files\\datas.csv"; // 193MB
Path path = Paths.get(filename);
@Test
public void testFileExist() {
assertTrue(Files.exists(path));
}
@Test
public void testSingleThreadRead() {
Function<Path, String> processfile = (Path p) -> {
String result = "";
try {
result = Files.lines(p).collect(Collectors.joining(" ,"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
};
long start = System.currentTimeMillis();
String result = processfile.apply(path);
long end = System.currentTimeMillis();
assertFalse(result.isEmpty());
System.out.println(end -start + "ms");
}
@Test
public void testSingleThreadReadParallel() …Run Code Online (Sandbox Code Playgroud)