完全自定义
这是一个Message组件
你可以放置任何东西
使用Dialog组件,可以方便实现类似alert,confirm,prompt对话框功能
在使用的组件中添加Dialog组件,该组件的附加属性会加载到div.modal-card上,比如可以限制宽度
@inject ToastService ToastService
<Button @onclick="alert">alert</Button>
<Button @onclick="confirm">confirm</Button>
<Button @onclick="prompt">prompt</Button>
<Dialog @ref="dialog" style="max-width: 400px"></Dialog>
@code{
Dialog dialog;
void alert()
{
dialog.Alert("Hello 信息", new DialogOptions() {Color = Color.Dark,OKColor = Color.Info});
}
void confirm()
{
dialog.Confirm("Hello 信息", new DialogOptions()
{
Color = Color.Light,
OK = () => ToastService.Show("点击了sure"),
Cancel = () => ToastService.Show("点击了取消")
});
}
void prompt()
{
dialog.Prompt("hello", "world", new DialogOptions()
{
Color = Color.Warning,
Result = (res) => ToastService.Show("您输入了:"+res)
});
}
}
Modal Title
<ModalCard @ref="m1" HeaderText="Modal Title">
<BodySlot>
<Content>自定义内容</Content>
</BodySlot>
<FootSlot>
<Button Color="Color.Success">自定义按钮</Button>
<Button @onclick="() => m1.Close()">Cancel</Button>
</FootSlot>
</ModalCard>
<Button @onclick="() => m1.Show()">Open</Button>
@code{
ModalCard m1;
}
<Modal @ref="m1" IsActive="isV" ShowClose="@false">
<Message Color="Color.Warning">
<HeaderSlot>
<p>
完全自定义
</p>
<Delete @onclick="close"></Delete>
</HeaderSlot>
<BodySlot>
<Title Size="Size.Size4">这是一个Message组件</Title>
<p>
你可以放置任何东西
</p>
<Button Color="Color.Info" @onclick="close">关闭</Button>
</BodySlot>
</Message>
</Modal>
<Button @onclick=Show>Open</Button>
@code{
bool isV = false;
Modal m1;
void close()
{
isV = false;
}
void Show()
{
isV = true; // or m1.Show();
}
}
文档