我一直在与奥雷利亚-对话打交道,试图获得一个动态填充一些信息的模式。我有一些工作,但模式是不正确的大小的数据,其显示。
welcome.js
import {DialogService} from 'aurelia-dialog';
import {CmdModal} from './cmd-modal';
export class Welcome {
static inject = [DialogService];
constructor(dialogService) {
this.dialogService = dialogService;
}
OpenCmd(intName, opName, opDescription, parameters){
var cmd = { "CmdName" : opName, "Description" : opDescription, "Params" : parameters};
this.dialogService.open({ viewModel: CmdModal, model: cmd}).then(response => {
if (!response.wasCancelled) {
console.log('good - ', response.output);
} else {
console.log('bad');
}
console.log(response.output);
});
}cmd-modal.html
<template>
<ai-dialog>
<ai-dialog-header>
<h2>${cmd.CmdName}</h2>
</ai-dialog-header>
<ai-dialog-body>
<p>${cmd.Description}</p>
<b>Parameters</b>
<div repeat.for="param of cmd.Params">
<p class="col-md-6">${param.Key}</p>
<p class="col-md-6">${param.Value}</p>
</div>
</ai-dialog-body>
<ai-dialog-footer>
<button click.trigger="controller.cancel()">Cancel</button>
<button click.trigger="controller.ok(person)">Ok</button>
</ai-dialog-footer>
</ai-dialog>
</template>cmd-modal.js
import {DialogController} from 'aurelia-dialog';
export class CmdModal {
static inject = [DialogController];
constructor(controller){
this.controller = controller;
}
activate(cmd){
this.cmd = cmd;
}
}单击链接时,会显示如下模式:

如图所示,模态对身体的大小是错误的,一些文本会溢出到侧面。我认为这是因为在插入中继器的数据之前正在呈现cmd-modal.html。
有谁知道我如何调整模态大小,使之成为主体的正确大小,或推迟模态显示直到cmd-modal.html被正确评估?
发布于 2016-01-11 09:22:33
我想我在尝试向对话框中添加不同宽度的项时,发现了类似的内容。在呈现对话框之前,宽度是不知道的。我想这就是原因!
最后,我在ai-对话框元素上添加了一个CSS类,其中包括一个通用宽度设置和一个媒体查询。
...
width: 90vw;
@media (min-width: 46em) {
width: 44em;
}
....我知道我混合了大众和em的测量,而且可能有更好的方法--但在这个应用程序中效果很好。我确信可能有一种“正确”的Aurelia方法可以让对话框重新呈现,但这对于我们的情况来说已经足够了。
FWIW我还添加了一个“边距顶: 4em!重要”,这样对话框就会出现在固定的标题栏下面,引导是我们提供的。
发布于 2016-03-04 09:51:33
可以将宽度和高度的样式添加到ai-对话框标记中,如下所示:
<ai-dialog style="width:600px; height: 350px;">https://stackoverflow.com/questions/34637065
复制相似问题