1
我們正在嘗試實施類似於確認字段的字段,該字段允許繼續/退出表單(而不是僅允許連續/更改表單字段的常規確認字段)。如何創建自定義確認按鈕
我們成功地做到了這一點,但唯一缺少的是能夠知道哪個是quitForm
字段後面的下一個字段。
當我們調用NextStep()
時,表單將退出,而不是像確認一樣移動到下一個字段。
我們該如何模仿確認行爲?
這是我們的實現,它非常類似於Confirmation.cs:
public class QuitFormField<T> : Field<T> where T : class
{
private const string c_continueTerm = "Continue";
private const string c_quitTerm = "Quit";
public QuitFormField(
string prompt,
string nextField,
ActiveDelegate<T> condition,
IEnumerable<string> dependencies) : base(name: Guid.NewGuid().ToString(), role:FieldRole.Confirm)
{
SetPrompt(new PromptAttribute(prompt));
SetDefine((state, field) =>
{
field.AddDescription(value: c_continueTerm, description: c_continueTerm).AddTerms(value: c_continueTerm, terms: c_continueTerm);
field.AddDescription(value: c_quitTerm, description: c_quitTerm).AddTerms(value: c_quitTerm, terms: c_quitTerm);
return Task.FromResult(true);
});
SetType(null);
SetDependencies(dependencies?.ToArray());
SetActive(condition);
_next = (value, state) => (string)value == c_continueTerm ? new NextStep(nextField) : new NextStep(StepDirection.Quit);
}
}
澄清:我們希望NextStep自動()移動到下一個字段沒有我們不必指定下一個字段名
你與框架的最新版本? –