From 7940254766facf24b9c96c7eb6327f25c55150f5 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:27 +0800 Subject: [PATCH 001/191] New translations contentDefaultDescription.zh-CN.json (English) --- en/en/contentDefaultDescription.zh-CN.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 en/en/contentDefaultDescription.zh-CN.json diff --git a/en/en/contentDefaultDescription.zh-CN.json b/en/en/contentDefaultDescription.zh-CN.json new file mode 100644 index 0000000000..2584efaf8b --- /dev/null +++ b/en/en/contentDefaultDescription.zh-CN.json @@ -0,0 +1,6 @@ +[ + [ + "ChildContent", + "默认插槽" + ] +] \ No newline at end of file From 275e1d837085c781938df8b3f27ee1abc13b289b Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:28 +0800 Subject: [PATCH 002/191] New translations MCascaderMenu.zh-CN.json (English) --- en/en/MCascaderMenu.zh-CN.json | 286 +++++++++++++++++++++++++++++++++ 1 file changed, 286 insertions(+) create mode 100644 en/en/MCascaderMenu.zh-CN.json diff --git a/en/en/MCascaderMenu.zh-CN.json b/en/en/MCascaderMenu.zh-CN.json new file mode 100644 index 0000000000..592d5efe04 --- /dev/null +++ b/en/en/MCascaderMenu.zh-CN.json @@ -0,0 +1,286 @@ +{ + "Title": "CascaderMenu", + "Components": [ + "Cascaders" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "Boolean", + "Default": "false", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "AllowOverflow", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Attach", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Auto", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Bottom", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "CloseDelay", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "CloseOnClick", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "CloseOnContentClick", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ContentClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ContentStyle", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "DisableKeys", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Left", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "NudgeBottom", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "NudgeLeft", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "NudgeRight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "NudgeTop", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "NudgeWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "OffsetOverflow", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "OffsetX", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "OffsetY", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "OpenDelay", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "OpenOnClick", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "OpenOnFocus", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "OpenOnHover", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Origin", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PositionX", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "PositionY", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Right", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rounded", + "Type": "StringBoolean", + "Default": "null", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Top", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Transition", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ZIndex", + "Type": "StringNumber", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ActivatorContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnOutsideClick", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 690c9597b359278e635f8ce96ac54cee9a63ad37 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:29 +0800 Subject: [PATCH 003/191] New translations MCalendarDaily.zh-CN.json (English) --- en/en/MCalendarDaily.zh-CN.json | 196 ++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 en/en/MCalendarDaily.zh-CN.json diff --git a/en/en/MCalendarDaily.zh-CN.json b/en/en/MCalendarDaily.zh-CN.json new file mode 100644 index 0000000000..18961af995 --- /dev/null +++ b/en/en/MCalendarDaily.zh-CN.json @@ -0,0 +1,196 @@ +{ + "Title": "CalendarDaily", + "Components": [ + "Calendars" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "DayFormat", + "Type": "Func`3", + "Default": "null", + "Description": "" + }, + { + "Name": "End", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "FirstInterval", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "FirstTime", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "HideHeader", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IntervalCount", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "IntervalFormat", + "Type": "Func`3", + "Default": "null", + "Description": "" + }, + { + "Name": "IntervalHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "IntervalMinutes", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "IntervalStyle", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "IntervalWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Locale", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "MaxDays", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Now", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "ShortIntervals", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShortWeekdays", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowIntervalLabel", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Start", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "WeekdayFormat", + "Type": "Func`3", + "Default": "null", + "Description": "" + }, + { + "Name": "WeekDays", + "Type": "OneOf`2", + "Default": "", + "Description": "" + } + ], + "Contents": [ + { + "Name": "CategoryContent", + "Description": "" + }, + { + "Name": "DayBodyContent", + "Description": "" + }, + { + "Name": "DayHeaderContent", + "Description": "" + }, + { + "Name": "DayLabelHeaderContent", + "Description": "" + }, + { + "Name": "IntervalContent", + "Description": "" + }, + { + "Name": "IntervalHeaderContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "NowChanged", + "Description": "" + } + ] +} \ No newline at end of file From d5b19f7b817d87805e37fb55fd9655d6dee32126 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:30 +0800 Subject: [PATCH 004/191] New translations MCalendarMonthly.zh-CN.json (English) --- en/en/MCalendarMonthly.zh-CN.json | 150 ++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 en/en/MCalendarMonthly.zh-CN.json diff --git a/en/en/MCalendarMonthly.zh-CN.json b/en/en/MCalendarMonthly.zh-CN.json new file mode 100644 index 0000000000..25e52de2a7 --- /dev/null +++ b/en/en/MCalendarMonthly.zh-CN.json @@ -0,0 +1,150 @@ +{ + "Title": "CalendarMonthly", + "Components": [ + "Calendars" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "DayFormat", + "Type": "Func`3", + "Default": "null", + "Description": "" + }, + { + "Name": "End", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "HideHeader", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Locale", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "LocaleFirstDayOfYear", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "MinWeeks", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "MonthFormat", + "Type": "Func`3", + "Default": "null", + "Description": "" + }, + { + "Name": "Now", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "ShortMonths", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShortWeekdays", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowMonthOnFirst", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowWeek", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Start", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "WeekdayFormat", + "Type": "Func`3", + "Default": "null", + "Description": "" + }, + { + "Name": "WeekDays", + "Type": "OneOf`2", + "Default": "", + "Description": "" + } + ], + "Contents": [ + { + "Name": "DayContent", + "Description": "" + }, + { + "Name": "DayLabelContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "NowChanged", + "Description": "" + } + ] +} \ No newline at end of file From 373b5a8ca30d206ccb5b5dee3eca11d7704bf522 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:31 +0800 Subject: [PATCH 005/191] New translations MCalendarWeekly.zh-CN.json (English) --- en/en/MCalendarWeekly.zh-CN.json | 150 +++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 en/en/MCalendarWeekly.zh-CN.json diff --git a/en/en/MCalendarWeekly.zh-CN.json b/en/en/MCalendarWeekly.zh-CN.json new file mode 100644 index 0000000000..02c62e5dc6 --- /dev/null +++ b/en/en/MCalendarWeekly.zh-CN.json @@ -0,0 +1,150 @@ +{ + "Title": "CalendarWeekly", + "Components": [ + "Calendars" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "DayFormat", + "Type": "Func`3", + "Default": "null", + "Description": "" + }, + { + "Name": "End", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "HideHeader", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Locale", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "LocaleFirstDayOfYear", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "MinWeeks", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "MonthFormat", + "Type": "Func`3", + "Default": "null", + "Description": "" + }, + { + "Name": "Now", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "ShortMonths", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShortWeekdays", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowMonthOnFirst", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowWeek", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Start", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "WeekdayFormat", + "Type": "Func`3", + "Default": "null", + "Description": "" + }, + { + "Name": "WeekDays", + "Type": "OneOf`2", + "Default": "", + "Description": "" + } + ], + "Contents": [ + { + "Name": "DayContent", + "Description": "" + }, + { + "Name": "DayLabelContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "NowChanged", + "Description": "" + } + ] +} \ No newline at end of file From 9c2e636ac8abf50d482fa720d829dc154d8ff942 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:32 +0800 Subject: [PATCH 006/191] New translations MCard.zh-CN.json (English) --- en/en/MCard.zh-CN.json | 204 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100644 en/en/MCard.zh-CN.json diff --git a/en/en/MCard.zh-CN.json b/en/en/MCard.zh-CN.json new file mode 100644 index 0000000000..0173090808 --- /dev/null +++ b/en/en/MCard.zh-CN.json @@ -0,0 +1,204 @@ +{ + "Title": "Card", + "Components": [ + "Cards" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "配置在链接激活时应用的 CSS 类。" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "移除组件的单击或 target 功能。" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "null", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "移除卡片的海拔。" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Hover", + "Type": "Boolean", + "Default": "false", + "Description": "悬停时将应用 4dp 的海拔(默认值为 2dp)。" + }, + { + "Name": "Href", + "Type": "String", + "Default": "null", + "Description": "指定组件为锚点并应用 href 属性。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Img", + "Type": "String", + "Default": "null", + "Description": "指定卡片的背景图。对于更高级的实现,建议您使用 MImage 组件。" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "为组件设置浅色主题。" + }, + { + "Name": "Link", + "Type": "Boolean", + "Default": "false", + "Description": "指定组件为链接。当使用 href 或 **to ** 属性时,这是自动的设置的。" + }, + { + "Name": "LoaderHeight", + "Type": "StringNumber", + "Default": "4", + "Description": "指定加载器的高度" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "false", + "Description": "显示线性进度条。可以是指定将哪种颜色应用于进度条的字符串(任何 material 色彩——主要(primary), 次要(secondary), 成功(success), 信息(info),警告(warning),错误(error)),或者使用组件的布尔值 color(由色彩属性设置——如果它被组件支持的话)还可以是原色。" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "Raised", + "Type": "Boolean", + "Default": "false", + "Description": "指定较高的默认海拔(8dp)。" + }, + { + "Name": "Ripple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rounded", + "Type": "StringBoolean", + "Default": "null", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "在卡片的左上角和右下角应用较大的边框半径。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "div", + "Description": "指定在根元素上使用的自定义标签。" + }, + { + "Name": "Target", + "Type": "String", + "Default": "null", + "Description": "指定 target 属性。只在使用 href 属性时应用。" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "ProgressContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From d03a636501424a49ca65a94d966cdfc59b398ccc Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:33 +0800 Subject: [PATCH 007/191] New translations MCardActions.zh-CN.json (English) --- en/en/MCardActions.zh-CN.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 en/en/MCardActions.zh-CN.json diff --git a/en/en/MCardActions.zh-CN.json b/en/en/MCardActions.zh-CN.json new file mode 100644 index 0000000000..1b34ed034e --- /dev/null +++ b/en/en/MCardActions.zh-CN.json @@ -0,0 +1,33 @@ +{ + "Title": "CardActions", + "Components": [ + "Cards" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 5006e705f9f6c09207bb87a81b19a4724ca9d466 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:34 +0800 Subject: [PATCH 008/191] New translations MCardSubtitle.zh-CN.json (English) --- en/en/MCardSubtitle.zh-CN.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 en/en/MCardSubtitle.zh-CN.json diff --git a/en/en/MCardSubtitle.zh-CN.json b/en/en/MCardSubtitle.zh-CN.json new file mode 100644 index 0000000000..9e9db00c02 --- /dev/null +++ b/en/en/MCardSubtitle.zh-CN.json @@ -0,0 +1,33 @@ +{ + "Title": "CardSubtitle", + "Components": [ + "Cards" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From eef47a3f19190435fc8ca0e2bb6a1b99195427d4 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:35 +0800 Subject: [PATCH 009/191] New translations MCardText.zh-CN.json (English) --- en/en/MCardText.zh-CN.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 en/en/MCardText.zh-CN.json diff --git a/en/en/MCardText.zh-CN.json b/en/en/MCardText.zh-CN.json new file mode 100644 index 0000000000..968ff2ed0a --- /dev/null +++ b/en/en/MCardText.zh-CN.json @@ -0,0 +1,33 @@ +{ + "Title": "CardText", + "Components": [ + "Cards" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 28bab2344e4034c07e1ae6083a6718f06967fbf7 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:36 +0800 Subject: [PATCH 010/191] New translations MCardTitle.zh-CN.json (English) --- en/en/MCardTitle.zh-CN.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 en/en/MCardTitle.zh-CN.json diff --git a/en/en/MCardTitle.zh-CN.json b/en/en/MCardTitle.zh-CN.json new file mode 100644 index 0000000000..8a204b54d7 --- /dev/null +++ b/en/en/MCardTitle.zh-CN.json @@ -0,0 +1,33 @@ +{ + "Title": "CardTitle", + "Components": [ + "Cards" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From f625649883eb0a2c3478469b133b973187972de6 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:37 +0800 Subject: [PATCH 011/191] New translations MCascader.zh-CN.json (English) --- en/en/MCascader.zh-CN.json | 524 +++++++++++++++++++++++++++++++++++++ 1 file changed, 524 insertions(+) create mode 100644 en/en/MCascader.zh-CN.json diff --git a/en/en/MCascader.zh-CN.json b/en/en/MCascader.zh-CN.json new file mode 100644 index 0000000000..f212444c54 --- /dev/null +++ b/en/en/MCascader.zh-CN.json @@ -0,0 +1,524 @@ +{ + "Title": "Cascader", + "Components": [ + "Cascaders" + ], + "Props": [ + { + "Name": "AppendIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "AppendOuterIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Autofocus", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Chips", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Clearable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ClearIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Counter", + "Type": "StringNumberBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "CounterValue", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "DeletableChips", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Error", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ErrorCount", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ErrorMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Filled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "FullWidth", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDetails", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "HideNoData", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "HideSelected", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Hint", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ItemChildren", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "ItemDisabled", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Items", + "Type": "IReadOnlyList`1", + "Default": "", + "Description": "" + }, + { + "Name": "ItemText", + "Type": "Func`2", + "Default": "", + "Description": "" + }, + { + "Name": "ItemValue", + "Type": "Func`2", + "Default": "", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "LoadChildren", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "LoaderHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MenuProps", + "Type": "Action`1", + "Default": "", + "Description": "" + }, + { + "Name": "Messages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Multiple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "PersistentHint", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "PersistentPlaceholder", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Placeholder", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Prefix", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrependIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrependInnerIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Reverse", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rounded", + "Type": "Boolean", + "Default": "false", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Rules", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowAllLevels", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SingleLine", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SmallChips", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Solo", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SoloInverted", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Success", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SuccessMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Suffix", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Type", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ValidateOnBlur", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "null", + "Description": "" + }, + { + "Name": "ValueExpression", + "Type": "Expression`1", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "AppendContent", + "Description": "" + }, + { + "Name": "AppendItemContent", + "Description": "" + }, + { + "Name": "AppendOuterContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "CounterContent", + "Description": "" + }, + { + "Name": "ItemContent", + "Description": "" + }, + { + "Name": "LabelContent", + "Description": "" + }, + { + "Name": "MessageContent", + "Description": "" + }, + { + "Name": "NoDataContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + }, + { + "Name": "PrependInnerContent", + "Description": "" + }, + { + "Name": "PrependItemContent", + "Description": "" + }, + { + "Name": "ProgressContent", + "Description": "" + }, + { + "Name": "SelectionContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnAppendClick", + "Description": "" + }, + { + "Name": "OnAppendOuterClick", + "Description": "" + }, + { + "Name": "OnBlur", + "Description": "" + }, + { + "Name": "OnChange", + "Description": "" + }, + { + "Name": "OnClearClick", + "Description": "" + }, + { + "Name": "OnClick", + "Description": "" + }, + { + "Name": "OnFocus", + "Description": "" + }, + { + "Name": "OnInput", + "Description": "" + }, + { + "Name": "OnKeyDown", + "Description": "" + }, + { + "Name": "OnMouseDown", + "Description": "" + }, + { + "Name": "OnMouseUp", + "Description": "" + }, + { + "Name": "OnPrependClick", + "Description": "" + }, + { + "Name": "OnPrependInnerClick", + "Description": "" + }, + { + "Name": "OnSelectedItemUpdate", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 0f8b79fb0a1efe831690fe2241966f560405a8ab Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:38 +0800 Subject: [PATCH 012/191] New translations MCascaderSelectList.zh-CN.json (English) --- en/en/MCascaderSelectList.zh-CN.json | 92 ++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 en/en/MCascaderSelectList.zh-CN.json diff --git a/en/en/MCascaderSelectList.zh-CN.json b/en/en/MCascaderSelectList.zh-CN.json new file mode 100644 index 0000000000..e4b98f0054 --- /dev/null +++ b/en/en/MCascaderSelectList.zh-CN.json @@ -0,0 +1,92 @@ +{ + "Title": "CascaderSelectList", + "Components": [ + "Cascaders" + ], + "Props": [ + { + "Name": "Children", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Highlighted", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Icon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Item", + "Type": "TItem", + "Default": "null", + "Description": "" + }, + { + "Name": "Key", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ItemContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnItemClick", + "Description": "" + } + ] +} \ No newline at end of file From 09f5f9c31c10aa90f99344e0c0f9818c4025b380 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:39 +0800 Subject: [PATCH 013/191] New translations MCalendar.zh-CN.json (English) --- en/en/MCalendar.zh-CN.json | 378 +++++++++++++++++++++++++++++++++++++ 1 file changed, 378 insertions(+) create mode 100644 en/en/MCalendar.zh-CN.json diff --git a/en/en/MCalendar.zh-CN.json b/en/en/MCalendar.zh-CN.json new file mode 100644 index 0000000000..520d29bd3e --- /dev/null +++ b/en/en/MCalendar.zh-CN.json @@ -0,0 +1,378 @@ +{ + "Title": "Calendar", + "Components": [ + "Calendars" + ], + "Props": [ + { + "Name": "Categories", + "Type": "OneOf`2", + "Default": "", + "Description": "指定要在类别视图中显示的类别. 这也控制类别的排序. 如果日历使用事件,则除非“category-hide-dynamic”为true,否则在此值中未指定的事件中指定的任何类别都将在视图中动态呈现。" + }, + { + "Name": "CategoryDays", + "Type": "StringNumber", + "Default": "1", + "Description": "在类别视图中显示的天数" + }, + { + "Name": "CategoryForInvalid", + "Type": "String", + "Default": "", + "Description": "用于放置具有无效类别的事件的类别. 类别必须是字符串. 默认情况下, 在没有指定类别之前事件不会被显示." + }, + { + "Name": "CategoryHideDynamic", + "Type": "Boolean", + "Default": "false", + "Description": "设置事件中指定的类别如果没有在类别中定义时是否隐藏." + }, + { + "Name": "CategoryShowAll", + "Type": "Boolean", + "Default": "false", + "Description": "设置类别视图是否显示所有定义的类别, 包含没有事件的类别." + }, + { + "Name": "CategoryText", + "Type": "OneOf`2", + "Default": "", + "Description": "如果 category 是一个对象列表,你可以用它来决定打印出什么属性作为日历组件上的类别文本。你可以提供一个函数来执行一些逻辑,或者直接定义属性名称。它类似于 MSelect 的 ItemText。" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "DayFormat", + "Type": "Func`3", + "Default": "", + "Description": "将某日中出现的月字符串的日期格式化为指定区域设置" + }, + { + "Name": "End", + "Type": "StringNumberDate", + "Default": "", + "Description": "日历的结束日期(包括),格式为 YYYY-MM-DD。根据日历的 type`,这可能会被忽略。" + }, + { + "Name": "EventCategory", + "Type": "OneOf`2", + "Default": "category", + "Description": "设置事件的类别属性, 可以指定一个接受事件并返回类别的函数来代替该属性." + }, + { + "Name": "EventColor", + "Type": "OneOf`2", + "Default": "primary", + "Description": "所有事件的背景色或接受传递给日历的事件对象以返回颜色的函数。" + }, + { + "Name": "EventEnd", + "Type": "String", + "Default": "end", + "Description": "设置 event 的结束时间戳的属性。" + }, + { + "Name": "EventHeight", + "Type": "Int32", + "Default": "20", + "Description": "事件的高度(以像素为单位)在 month 视图和 day 视图的顶部。" + }, + { + "Name": "EventMarginBottom", + "Type": "Int32", + "Default": "1", + "Description": "事件底部边距" + }, + { + "Name": "EventMore", + "Type": "Boolean", + "Default": "true", + "Description": "在给定日期内事件太多的日历上是否显示更多 ‘button’。它将显示类似于 ‘5 more’ 的内容,当单击时会生成一个 click:more 事件。" + }, + { + "Name": "EventMoreText", + "Type": "String", + "Default": "", + "Description": "在给定隐藏事件数量的情况下,在更多 ‘button’ 中显示的文本。" + }, + { + "Name": "EventName", + "Type": "OneOf`2", + "Default": "name", + "Description": "设置 event 的显示名称的属性,或接受作为第一个参数传递给日历的事件对象的函数,并设置一个标志,指示该名称是用于一个定时事件 (true) 或是一个超过一天的事件。" + }, + { + "Name": "EventOverlapMode", + "Type": "OneOf`2", + "Default": "stack", + "Description": "stack, column 或自定义渲染函数之一" + }, + { + "Name": "EventOverlapThreshold", + "Type": "StringNumber", + "Default": "60", + "Description": "以分钟为单位的值,用于确定两个定时事件应在彼此相邻的列中放置还是应视为稍微重叠的事件." + }, + { + "Name": "EventRipple", + "Type": "OneOf`2", + "Default": "", + "Description": "应用 MRipple 指令。" + }, + { + "Name": "Events", + "Type": "List`1", + "Default": "", + "Description": "事件对象数组,具有开始时间戳(可选)和名称及结束时间戳的属性。 如果未提供结束时间戳,则将使用开始值。 如果没有给出名称,则必须为 event 插槽提供一个实现。" + }, + { + "Name": "EventStart", + "Type": "String", + "Default": "start", + "Description": "设置 event 的启动时间的属性" + }, + { + "Name": "EventTextColor", + "Type": "OneOf`2", + "Default": "white", + "Description": "所有事件的文本颜色,或接受传递给日历的事件对象以返回颜色的函数。" + }, + { + "Name": "EventTimed", + "Type": "OneOf`2", + "Default": "timed", + "Description": "如果使用日期或毫秒作为事件开始或结束的时间戳, 此prop可以是事件属性的字符串并且当事件是定时事件时返回真值, 或者也可以是一个接受事件的函数并且在事件是定时事件时返回一个真值." + }, + { + "Name": "FirstInterval", + "Type": "StringNumber", + "Default": "0", + "Description": "在 day 视图中显示的第一个间隔。如果 intervalMinutes 设置为 60,而这个设置为 9,则视图中的第一次是上午9点。" + }, + { + "Name": "FirstTime", + "Type": "StringNumberDate", + "Default": "", + "Description": "在day视图中显示的第一个(开始)时间。如果指定,则覆盖指定的任何“firstInterval”值。这可以是从午夜开始的分钟数,格式为“HH:mm”的字符串,或具有数字属性hour和minute的对象。" + }, + { + "Name": "HideHeader", + "Type": "Boolean", + "Default": "false", + "Description": "day 视图顶部的头部是否应该可见。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IntervalCount", + "Type": "StringNumber", + "Default": "24", + "Description": "在 day 视图中显示的间隔数。" + }, + { + "Name": "IntervalFormat", + "Type": "Func`3", + "Default": "", + "Description": "将出现在 day 和 week 视图的间隔栏中的一天中的时间字符串格式化为指定的区域设置" + }, + { + "Name": "IntervalHeight", + "Type": "StringNumber", + "Default": "48", + "Description": "day 视图中间隔的高度(以像素为单位)。" + }, + { + "Name": "IntervalMinutes", + "Type": "StringNumber", + "Default": "60", + "Description": "间隔在 day 视图中的分钟数。普通间隔为 60 分钟,因此间隔为 1 小时。" + }, + { + "Name": "IntervalStyle", + "Type": "Func`2", + "Default": "", + "Description": "返回要应用于间隔的 CSS 样式。" + }, + { + "Name": "IntervalWidth", + "Type": "StringNumber", + "Default": "60", + "Description": "day 视图中左侧的间隔宽度。" + }, + { + "Name": "Locale", + "Type": "String", + "Default": "", + "Description": "日历的区域设置。" + }, + { + "Name": "LocaleFirstDayOfYear", + "Type": "StringNumber", + "Default": "0", + "Description": "设置决定一年中第一周的日期,从 0 开始,星期日。对于 ISO 8601,应该是 4。" + }, + { + "Name": "MaxDays", + "Type": "Int32", + "Default": "7", + "Description": "如果未设置 end 天,则在自定义日历中显示最大天数" + }, + { + "Name": "MinWeeks", + "Type": "Int32", + "Default": "1", + "Description": "在 month 或 week 视图中显示的最小周数。" + }, + { + "Name": "MonthFormat", + "Type": "Func`3", + "Default": "", + "Description": "将日期中出现的月份字符串格式化为指定的区域设置" + }, + { + "Name": "Now", + "Type": "StringNumberDate", + "Default": "", + "Description": "覆盖现在考虑的日期和时间。格式为 YYYY-MM-DD hh:mm:ss。日历是根据现在的情况设计的。" + }, + { + "Name": "ShortIntervals", + "Type": "Boolean", + "Default": "true", + "Description": "如果为 true,则 day 视图中的间隔将为上午 9:00,而不是上午 09:00" + }, + { + "Name": "ShortMonths", + "Type": "Boolean", + "Default": "true", + "Description": "是否应使用一个月的简短版本 (Jan vs January)。" + }, + { + "Name": "ShortWeekdays", + "Type": "Boolean", + "Default": "true", + "Description": "是否应使用工作日的简短版本 (Mon vs Monday)。" + }, + { + "Name": "ShowIntervalLabel", + "Type": "Func`2", + "Default": "", + "Description": "检查给定的日期和时间是否应显示在 day 视图的间隔栏中。" + }, + { + "Name": "ShowMonthOnFirst", + "Type": "Boolean", + "Default": "true", + "Description": "是否应在该月的第一天显示该月的名称。" + }, + { + "Name": "ShowWeek", + "Type": "Boolean", + "Default": "false", + "Description": "使用“月”视图时是否应该显示周数。" + }, + { + "Name": "Start", + "Type": "StringNumberDate", + "Default": "当前日期", + "Description": "日历上的开始日期(包括),格式为 YYYY-MM-DD。 根据日历的 type,可以将其忽略。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Type", + "Type": "String", + "Default": "month", + "Description": "一个“month”、“week”、“day”、“4day”、“custom-weekly”、“custom-daily”和“category”的之一的字符串。自定义类型查看传递给组件的“start”和“end”日期,而不是“value”。" + }, + { + "Name": "Value", + "Type": "StringNumberDate", + "Default": "", + "Description": "YYYY-MM-DD 格式的日期,用于确定日历的时间跨度。" + }, + { + "Name": "WeekdayFormat", + "Type": "Func`3", + "Default": "", + "Description": "将标题中显示的星期几字符串格式设置为指定的区域设置" + }, + { + "Name": "WeekDays", + "Type": "OneOf`2", + "Default": "[0,1,2,3,4,5,6]", + "Description": "指定一周中要显示的日期。如果只显示周一到周五,可以使用 [1, 2, 3, 4, 5] 的值。要显示周一开始的一周,可以使用值 [1, 2, 3, 4, 5, 6, 0]。" + } + ], + "Contents": [ + { + "Name": "CategoryContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "DayBodyContent", + "Description": "" + }, + { + "Name": "DayContent", + "Description": "" + }, + { + "Name": "DayHeaderContent", + "Description": "" + }, + { + "Name": "DayLabelContent", + "Description": "" + }, + { + "Name": "DayLabelHeaderContent", + "Description": "" + }, + { + "Name": "DayMonthContent", + "Description": "" + }, + { + "Name": "EventContent", + "Description": "" + }, + { + "Name": "IntervalContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "NowChanged", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 69917bf6cff6925f27b70f3e6f636cf8773f82a1 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:40 +0800 Subject: [PATCH 014/191] New translations MCascaderSelectOption.zh-CN.json (English) --- en/en/MCascaderSelectOption.zh-CN.json | 80 ++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 en/en/MCascaderSelectOption.zh-CN.json diff --git a/en/en/MCascaderSelectOption.zh-CN.json b/en/en/MCascaderSelectOption.zh-CN.json new file mode 100644 index 0000000000..4982047be5 --- /dev/null +++ b/en/en/MCascaderSelectOption.zh-CN.json @@ -0,0 +1,80 @@ +{ + "Components": [ + "CascaderSelectOption" + ], + "Props": [ + { + "Name": "Children", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Highlighted", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Icon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Item", + "Type": "TItem", + "Default": "null", + "Description": "" + }, + { + "Name": "Key", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "null", + "Description": "" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnItemClick", + "Description": "" + } + ] +} \ No newline at end of file From e424872715b62fdf3a4dd10fff5c3ba6a6087009 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:41 +0800 Subject: [PATCH 015/191] New translations MCheckbox.zh-CN.json (English) --- en/en/MCheckbox.zh-CN.json | 264 +++++++++++++++++++++++++++++++++++++ 1 file changed, 264 insertions(+) create mode 100644 en/en/MCheckbox.zh-CN.json diff --git a/en/en/MCheckbox.zh-CN.json b/en/en/MCheckbox.zh-CN.json new file mode 100644 index 0000000000..3bf6f823b0 --- /dev/null +++ b/en/en/MCheckbox.zh-CN.json @@ -0,0 +1,264 @@ +{ + "Title": "Checkbox", + "Components": [ + "Checkboxes" + ], + "Props": [ + { + "Name": "AppendIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "禁用输入" + }, + { + "Name": "Error", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ErrorCount", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ErrorMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDetails", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Hint", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Indeterminate", + "Type": "Boolean", + "Default": "false", + "Description": "为复选框设置不确定状态" + }, + { + "Name": "IndeterminateIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "设置输入标签" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Messages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "OffIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "OnIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PersistentHint", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "PrependIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Ripple", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Rules", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Success", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SuccessMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "ValidateOnBlur", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ValueExpression", + "Type": "Expression`1", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "AppendContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "LabelContent", + "Description": "" + }, + { + "Name": "MessageContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnAppendClick", + "Description": "" + }, + { + "Name": "OnChange", + "Description": "" + }, + { + "Name": "OnClick", + "Description": "" + }, + { + "Name": "OnMouseDown", + "Description": "" + }, + { + "Name": "OnMouseUp", + "Description": "" + }, + { + "Name": "OnPrependClick", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 7bdd41d0959065da9e123afb973dccc20736c99a Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:42 +0800 Subject: [PATCH 016/191] New translations MChip.zh-CN.json (English) --- en/en/MChip.zh-CN.json | 204 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100644 en/en/MChip.zh-CN.json diff --git a/en/en/MChip.zh-CN.json b/en/en/MChip.zh-CN.json new file mode 100644 index 0000000000..37e4afcba0 --- /dev/null +++ b/en/en/MChip.zh-CN.json @@ -0,0 +1,204 @@ +{ + "Title": "Chip", + "Components": [ + "Chips" + ], + "Props": [ + { + "Name": "Active", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Close", + "Type": "Boolean", + "Default": "false", + "Description": "添加删除按钮" + }, + { + "Name": "CloseIcon", + "Type": "String", + "Default": "null", + "Description": "更改用于 close 纸片的默认图标" + }, + { + "Name": "CloseLabel", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "禁用纸片,使其不可选择" + }, + { + "Name": "Draggable", + "Type": "Boolean", + "Default": "false", + "Description": "是否可以被鼠标拖拽。" + }, + { + "Name": "Filter", + "Type": "Boolean", + "Default": "false", + "Description": "选中时显示选择图标。" + }, + { + "Name": "FilterIcon", + "Type": "String", + "Default": "mdi-check", + "Description": "更改用于 filter 纸片的默认图标。" + }, + { + "Name": "Href", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Label", + "Type": "Boolean", + "Default": "false", + "Description": "移除圆形边缘" + }, + { + "Name": "Large", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的巨大。" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Link", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "Pill", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Ripple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Small", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的小。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Target", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "TextColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "XLarge", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的无比巨大。" + }, + { + "Name": "XSmall", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的更小。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + }, + { + "Name": "OnCloseClick", + "Description": "" + } + ] +} \ No newline at end of file From d1acd258d348bf010cc5968835d280c93bda03a6 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:42 +0800 Subject: [PATCH 017/191] New translations MChipGroup.zh-CN.json (English) --- en/en/MChipGroup.zh-CN.json | 116 ++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 en/en/MChipGroup.zh-CN.json diff --git a/en/en/MChipGroup.zh-CN.json b/en/en/MChipGroup.zh-CN.json new file mode 100644 index 0000000000..feeba2c461 --- /dev/null +++ b/en/en/MChipGroup.zh-CN.json @@ -0,0 +1,116 @@ +{ + "Title": "ChipGroup", + "Components": [ + "Chip groups" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "CenterActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Column", + "Type": "Boolean", + "Default": "false", + "Description": "删除水平分页并根据需要包装项目" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Mandatory", + "Type": "Boolean", + "Default": "false", + "Description": "强制始终选择一个值(如果可用)。" + }, + { + "Name": "Max", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Multiple", + "Type": "Boolean", + "Default": "false", + "Description": "允许多个选择。value 属性必须是 array。" + }, + { + "Name": "NextIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrevIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ShowArrows", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Values", + "Type": "List`1", + "Default": "", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "NextContent", + "Description": "" + }, + { + "Name": "PrevContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + }, + { + "Name": "ValuesChanged", + "Description": "" + } + ] +} \ No newline at end of file From c6d02c875ed8d8b053942f893cd1d103cb56a7db Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:44 +0800 Subject: [PATCH 018/191] New translations MCol.zh-CN.json (English) --- en/en/MCol.zh-CN.json | 141 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 en/en/MCol.zh-CN.json diff --git a/en/en/MCol.zh-CN.json b/en/en/MCol.zh-CN.json new file mode 100644 index 0000000000..1c9ec1beba --- /dev/null +++ b/en/en/MCol.zh-CN.json @@ -0,0 +1,141 @@ +{ + "Title": "Col", + "Components": [ + "Grid system" + ], + "Props": [ + { + "Name": "Align", + "Type": "StringEnum`1", + "Default": "null", + "Description": "应用 align-items css 属性。可用的选项是start, center, end, auto, baseline 和 stretch。" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Cols", + "Type": "StringNumber", + "Default": "", + "Description": "设置组件扩展的默认列数。可用的选项是 1 -> 12 和 auto 。" + }, + { + "Name": "Flex", + "Type": "StringNumber", + "Default": "", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Lg", + "Type": "StringNumber", + "Default": "", + "Description": "在更大和更大的断点上更改列数,可用的选项是 1 -> 12 和 auto 。" + }, + { + "Name": "Md", + "Type": "StringNumber", + "Default": "", + "Description": "更改中等和较大断点上的列数,可用的选项是 1 -> 12 和 auto 。" + }, + { + "Name": "Offset", + "Type": "StringNumber", + "Default": "", + "Description": "设置列的默认偏移量。" + }, + { + "Name": "OffsetLg", + "Type": "StringNumber", + "Default": "", + "Description": "在更大和更大的断点上更改组件的偏移量。" + }, + { + "Name": "OffsetMd", + "Type": "StringNumber", + "Default": "", + "Description": "在中等和更高的断点上更改组件的偏移量。" + }, + { + "Name": "OffsetSm", + "Type": "StringNumber", + "Default": "", + "Description": "在较小和较大的断点处更改组件的偏移量。" + }, + { + "Name": "OffsetXl", + "Type": "StringNumber", + "Default": "", + "Description": "在更大和更大的断点处更改组件的偏移量。" + }, + { + "Name": "Order", + "Type": "StringNumber", + "Default": "", + "Description": "设置列的默认 order" + }, + { + "Name": "OrderLg", + "Type": "StringNumber", + "Default": "", + "Description": "在更大和更大的断点上更改组件的偏移量。" + }, + { + "Name": "OrderMd", + "Type": "StringNumber", + "Default": "", + "Description": "在中等和更高的断点上更改组件的偏移量。" + }, + { + "Name": "OrderSm", + "Type": "StringNumber", + "Default": "", + "Description": "在较小和较大的断点处更改组件的偏移量。" + }, + { + "Name": "OrderXl", + "Type": "StringNumber", + "Default": "", + "Description": "在更大和更大的断点处更改组件的偏移量。" + }, + { + "Name": "Sm", + "Type": "StringNumber", + "Default": "", + "Description": "在较小和较大的断点上更改列数,可用的选项是 1 -> 12 和 auto 。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "div", + "Description": "指定在根元素上使用的自定义标签。" + }, + { + "Name": "Xl", + "Type": "StringNumber", + "Default": "", + "Description": "在较小和较大的断点上更改列数,可用的选项是 1 -> 12 和 auto 。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 638ee5136f6d6483e7142aa43adfae8f75d74828 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:45 +0800 Subject: [PATCH 019/191] New translations MColorPicker.zh-CN.json (English) --- en/en/MColorPicker.zh-CN.json | 111 ++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 en/en/MColorPicker.zh-CN.json diff --git a/en/en/MColorPicker.zh-CN.json b/en/en/MColorPicker.zh-CN.json new file mode 100644 index 0000000000..0097e66e85 --- /dev/null +++ b/en/en/MColorPicker.zh-CN.json @@ -0,0 +1,111 @@ +{ + "Title": "ColorPicker", + "Components": [ + "Color pickers" + ], + "Props": [ + { + "Name": "CanvasHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "DotSize", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "null", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "HideCanvas", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "HideInputs", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "HideModeSwitch", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "HideSliders", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Mode", + "Type": "ColorTypes", + "Default": "", + "Description": "" + }, + { + "Name": "ShowSwatches", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "Object", + "Default": "null", + "Description": "" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnColorUpdate", + "Description": "" + } + ] +} \ No newline at end of file From d1b3d35d7013ca946cfca18d4b693ba66351ddb9 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:45 +0800 Subject: [PATCH 020/191] New translations MColorPickerCanvas.zh-CN.json (English) --- en/en/MColorPickerCanvas.zh-CN.json | 63 +++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 en/en/MColorPickerCanvas.zh-CN.json diff --git a/en/en/MColorPickerCanvas.zh-CN.json b/en/en/MColorPickerCanvas.zh-CN.json new file mode 100644 index 0000000000..af050961c9 --- /dev/null +++ b/en/en/MColorPickerCanvas.zh-CN.json @@ -0,0 +1,63 @@ +{ + "Title": "ColorPickerCanvas", + "Components": [ + "Color pickers" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "ColorPickerColor", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "DotSize", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnColorUpdate", + "Description": "" + } + ] +} \ No newline at end of file From 5abe444814d01fe1e98bf73e52ca54dd16439c19 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:46 +0800 Subject: [PATCH 021/191] New translations MColorPickerEdit.zh-CN.json (English) --- en/en/MColorPickerEdit.zh-CN.json | 69 +++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 en/en/MColorPickerEdit.zh-CN.json diff --git a/en/en/MColorPickerEdit.zh-CN.json b/en/en/MColorPickerEdit.zh-CN.json new file mode 100644 index 0000000000..bbc8aa4d54 --- /dev/null +++ b/en/en/MColorPickerEdit.zh-CN.json @@ -0,0 +1,69 @@ +{ + "Title": "ColorPickerEdit", + "Components": [ + "Color pickers" + ], + "Props": [ + { + "Name": "Attrs", + "Type": "Dictionary`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "ColorPickerColor", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "HideAlpha", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Mode", + "Type": "ColorTypes", + "Default": "", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Target", + "Type": "String", + "Default": "null", + "Description": "" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnColorUpdate", + "Description": "" + } + ] +} \ No newline at end of file From b70a1e12f80e0ba3bd34044dead717e23a5bafb1 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:47 +0800 Subject: [PATCH 022/191] New translations MColorPickerPreview.zh-CN.json (English) --- en/en/MColorPickerPreview.zh-CN.json | 51 ++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 en/en/MColorPickerPreview.zh-CN.json diff --git a/en/en/MColorPickerPreview.zh-CN.json b/en/en/MColorPickerPreview.zh-CN.json new file mode 100644 index 0000000000..86df3eaf84 --- /dev/null +++ b/en/en/MColorPickerPreview.zh-CN.json @@ -0,0 +1,51 @@ +{ + "Title": "ColorPickerPreview", + "Components": [ + "Color pickers" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "ColorPickerColor", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "HideAlpha", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnColorUpdate", + "Description": "" + } + ] +} \ No newline at end of file From ad52301680c919782f295cb8c7938e25e3ebb066 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:48 +0800 Subject: [PATCH 023/191] New translations MContainer.zh-CN.json (English) --- en/en/MContainer.zh-CN.json | 45 +++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 en/en/MContainer.zh-CN.json diff --git a/en/en/MContainer.zh-CN.json b/en/en/MContainer.zh-CN.json new file mode 100644 index 0000000000..8b84d72f6d --- /dev/null +++ b/en/en/MContainer.zh-CN.json @@ -0,0 +1,45 @@ +{ + "Title": "Container", + "Components": [ + "Grid system" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Fluid", + "Type": "Boolean", + "Default": "false", + "Description": "删除视图最大宽度大小的断点" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "设置组件上的 DOM id" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "div", + "Description": "指定在根元素上使用的自定义标签。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From e820465c289280f25ce639e8acbf6701cd7d2a9f Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:49 +0800 Subject: [PATCH 024/191] New translations MCalendarCategory.zh-CN.json (English) --- en/en/MCalendarCategory.zh-CN.json | 231 +++++++++++++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 en/en/MCalendarCategory.zh-CN.json diff --git a/en/en/MCalendarCategory.zh-CN.json b/en/en/MCalendarCategory.zh-CN.json new file mode 100644 index 0000000000..8a0b5472f3 --- /dev/null +++ b/en/en/MCalendarCategory.zh-CN.json @@ -0,0 +1,231 @@ +{ + "Components": [ + "CalendarCategory" + ], + "Props": [ + { + "Name": "Categories", + "Type": "OneOf`2", + "Default": "", + "Description": "" + }, + { + "Name": "CategoryDays", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "CategoryForInvalid", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "CategoryHideDynamic", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "CategoryShowAll", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "CategoryText", + "Type": "OneOf`2", + "Default": "", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "DayFormat", + "Type": "Func`3", + "Default": "null", + "Description": "" + }, + { + "Name": "End", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "FirstInterval", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "FirstTime", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "HideHeader", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IntervalCount", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "IntervalFormat", + "Type": "Func`3", + "Default": "null", + "Description": "" + }, + { + "Name": "IntervalHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "IntervalMinutes", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "IntervalStyle", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "IntervalWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Locale", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "MaxDays", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Now", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "ShortIntervals", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShortWeekdays", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowIntervalLabel", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Start", + "Type": "StringNumberDate", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "WeekdayFormat", + "Type": "Func`3", + "Default": "null", + "Description": "" + }, + { + "Name": "WeekDays", + "Type": "OneOf`2", + "Default": "", + "Description": "" + } + ], + "Contents": [ + { + "Name": "CategoryContent", + "Description": "" + }, + { + "Name": "DayBodyContent", + "Description": "" + }, + { + "Name": "DayHeaderContent", + "Description": "" + }, + { + "Name": "DayLabelHeaderContent", + "Description": "" + }, + { + "Name": "IntervalContent", + "Description": "" + }, + { + "Name": "IntervalHeaderContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "NowChanged", + "Description": "" + } + ] +} \ No newline at end of file From 176a8e72e21bc2f154730c2444add258afb48f30 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:50 +0800 Subject: [PATCH 025/191] New translations MButtonGroup.zh-CN.json (English) --- en/en/MButtonGroup.zh-CN.json | 138 ++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 en/en/MButtonGroup.zh-CN.json diff --git a/en/en/MButtonGroup.zh-CN.json b/en/en/MButtonGroup.zh-CN.json new file mode 100644 index 0000000000..47a8e3e2cd --- /dev/null +++ b/en/en/MButtonGroup.zh-CN.json @@ -0,0 +1,138 @@ +{ + "Title": "ButtonGroup", + "Components": [ + "Button groups" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "更改组件的背景颜色。" + }, + { + "Name": "Borderless", + "Type": "Boolean", + "Default": "false", + "Description": "移除按钮组的边框。" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Group", + "Type": "Boolean", + "Default": "false", + "Description": "通常用于 v-toolbar 和 v-app-bar。删除背景颜色、边框并增加按钮的间距" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Mandatory", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Max", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Multiple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rounded", + "Type": "Boolean", + "Default": "false", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "在卡片的左上角和右下角应用较大的边框半径。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "组件的指定 model 值。" + }, + { + "Name": "Values", + "Type": "List`1", + "Default": "", + "Description": "组件的指定 model 值。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + }, + { + "Name": "ValuesChanged", + "Description": "" + } + ] +} \ No newline at end of file From e5b0c5dd57bae3e29222bd2938647824fd2ae8b1 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:51 +0800 Subject: [PATCH 026/191] New translations mdContent.zh-CN.json (English) --- en/en/mdContent.zh-CN.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 en/en/mdContent.zh-CN.json diff --git a/en/en/mdContent.zh-CN.json b/en/en/mdContent.zh-CN.json new file mode 100644 index 0000000000..42754e4b5c --- /dev/null +++ b/en/en/mdContent.zh-CN.json @@ -0,0 +1,21 @@ +[ + "---", + "", + "order: 0", + "[title]", + "", + "---", + " ", + "## 属性", + " ", + "属性", + " ", + "## 插槽", + " ", + "插槽", + " ", + "## 事件", + " ", + "事件", + " " +] \ No newline at end of file From 20a6703b088f6b7d81fb3724b6919b885f8981df Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:52 +0800 Subject: [PATCH 027/191] New translations MApp.zh-CN.json (English) --- en/en/MApp.zh-CN.json | 51 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 en/en/MApp.zh-CN.json diff --git a/en/en/MApp.zh-CN.json b/en/en/MApp.zh-CN.json new file mode 100644 index 0000000000..5e5ba278f7 --- /dev/null +++ b/en/en/MApp.zh-CN.json @@ -0,0 +1,51 @@ +{ + "Title": "App", + "Components": [ + "Application" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "LeftToRight", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From dee6cde991e6247cd4cdb40b3dc6455fd015e956 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:53 +0800 Subject: [PATCH 028/191] New translations propDefaultDescription.zh-CN.json (English) --- en/en/propDefaultDescription.zh-CN.json | 74 +++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 en/en/propDefaultDescription.zh-CN.json diff --git a/en/en/propDefaultDescription.zh-CN.json b/en/en/propDefaultDescription.zh-CN.json new file mode 100644 index 0000000000..a7c432c539 --- /dev/null +++ b/en/en/propDefaultDescription.zh-CN.json @@ -0,0 +1,74 @@ +[ + [ + "Style", + "应用到组件最外层元素的style" + ], + [ + "Class", + "应用到组件最外层元素的class" + ], + [ + "Color", + "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + ], + [ + "Dark", + "将暗色主题变量应用到组件。" + ], + [ + "Dense", + "减少组件的高度。" + ], + [ + "Elevation", + "组件的海拔可接受 0 到 24 之间的值。" + ], + [ + "Outlined", + "使背景透明并使用薄边框。" + ], + [ + "Absolute", + "应用 position: absolute 样式到组件." + ], + [ + "Fixed", + "给组件应用 position: fixed" + ], + [ + "MaxHeight", + "设定组件的最大高度。" + ], + [ + "MaxWidth", + "设定组件的最大宽度。" + ], + [ + "MinHeight", + "设定组件的最小高度。" + ], + [ + "MinWidth", + "设定组件的最小宽度。" + ], + [ + "Width", + "设定组件的最小宽度。" + ], + [ + "Height", + "设定组件的高度。" + ], + [ + "Rounded", + "对指定的组件应用 border-radius 样式。" + ], + [ + "Size", + "设置组件的高度和宽度." + ], + [ + "Tile", + "删除组件的border-radius样式" + ] +] \ No newline at end of file From a79bd4a8c600a0651517453a99a681c002395a2b Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:54 +0800 Subject: [PATCH 029/191] New translations more-list.zh-CN.json (English) --- en/en/more-list.zh-CN.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 en/en/more-list.zh-CN.json diff --git a/en/en/more-list.zh-CN.json b/en/en/more-list.zh-CN.json new file mode 100644 index 0000000000..018fb5c652 --- /dev/null +++ b/en/en/more-list.zh-CN.json @@ -0,0 +1,18 @@ +[ + { + "title": ".NET Blazor Development - Drag & Drop", + "description": "拖拽(Drag & Drop)操作几乎可以说是每一个UI平台的必备功能,今天就来了解一下在 Blazor 框架下要如何实现这一功能呢?", + "img": "https://picb.zhimg.com/v2-4d0f72a18e2883ab30a4357b855e8bd3_b.webp", + "date": "2020-04-28", + "source": "zhihu", + "href": "https://zhuanlan.zhihu.com/p/136802873" + }, + { + "title": "在 ASP.NET Core 中使用 Ant Design Blazor 组件 - 创建一个音乐播放器", + "description": "那么今天就来聊一聊如何利用 Ant Design Blazor 在ASP.NET Core MVC项目中使用这些Blazor组件吧!", + "img": "https://pic4.zhimg.com/v2-4a7f675223017e1ed7685a7782fc1977_1440w.jpg", + "date": "2020-07-14", + "source": "zhihu", + "href": "https://zhuanlan.zhihu.com/p/157582707" + } +] \ No newline at end of file From 891e7f7c4cbadc51bbdcb068f60057cf0c877229 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:55 +0800 Subject: [PATCH 030/191] New translations recommend.zh-CN.json (English) --- en/en/recommend.zh-CN.json | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 en/en/recommend.zh-CN.json diff --git a/en/en/recommend.zh-CN.json b/en/en/recommend.zh-CN.json new file mode 100644 index 0000000000..672f531c0e --- /dev/null +++ b/en/en/recommend.zh-CN.json @@ -0,0 +1,23 @@ +[ + { + "title": "【入门系列教程】进击吧!Blazor", + "description": "从 9 月份开始,Ant Design Blazor 团队携手微软 MVP 张善友,在 Reactor 上海举办了一系列的 Blazor 入门教程,一共 7 期,带领大家掌握 Blazor!。主讲人是张善友和 Ant Design Blazor 贡献者陈超超,主持人是董斌。", + "img": "/docs/assets/news/attack-blazor.jpg", + "href": "https://space.bilibili.com/483888821/channel/detail?cid=151273", + "popularize": false + }, + { + "title": "从 HelloWorld 到 AntDesign,Blazor 将 .NET 带到现代前端圈", + "description": "7月11日,Ant Design Blazor 团队与 Reactor 上海合作的一场 Blazor 专题在线分享。内容从 Blazor 的整体介绍到与其他前端框架的横向对比,从 Hello World 到 Ant Design 入门实战,不要错过了哦!", + "img": "/docs/assets/news/blazor-07.jpg", + "href": "https://www.bilibili.com/video/BV17z4y1Q7cJ", + "popularize": false + }, + { + "title": "如何用 Blazor 实现 Ant Design 组件库?", + "description": "Ant Design Blazor 是 Ant Design 的 Blazor 实现,希望有一天能在丰富 Blazor 生态的同时,还能成为被 Ant Design 生态认可的框架实现,能成为他们 Design 梦的一个延续。", + "img": "https://picb.zhimg.com/v2-320009747fc474ccd71dbd87e5767b64_1440w.jpg?source=172ae18b", + "href": "https://zhuanlan.zhihu.com/p/115046252", + "popularize": false + } +] \ No newline at end of file From 2dc23d9b17e90ddfde6f5043696905ce58372811 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:56 +0800 Subject: [PATCH 031/191] New translations code-conduct.zh-CN.json (English) --- en/en/code-conduct.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/code-conduct.zh-CN.json diff --git a/en/en/code-conduct.zh-CN.json b/en/en/code-conduct.zh-CN.json new file mode 100644 index 0000000000..79089b84c1 --- /dev/null +++ b/en/en/code-conduct.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 3, + "Title": "行为准则", + "Html": "\r\n

\r\n #\r\n 行为准则\r\n

\n

如有关于我们的 行为准则的问题或疑虑,请联系我们support@vuetifyjs.com

\n\r\n
 
\r\n

\r\n #\r\n 我们的承诺\r\n

\n

为了营造一个开放和受欢迎的环境,我们作为贡献者和维护者,承诺让参与我们项目和社区的每个人提供无骚扰的体验,无论年龄、体型、残疾、种族、性别认同和表达、经验水平、国籍、个人外貌,种族、宗教或性身份和取向。

\n\n

不可接受的参与者行为包括:

\n\n
\n\r\n
\r\n

\r\n #\r\n 我们的责任\r\n

\n

项目维护人员负责澄清可接受行为的标准,并对任何不可接受行为采取适当和公正的纠正措施。

\n
\n

项目维护者有权利和责任删除、编辑或拒绝与本行为准则不一致的评论、提交、代码、wiki编辑、问题和其他贡献,或者暂时或永久禁止任何贡献者从事他们认为不适当、威胁、冒犯或有害的其他行为。

\n
\n\r\n
\r\n

\r\n #\r\n 范围\r\n

\n

当个人代表项目或其社区时,本行为准则适用于项目空间和公共空间。 代表一个项目或社区的例子包括使用官方项目电子邮件地址、通过官方社交媒体帐户发帖、或在在线或线下活动中担任指定代表。 项目维护人员可以进一步定义和澄清项目的代表。

\n
\n\r\n
\r\n

\r\n #\r\n 具体措施\r\n

\n

如有虐待、骚扰或其他不可接受的行为,可联系项目团队john@vuetifyjs.com。 项目组将审查和调查所有投诉,并以其认为适当的方式回应。 项目组有义务对事件报告人保密。 具体执行政策的进一步详情可另行公布。

\n
\n

项目维护者如果不真诚地遵守或执行行为准则,可能会面临项目领导层其他成员确定的暂时或永久性影响。

\n
\n\r\n
\r\n

\r\n #\r\n 归属\r\n

\n

This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at https://contributor-covenant.org/version/1/4

\n" +} \ No newline at end of file From bb46b5aec1652236eaf17adc26604f2a1f01352d Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:57 +0800 Subject: [PATCH 032/191] New translations meet-the-team.zh-CN.json (English) --- en/en/meet-the-team.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/meet-the-team.zh-CN.json diff --git a/en/en/meet-the-team.zh-CN.json b/en/en/meet-the-team.zh-CN.json new file mode 100644 index 0000000000..c81bf59aab --- /dev/null +++ b/en/en/meet-the-team.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 0, + "Title": "认识开发团队", + "Html": "\r\n

\r\n #\r\n 认识开发团队\r\n

\n

MASA Blazor 不是 一个个人秀。 我们有一个非常活跃和投入的团队,不断努力为开发人员带来更好的体验。 请记住,下面并不是所有有助于使 MASA Blazor 变得更强的所有人的详尽列表。 感谢您 的支持,感谢您使用 MASA Blazor !

\n\r\n
 
\r\n

\r\n #\r\n 公司\r\n

\n

MASA Blazor(公司)是一家全职开源企业。 您可以通过在 GitHub 上赞助 MASA Blazor 来支持他们。

\n\n
\n
\n\t\t\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
John Leider\n \n \n \n \n \n \n \n
\n
\n

焦点

\n
\n \n \n
\n
\n

资金支持

\n
\n \n
\n Patreon\n
\n \n
\n
\n \n CEO @ Vuetify
\n
\n \n Fort Worth, TX, USA
\n
\n \n \n
\n English\n
\n \n
\n
\n
\n
\n
\n\t\t\n
\n\t\t\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Heather Leider\n \n \n \n \n \n \n \n \n \n
\n
\n

焦点

\n
\n \n \n
\n \n
\n \n COO @ Vuetify
\n
\n \n Fort Worth, TX, USA
\n
\n \n \n
\n English\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n\r\n
\r\n

\r\n #\r\n 核心团队\r\n

\n

核心开发团队是开放源码开发人员,帮助引导 MASA Blazor 及其生态系统的方向。

\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Kael Watts-Deuchar\n \n \n \n \n \n \n \n \n \n
\n
\n

焦点

\n
\n \n \n \n \n
\n
\n

资金支持

\n
\n \n
\n Patreon\n
\n \n
\n \n
\n \n Melbourne, Australia
\n
\n \n \n
\n English\n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Albert Kaaman\n \n \n \n \n \n
\n
\n

焦点

\n
\n
\n vuetifyjs\n
\n \n
\n \n \n
\n \n Malmö, Sweden
\n
\n \n \n
\n Swedish\n
\n
\n English\n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Jacek Karczmarczyk\n \n \n \n \n \n
\n
\n

焦点

\n
\n
\n vuetifyjs\n
\n \n
\n \n \n
\n \n Warsaw, Poland
\n
\n \n \n
\n Polish\n
\n
\n English\n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Andrew Henry\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n

焦点

\n
\n
\n vuetifyjs\n
\n \n \n
\n
\n

资金支持

\n
\n \n \n \n
\n \n
\n \n Rochester, NY, USA
\n
\n \n \n
\n English\n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Blaine Landowski\n \n \n \n \n \n \n \n \n \n
\n
\n

焦点

\n
\n
\n vuetifyjs\n
\n \n
\n \n \n
\n \n Wisconsin, USA
\n
\n \n \n
\n English\n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Elijah Kotyluk\n \n \n \n \n \n
\n
\n

焦点

\n
\n
\n vuetifyjs\n
\n \n \n
\n
\n

资金支持

\n
\n \n \n
\n \n
\n \n USA
\n
\n \n " +} \ No newline at end of file From f84a295cbba25bedc2791bee60108f9b335ca105 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:58 +0800 Subject: [PATCH 033/191] New translations security-disclosure.zh-CN.json (English) --- en/en/security-disclosure.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/security-disclosure.zh-CN.json diff --git a/en/en/security-disclosure.zh-CN.json b/en/en/security-disclosure.zh-CN.json new file mode 100644 index 0000000000..6b184c353f --- /dev/null +++ b/en/en/security-disclosure.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 2, + "Title": "安全披露", + "Html": "\r\n

\r\n #\r\n 安全披露\r\n

\n

本文件概述了 MASA Blazor 项目的安全程序和一般政策。

\n\r\n
 
\r\n

\r\n #\r\n 报告错误\r\n

\n

MASA Blazor团队和社区认真对待 MASA Blazor中的所有安全漏洞。 我们赞赏你的努力和负责任的披露,并将尽一切努力承认你的贡献。

\n

要报告一个安全问题,请发送邮件 security@vuetifyjs.com 并在主题行中包含单词 "SECURITY"

\n

MASA Blazor团队将发送回复,说明处理您报告的下一步步骤。 MASA Blazor 团队将发送回复,说明下一步处理您的报告的步骤。在对您的报告作出初步回复后,安全团队将随时向您通报修复的进展和完整的公告,并可能要求您提供额外的信息或指导。

\n

向维护模块的人或团队报告第三方模块中的安全漏洞。 您也可以通过 节点安全项目. 报告脆弱性。

\n
\n\r\n
\r\n

\r\n #\r\n 披露政策\r\n

\n

当安全小组收到安全漏洞报告时,他们将把它分配给一个主要处理器。 此人将协调修复和释放程序,涉及下列步骤:

\n
    \n
  • 确认问题并确定受影响的版本。
  • \n
  • 审计代码,以发现任何潜在的类似问题。
  • \n
  • 为所有仍在维护中的版本准备修复。这些修复将尽快发布到 npm 中。
  • \n
\n
\n\r\n
\r\n

\r\n #\r\n 对本政策的建议\r\n

\n

如果您有关于如何改进这个过程的建议,请使用 issue creator 提交拉取请求。

\n" +} \ No newline at end of file From 9050b4ac8ffeb656f07e22bf2a63f3537d898132 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:58 +0800 Subject: [PATCH 034/191] New translations sponsors-backers.zh-CN.json (English) --- en/en/sponsors-backers.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/sponsors-backers.zh-CN.json diff --git a/en/en/sponsors-backers.zh-CN.json b/en/en/sponsors-backers.zh-CN.json new file mode 100644 index 0000000000..e8f2b4de15 --- /dev/null +++ b/en/en/sponsors-backers.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 1, + "Title": "赞助商和支持者", + "Html": "\r\n

\r\n #\r\n 赞助商和支持者\r\n

\n

MASA Blazor 是一个 MIT 许可 的开源项目,可以完全免费使用。 由 John 和 Heather Leider 全职积极维护它。 此外,由开源贡献者组成的核心团队有助于维护和指导框架的未来。 维持核心框架和生态系统包所需的时间和投入是相当可观的。 您可以通过以下方法之一成为支持者来支持 MASA Blazor 的开源项目:

\n\r\n
 
\r\n

\r\n #\r\n 一次性捐助\r\n

\n

一次性捐款可以通过 支付宝 进行。

\n
\n\r\n
\r\n

\r\n #\r\n 定期捐助\r\n

\n

定期捐助会带来 专属 的好处,比如 GitHub 的优先级问题、应用审核,以及将您的徽标放在本网站上。

\n\n
\n\r\n
\r\n

\r\n #\r\n 当前项目赞助商\r\n

\n

我们感谢所有项目赞助商对 MASA Blazor 的持续支持。 If you have any questions about sponsorship, please reach out to sponsor@vuetifyjs.com for more information.

\n
\n

Special

\n\n
\n

钻石赞助商

\n\n
\n

白金赞助商

\n
\n

黄金赞助商

\n
\n

白银赞助商

\n
\n

业务合作伙伴

\n
\n\r\n
\r\n

\r\n #\r\n 粗略的\r\n

\n

如果您在经营一家企业并在创收的产品中使用 MASA Blazor,那么赞助 MASA Blazor 开发是有商业意义的:它可以确保您的产品所依赖的项目保持健康并得到积极维护。 MASA Blazor 是 John 和 Heather 的 全职 工作;您的赞助和贡献有助于支持他们。

\n
\n

如果您对赞助有任何疑问,请联系 sponsor@vuetifyjs.com 了解更多信息。

\n" +} \ No newline at end of file From e04df7fc7af1c41fad46cdc6d3ac0d3e7fef5ded Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:35:59 +0800 Subject: [PATCH 035/191] New translations MAlert.zh-CN.json (English) --- en/en/MAlert.zh-CN.json | 200 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 en/en/MAlert.zh-CN.json diff --git a/en/en/MAlert.zh-CN.json b/en/en/MAlert.zh-CN.json new file mode 100644 index 0000000000..fd65e14905 --- /dev/null +++ b/en/en/MAlert.zh-CN.json @@ -0,0 +1,200 @@ +{ + "Title": "Alert", + "Components": [ + "Alerts" + ], + "Props": [ + { + "Name": "Border", + "Type": "Borders", + "Default": "", + "Description": "在Alert组件内设置边框,可用的值有AlertBorder.Top| AlertBorder.Right | AlertBorder.Bottom | AlertBorder.Left" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "CloseIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "CloseLabel", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "ColoredBorder", + "Type": "Boolean", + "Default": "false", + "Description": "将自定义的 color 应用于提示框的边框" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Dismissible", + "Type": "Boolean", + "Default": "false", + "Description": "添加一个可以关闭警报的图标。" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "Icon", + "Type": "StringBoolean", + "Default": "null", + "Description": "指定特定的图标。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "Prominent", + "Type": "Boolean", + "Default": "false", + "Description": "显示较大的垂直居中图标,以引起更多注意。" + }, + { + "Name": "Rounded", + "Type": "StringBoolean", + "Default": "null", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Text", + "Type": "Boolean", + "Default": "false", + "Description": "将定义的 color 应用于文本和同样的低透明度背景。" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Transition", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Type", + "Type": "AlertTypes", + "Default": "", + "Description": "指定一个 AlertType.Success, AlertType.Info, AlertType.Warning 或 AlertType.Error 提示。使用上下文颜色并具有预定义的图标。" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 358e144f00993b6673d1c4d57d2097b38df8f2e4 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:00 +0800 Subject: [PATCH 036/191] New translations MAlertDismissButton.zh-CN.json (English) --- en/en/MAlertDismissButton.zh-CN.json | 300 +++++++++++++++++++++++++++ 1 file changed, 300 insertions(+) create mode 100644 en/en/MAlertDismissButton.zh-CN.json diff --git a/en/en/MAlertDismissButton.zh-CN.json b/en/en/MAlertDismissButton.zh-CN.json new file mode 100644 index 0000000000..37b8ad8007 --- /dev/null +++ b/en/en/MAlertDismissButton.zh-CN.json @@ -0,0 +1,300 @@ +{ + "Title": "AlertDismissButton", + "Components": [ + "Alerts" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "Boolean", + "Default": "false", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Block", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Bottom", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Button", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Depressed", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "null", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Fab", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Fixed", + "Type": "Boolean", + "Default": "false", + "Description": "给组件应用 position: fixed" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "Href", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Icon", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Large", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Left", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Link", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Loading", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "Plain", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Right", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Ripple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rounded", + "Type": "Boolean", + "Default": "false", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Small", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "StopPropagation", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Target", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Text", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Top", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Type", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "XLarge", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "XSmall", + "Type": "Boolean", + "Default": "false", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "LoaderContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From b1001a6b8df0f07d87de2d57285a38f3d0e0ba34 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:01 +0800 Subject: [PATCH 037/191] New translations MAlertIcon.zh-CN.json (English) --- en/en/MAlertIcon.zh-CN.json | 122 ++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 en/en/MAlertIcon.zh-CN.json diff --git a/en/en/MAlertIcon.zh-CN.json b/en/en/MAlertIcon.zh-CN.json new file mode 100644 index 0000000000..1150f03a50 --- /dev/null +++ b/en/en/MAlertIcon.zh-CN.json @@ -0,0 +1,122 @@ +{ + "Title": "AlertIcon", + "Components": [ + "Alerts" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Large", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Left", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Right", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Size", + "Type": "StringNumber", + "Default": "null", + "Description": "设置组件的高度和宽度." + }, + { + "Name": "Small", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "XLarge", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "XSmall", + "Type": "Boolean", + "Default": "false", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From 254196db8183270ea32bf57d85e1435b4b937cf6 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:02 +0800 Subject: [PATCH 038/191] New translations MAppBar.zh-CN.json (English) --- en/en/MAppBar.zh-CN.json | 299 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 299 insertions(+) create mode 100644 en/en/MAppBar.zh-CN.json diff --git a/en/en/MAppBar.zh-CN.json b/en/en/MAppBar.zh-CN.json new file mode 100644 index 0000000000..00fe8af481 --- /dev/null +++ b/en/en/MAppBar.zh-CN.json @@ -0,0 +1,299 @@ +{ + "Title": "AppBar", + "Components": [ + "App bars" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "Boolean", + "Default": "false", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "App", + "Type": "Boolean", + "Default": "false", + "Description": "指定该组件作为应用程序布局的一部分。用于动态调整内容的大小。使用此属性的组件只有位于 v-main 组件的 外部才能正常运行。您可以在 应用程序页面 获取更多有关布局的信息。注意: 使用此属性会自动应用position: fixed 到布局元素上。您可以使用 absolute 属性 来覆盖这个功能。" + }, + { + "Name": "Bottom", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向底部对齐。" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "ClippedLeft", + "Type": "Boolean", + "Default": "false", + "Description": "指定位于左侧的应用程序的 v-navigation-drawer 在应用程序栏下方。" + }, + { + "Name": "ClippedRight", + "Type": "Boolean", + "Default": "false", + "Description": "指定位于右侧的应用程序的 v-navigation-drawer 在应用程序栏下方。" + }, + { + "Name": "Collapse", + "Type": "Boolean", + "Default": "false", + "Description": "将工具栏置于折叠状态,以减小其最大宽度。" + }, + { + "Name": "CollapseOnScroll", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "ElevateOnScroll", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "null", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Extended", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ExtensionHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "FadeImgOnScroll", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Fixed", + "Type": "Boolean", + "Default": "false", + "Description": "给组件应用 position: fixed" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "删除工具栏的框阴影。" + }, + { + "Name": "Floating", + "Type": "Boolean", + "Default": "false", + "Description": "将 display: inline-flex 应用于组件。" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "HideOnScroll", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "InvertedScroll", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Left", + "Type": "StringNumber", + "Default": "", + "Description": "将 left: 应用于组件。" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MarginTop", + "Type": "StringNumber", + "Default": "", + "Description": "将 margin-top: 应用于组件。" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "Prominent", + "Type": "Boolean", + "Default": "false", + "Description": "将工具栏内容的高度增加到 128px。" + }, + { + "Name": "Right", + "Type": "StringNumber", + "Default": "", + "Description": "" + }, + { + "Name": "Rounded", + "Type": "StringBoolean", + "Default": "null", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "ScrollOffScreen", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ScrollTarget", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ScrollThreshold", + "Type": "Double", + "Default": "0", + "Description": "" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Short", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShrinkOnScroll", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Src", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "ExtensionContent", + "Description": "" + }, + { + "Name": "ImgContent", + "Description": "" + } + ], + "Events": [] +} \ No newline at end of file From 7e91c5b04fe397e78f9281dff9e30f4e00304cf6 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:03 +0800 Subject: [PATCH 039/191] New translations MButton.zh-CN.json (English) --- en/en/MButton.zh-CN.json | 301 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 301 insertions(+) create mode 100644 en/en/MButton.zh-CN.json diff --git a/en/en/MButton.zh-CN.json b/en/en/MButton.zh-CN.json new file mode 100644 index 0000000000..0d0ffcaef3 --- /dev/null +++ b/en/en/MButton.zh-CN.json @@ -0,0 +1,301 @@ +{ + "Title": "Button", + "Components": [ + "Buttons", + "Button Groups" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "Boolean", + "Default": "false", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Block", + "Type": "Boolean", + "Default": "false", + "Description": "将按钮扩大到可用空间的 100%。" + }, + { + "Name": "Bottom", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向底部对齐。" + }, + { + "Name": "Button", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Depressed", + "Type": "Boolean", + "Default": "false", + "Description": "移除按钮的阴影效果。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "移除组件的单击或 target 功能。" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "null", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Fab", + "Type": "Boolean", + "Default": "false", + "Description": "将按钮指定为浮动动作按钮。按钮会变圆。" + }, + { + "Name": "Fixed", + "Type": "Boolean", + "Default": "false", + "Description": "给组件应用 position: fixed" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Href", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Icon", + "Type": "Boolean", + "Default": "false", + "Description": "将按钮指定为图标。按钮将变成圆形,并应用text属性。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Large", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的巨大。" + }, + { + "Name": "Left", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向左对齐。 这应该与 absolute 或 fixed 属性一起使用。" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Link", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Loading", + "Type": "Boolean", + "Default": "false", + "Description": "添加一个加载图标动画。" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "Plain", + "Type": "Boolean", + "Default": "false", + "Description": "移除悬停在按钮上时应用的默认背景变化。" + }, + { + "Name": "Right", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向右对齐。这应该与 absolute 或 fixed 属性一起使用。" + }, + { + "Name": "Ripple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rounded", + "Type": "Boolean", + "Default": "false", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Small", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的小。" + }, + { + "Name": "StopPropagation", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Target", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Text", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明。当使用color属性时,颜色将应用于按钮文本而不是背景。" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Top", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向顶部对齐。" + }, + { + "Name": "Type", + "Type": "String", + "Default": "null", + "Description": "设置按钮的type属性。" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "XLarge", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的无比巨大。" + }, + { + "Name": "XSmall", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的更小。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "LoaderContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From 1fbf035d2bbf7a0561c3d590dc49452af9953ef5 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:04 +0800 Subject: [PATCH 040/191] New translations MAppBarNavIcon.zh-CN.json (English) --- en/en/MAppBarNavIcon.zh-CN.json | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 en/en/MAppBarNavIcon.zh-CN.json diff --git a/en/en/MAppBarNavIcon.zh-CN.json b/en/en/MAppBarNavIcon.zh-CN.json new file mode 100644 index 0000000000..b9b8edcbeb --- /dev/null +++ b/en/en/MAppBarNavIcon.zh-CN.json @@ -0,0 +1,28 @@ +{ + "Title": "AppBarNavIcon", + "Components": [ + "App bars" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [], + "Events": [] +} \ No newline at end of file From c6eed120003b8e401e593d09eb0bae2f4f2b0822 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:05 +0800 Subject: [PATCH 041/191] New translations MAppBarTitle.zh-CN.json (English) --- en/en/MAppBarTitle.zh-CN.json | 51 +++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 en/en/MAppBarTitle.zh-CN.json diff --git a/en/en/MAppBarTitle.zh-CN.json b/en/en/MAppBarTitle.zh-CN.json new file mode 100644 index 0000000000..b02b48e903 --- /dev/null +++ b/en/en/MAppBarTitle.zh-CN.json @@ -0,0 +1,51 @@ +{ + "Title": "AppBarTitle", + "Components": [ + "App bars" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "For", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Required", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From eb84b14f49cf2fb5be84d57c7d046a67496effb3 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:06 +0800 Subject: [PATCH 042/191] New translations MAutocomplete.zh-CN.json (English) --- en/en/MAutocomplete.zh-CN.json | 522 +++++++++++++++++++++++++++++++++ 1 file changed, 522 insertions(+) create mode 100644 en/en/MAutocomplete.zh-CN.json diff --git a/en/en/MAutocomplete.zh-CN.json b/en/en/MAutocomplete.zh-CN.json new file mode 100644 index 0000000000..b8cf7b309e --- /dev/null +++ b/en/en/MAutocomplete.zh-CN.json @@ -0,0 +1,522 @@ +{ + "Title": "Autocomplete", + "Components": [ + "Autocompletes" + ], + "Props": [ + { + "Name": "AppendIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "AppendOuterIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Autofocus", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Chips", + "Type": "Boolean", + "Default": "false", + "Description": "改变一个已选择项为小纸片(chips)的显示方式" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Clearable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ClearIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Counter", + "Type": "StringNumberBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "CounterValue", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "DeletableChips", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "禁用输入" + }, + { + "Name": "Error", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ErrorCount", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ErrorMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Filled", + "Type": "Boolean", + "Default": "false", + "Description": "应用替代填充输入样式" + }, + { + "Name": "Filter", + "Type": "Func`3", + "Default": "", + "Description": "" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "FullWidth", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDetails", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "HideNoData", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "HideSelected", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Hint", + "Type": "String", + "Default": "null", + "Description": "提示文本" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Interval", + "Type": "Double", + "Default": "", + "Description": "" + }, + { + "Name": "ItemDisabled", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Items", + "Type": "IReadOnlyList`1", + "Default": "", + "Description": "" + }, + { + "Name": "ItemText", + "Type": "Func`2", + "Default": "", + "Description": "" + }, + { + "Name": "ItemValue", + "Type": "Func`2", + "Default": "", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "设置输入标签" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "LoaderHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "false", + "Description": "显示线性进度条。可以是指定将哪种颜色应用于进度条的字符串(任何 material 色彩——主要(primary), 次要(secondary), 成功(success), 信息(info),警告(warning),错误(error)),或者使用组件的布尔值 color(由色彩属性设置——如果它被组件支持的话)还可以是原色。" + }, + { + "Name": "MenuProps", + "Type": "Action`1", + "Default": "", + "Description": "" + }, + { + "Name": "Messages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Multiple", + "Type": "Boolean", + "Default": "false", + "Description": "多选,接受数组作为值" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "PersistentHint", + "Type": "Boolean", + "Default": "false", + "Description": "强制提示总是可见的" + }, + { + "Name": "PersistentPlaceholder", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Placeholder", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Prefix", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrependIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrependInnerIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Reverse", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rounded", + "Type": "Boolean", + "Default": "false", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Rules", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SingleLine", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SmallChips", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Solo", + "Type": "Boolean", + "Default": "false", + "Description": "改变输入框的样式" + }, + { + "Name": "SoloInverted", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Success", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SuccessMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Suffix", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Type", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ValidateOnBlur", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "", + "Description": "输入的值" + }, + { + "Name": "ValueExpression", + "Type": "Expression`1", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "AppendContent", + "Description": "" + }, + { + "Name": "AppendItemContent", + "Description": "" + }, + { + "Name": "AppendOuterContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "CounterContent", + "Description": "" + }, + { + "Name": "ItemContent", + "Description": "" + }, + { + "Name": "LabelContent", + "Description": "" + }, + { + "Name": "MessageContent", + "Description": "" + }, + { + "Name": "NoDataContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + }, + { + "Name": "PrependInnerContent", + "Description": "" + }, + { + "Name": "PrependItemContent", + "Description": "" + }, + { + "Name": "ProgressContent", + "Description": "" + }, + { + "Name": "SelectionContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnAppendClick", + "Description": "" + }, + { + "Name": "OnAppendOuterClick", + "Description": "" + }, + { + "Name": "OnBlur", + "Description": "" + }, + { + "Name": "OnChange", + "Description": "" + }, + { + "Name": "OnClearClick", + "Description": "" + }, + { + "Name": "OnClick", + "Description": "" + }, + { + "Name": "OnFocus", + "Description": "" + }, + { + "Name": "OnInput", + "Description": "" + }, + { + "Name": "OnKeyDown", + "Description": "" + }, + { + "Name": "OnMouseDown", + "Description": "" + }, + { + "Name": "OnMouseUp", + "Description": "" + }, + { + "Name": "OnPrependClick", + "Description": "" + }, + { + "Name": "OnPrependInnerClick", + "Description": "" + }, + { + "Name": "OnSearchInputUpdate", + "Description": "" + }, + { + "Name": "OnSelectedItemUpdate", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 8d2c25060ec7472ef7e04d3df0faf199e913a5e0 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:07 +0800 Subject: [PATCH 043/191] New translations MAvatar.zh-CN.json (English) --- en/en/MAvatar.zh-CN.json | 105 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 en/en/MAvatar.zh-CN.json diff --git a/en/en/MAvatar.zh-CN.json b/en/en/MAvatar.zh-CN.json new file mode 100644 index 0000000000..c5bbe56cba --- /dev/null +++ b/en/en/MAvatar.zh-CN.json @@ -0,0 +1,105 @@ +{ + "Title": "Avatar", + "Components": [ + "Avatars" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Left", + "Type": "Boolean", + "Default": "false", + "Description": "指定头像在组件左侧。它被诸如 MChip 和 MButton 等组件绑在一起。" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Right", + "Type": "Boolean", + "Default": "false", + "Description": "指定头像在组件的右侧。它被诸如 MChip 和 MButton 等组件绑在一起。" + }, + { + "Name": "Rounded", + "Type": "StringBoolean", + "Default": "undefined", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Size", + "Type": "StringNumber", + "Default": "", + "Description": "设置组件的高度和宽度." + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From e3096c107e4094e3a946895169efe9015e40fe9e Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:07 +0800 Subject: [PATCH 044/191] New translations MBadge.zh-CN.json (English) --- en/en/MBadge.zh-CN.json | 145 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 en/en/MBadge.zh-CN.json diff --git a/en/en/MBadge.zh-CN.json b/en/en/MBadge.zh-CN.json new file mode 100644 index 0000000000..da89919088 --- /dev/null +++ b/en/en/MBadge.zh-CN.json @@ -0,0 +1,145 @@ +{ + "Title": "Badge", + "Components": [ + "Badges" + ], + "Props": [ + { + "Name": "Avatar", + "Type": "Boolean", + "Default": "false", + "Description": "去掉了 badge 插槽中使用 m-avatar 的徽章边距。" + }, + { + "Name": "Bordered", + "Type": "Boolean", + "Default": "false", + "Description": "当使用 dot 属性时,默认情况下会在徽章上应用一个 2px 和它的周围应用一个 1.5px 的边框。" + }, + { + "Name": "Bottom", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向底部对齐。" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "primary", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Content", + "Type": "StringNumber", + "Default": "undefined", + "Description": "任何你想要的内容都可以作为文字注入到徽章中。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dot", + "Type": "Boolean", + "Default": "false", + "Description": "缩小徽章的尺寸并隐藏其内容。" + }, + { + "Name": "Icon", + "Type": "String", + "Default": "undefined", + "Description": "指定徽章中使用的具体图标。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "InLine", + "Type": "Boolean", + "Default": "false", + "Description": "移动徽章,使其与包装元素保持一致。支持使用 left prop。" + }, + { + "Name": "Left", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向左边对齐。" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "为组件设置浅色主题。" + }, + { + "Name": "OffsetX", + "Type": "StringNumber", + "Default": "undefined", + "Description": "将徽章在 x 轴上偏移。" + }, + { + "Name": "OffsetY", + "Type": "StringNumber", + "Default": "undefined", + "Description": "将徽章在 y 轴上偏移。" + }, + { + "Name": "OverLap", + "Type": "Boolean", + "Default": "false", + "Description": "与组件顶部的开槽内容重叠。" + }, + { + "Name": "Right", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向右边对齐。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Transition", + "Type": "String", + "Default": "undefined", + "Description": "设置组件转换。可以是一个 built in transitions 或者是自己自定义的。" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "true", + "Description": "控制组件可见还是隐藏。" + } + ], + "Contents": [ + { + "Name": "BadgeContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 1955af2e41a7b09ba1ff30c76d18b4bc65c11b9a Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:09 +0800 Subject: [PATCH 045/191] New translations MBanner.zh-CN.json (English) --- en/en/MBanner.zh-CN.json | 110 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 en/en/MBanner.zh-CN.json diff --git a/en/en/MBanner.zh-CN.json b/en/en/MBanner.zh-CN.json new file mode 100644 index 0000000000..8d24d7f6c0 --- /dev/null +++ b/en/en/MBanner.zh-CN.json @@ -0,0 +1,110 @@ +{ + "Title": "Banner", + "Components": [ + "Banners" + ], + "Props": [ + { + "Name": "App", + "Type": "Boolean", + "Default": "false", + "Description": "当在 m-main 中使用时,将参考和依据 m-toolbar 和 m-system-bar的高度来计算距离顶部位置。" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "null", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Icon", + "Type": "String", + "Default": "undefined", + "Description": "指定特定的图标。" + }, + { + "Name": "IconColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SingleLine", + "Type": "Boolean", + "Default": "false", + "Description": "强制横幅变为一行。" + }, + { + "Name": "Sticky", + "Type": "Boolean", + "Default": "false", + "Description": "组件应用 position: sticky(常绿浏览器)。你能够在 MDN documentation for sticky position 浏览更多信息。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "true", + "Description": "控制组件可见还是隐藏。" + } + ], + "Contents": [ + { + "Name": "ActionsContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "IconContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnIconClick", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From ddda0bedca091c6df143faf891395e10a708f367 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:10 +0800 Subject: [PATCH 046/191] New translations MBorder.zh-CN.json (English) --- en/en/MBorder.zh-CN.json | 75 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 en/en/MBorder.zh-CN.json diff --git a/en/en/MBorder.zh-CN.json b/en/en/MBorder.zh-CN.json new file mode 100644 index 0000000000..47336c0b0b --- /dev/null +++ b/en/en/MBorder.zh-CN.json @@ -0,0 +1,75 @@ +{ + "Title": "Border", + "Components": [ + "Borders" + ], + "Props": [ + { + "Name": "Border", + "Type": "Borders", + "Default": "", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Offset", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rounded", + "Type": "StringBoolean", + "Default": "null", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "WrapperStyle", + "Type": "String", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From d649bb7550746ded5d83854143f55822738a3010 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:11 +0800 Subject: [PATCH 047/191] New translations MBreadcrumbs.zh-CN.json (English) --- en/en/MBreadcrumbs.zh-CN.json | 77 +++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 en/en/MBreadcrumbs.zh-CN.json diff --git a/en/en/MBreadcrumbs.zh-CN.json b/en/en/MBreadcrumbs.zh-CN.json new file mode 100644 index 0000000000..31e21e2839 --- /dev/null +++ b/en/en/MBreadcrumbs.zh-CN.json @@ -0,0 +1,77 @@ +{ + "Title": "Breadcrumbs", + "Components": [ + "Breadcrumbs" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Divider", + "Type": "String", + "Default": "null", + "Description": "指定项之间的分隔字符。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Items", + "Type": "IReadOnlyList`1", + "Default": "", + "Description": "" + }, + { + "Name": "Large", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Linkage", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "DividerContent", + "Description": "" + }, + { + "Name": "ItemContent", + "Description": "" + } + ], + "Events": [] +} \ No newline at end of file From e037fdffe3b27388ccb49a50ffc8edb9f870e689 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:12 +0800 Subject: [PATCH 048/191] New translations MBreadcrumbsDivider.zh-CN.json (English) --- en/en/MBreadcrumbsDivider.zh-CN.json | 39 ++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 en/en/MBreadcrumbsDivider.zh-CN.json diff --git a/en/en/MBreadcrumbsDivider.zh-CN.json b/en/en/MBreadcrumbsDivider.zh-CN.json new file mode 100644 index 0000000000..643c3ae1b3 --- /dev/null +++ b/en/en/MBreadcrumbsDivider.zh-CN.json @@ -0,0 +1,39 @@ +{ + "Title": "BreadcrumbsDivider", + "Components": [ + "Breadcrumbs" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Divider", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "DividerContent", + "Description": "" + } + ], + "Events": [] +} \ No newline at end of file From 51784be7c74c77341e34650f92530ce8f3de8eae Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:12 +0800 Subject: [PATCH 049/191] New translations MBreadcrumbsItem.zh-CN.json (English) --- en/en/MBreadcrumbsItem.zh-CN.json | 87 +++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 en/en/MBreadcrumbsItem.zh-CN.json diff --git a/en/en/MBreadcrumbsItem.zh-CN.json b/en/en/MBreadcrumbsItem.zh-CN.json new file mode 100644 index 0000000000..d87f9e3bf0 --- /dev/null +++ b/en/en/MBreadcrumbsItem.zh-CN.json @@ -0,0 +1,87 @@ +{ + "Title": "BreadcrumbsItem", + "Components": [ + "Breadcrumbs" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "移除组件的单击或 target 功能。" + }, + { + "Name": "Href", + "Type": "String", + "Default": "null", + "Description": "指定组件为锚点并应用 href 属性。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Link", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Linkage", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Ripple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Target", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Text", + "Type": "String", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 4c0340ebc8900c4244b458b9ead846907751ff77 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:13 +0800 Subject: [PATCH 050/191] New translations MCounter.zh-CN.json (English) --- en/en/MCounter.zh-CN.json | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 en/en/MCounter.zh-CN.json diff --git a/en/en/MCounter.zh-CN.json b/en/en/MCounter.zh-CN.json new file mode 100644 index 0000000000..dd399ad163 --- /dev/null +++ b/en/en/MCounter.zh-CN.json @@ -0,0 +1,51 @@ +{ + "Components": [ + "Counter" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Max", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + } + ], + "Contents": [], + "Events": [] +} \ No newline at end of file From c71d5b717a4ee23f845a21bb740083b657207e89 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:14 +0800 Subject: [PATCH 051/191] New translations MDataFooter.zh-CN.json (English) --- en/en/MDataFooter.zh-CN.json | 126 +++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 en/en/MDataFooter.zh-CN.json diff --git a/en/en/MDataFooter.zh-CN.json b/en/en/MDataFooter.zh-CN.json new file mode 100644 index 0000000000..f41afe525e --- /dev/null +++ b/en/en/MDataFooter.zh-CN.json @@ -0,0 +1,126 @@ +{ + "Title": "DataFooter", + "Components": [ + "Data iterators" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "DisableItemsPerPage", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "DisablePagination", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "FirstIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ItemsPerPageAllText", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ItemsPerPageOptions", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "ItemsPerPageText", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "LastIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "NextIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Options", + "Type": "DataOptions", + "Default": "null", + "Description": "" + }, + { + "Name": "PageText", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Pagination", + "Type": "DataPagination", + "Default": "null", + "Description": "" + }, + { + "Name": "PrevIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ShowCurrentPage", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowFirstLastPage", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "PageTextContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnOptionsUpdate", + "Description": "" + } + ] +} \ No newline at end of file From d879e0549b4fcd0393d65d0d2f6a1e383c979f29 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:15 +0800 Subject: [PATCH 052/191] New translations MListItemActionText.zh-CN.json (English) --- en/en/MListItemActionText.zh-CN.json | 34 ++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 en/en/MListItemActionText.zh-CN.json diff --git a/en/en/MListItemActionText.zh-CN.json b/en/en/MListItemActionText.zh-CN.json new file mode 100644 index 0000000000..46219140da --- /dev/null +++ b/en/en/MListItemActionText.zh-CN.json @@ -0,0 +1,34 @@ +{ + "Title": "ListItemActionText", + "Components": [ + "Lists", + "List item groups" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 281d6dc35d6b58bdbd39c3cbbdb7c5851c34c837 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:16 +0800 Subject: [PATCH 053/191] New translations MItem.zh-CN.json (English) --- en/en/MItem.zh-CN.json | 57 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 en/en/MItem.zh-CN.json diff --git a/en/en/MItem.zh-CN.json b/en/en/MItem.zh-CN.json new file mode 100644 index 0000000000..9fc76c4a16 --- /dev/null +++ b/en/en/MItem.zh-CN.json @@ -0,0 +1,57 @@ +{ + "Title": "Item", + "Components": [ + "Item groups" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 80dcedaba8a9013883784b40e36f26da7f2e345c Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:17 +0800 Subject: [PATCH 054/191] New translations MItemGroup.zh-CN.json (English) --- en/en/MItemGroup.zh-CN.json | 90 +++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 en/en/MItemGroup.zh-CN.json diff --git a/en/en/MItemGroup.zh-CN.json b/en/en/MItemGroup.zh-CN.json new file mode 100644 index 0000000000..ebd937e128 --- /dev/null +++ b/en/en/MItemGroup.zh-CN.json @@ -0,0 +1,90 @@ +{ + "Title": "ItemGroup", + "Components": [ + "Item groups" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Mandatory", + "Type": "Boolean", + "Default": "false", + "Description": "强制始终选择一个值(如果可用)。" + }, + { + "Name": "Max", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Multiple", + "Type": "Boolean", + "Default": "false", + "Description": "允许多个选择。value 属性必须是 array。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Values", + "Type": "List`1", + "Default": "", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + }, + { + "Name": "ValuesChanged", + "Description": "" + } + ] +} \ No newline at end of file From d0b6b939c5cc798646e9fc584f5f65fcb30a32b5 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:18 +0800 Subject: [PATCH 055/191] New translations MLabel.zh-CN.json (English) --- en/en/MLabel.zh-CN.json | 105 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 en/en/MLabel.zh-CN.json diff --git a/en/en/MLabel.zh-CN.json b/en/en/MLabel.zh-CN.json new file mode 100644 index 0000000000..9061885148 --- /dev/null +++ b/en/en/MLabel.zh-CN.json @@ -0,0 +1,105 @@ +{ + "Title": "Label", + "Components": [ + "Text fields" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "Boolean", + "Default": "false", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Focused", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "For", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Left", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Required", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Right", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From fcc42a1985c9e13ecb3961380dc4725de390ce2f Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:19 +0800 Subject: [PATCH 056/191] New translations MList.zh-CN.json (English) --- en/en/MList.zh-CN.json | 165 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 en/en/MList.zh-CN.json diff --git a/en/en/MList.zh-CN.json b/en/en/MList.zh-CN.json new file mode 100644 index 0000000000..02480332d8 --- /dev/null +++ b/en/en/MList.zh-CN.json @@ -0,0 +1,165 @@ +{ + "Title": "List", + "Components": [ + "Lists" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "禁用所有子级的 v-list-item 组件" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Expand", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "删除活动的 v-list-item 上突出显示的背景" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Linkage", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Nav", + "Type": "Boolean", + "Default": "false", + "Description": "另一种样式可以减小 v-list-item 的宽度并圆角化。 通常与 v-navigation-drawer 一起使用" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "Rounded", + "Type": "Boolean", + "Default": "false", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "为 v-list-item 提供一个可选的活动样式。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Subheader", + "Type": "Boolean", + "Default": "false", + "Description": "会移除上边距(top padding),当前面只有一个列表组标题的时候使用" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ThreeLine", + "Type": "Boolean", + "Default": "false", + "Description": "增加三行的列表项高度。 该属性使用 line-clamp ,并非所有浏览器都支持。" + }, + { + "Name": "TwoLine", + "Type": "Boolean", + "Default": "false", + "Description": "增加两行的列表项高度。 该属性使用 line-clamp ,并非所有浏览器都支持。" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 4f5232e3cd4d8387eb6177b1e9b20f2d102507cd Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:20 +0800 Subject: [PATCH 057/191] New translations MListGroup.zh-CN.json (English) --- en/en/MListGroup.zh-CN.json | 103 ++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 en/en/MListGroup.zh-CN.json diff --git a/en/en/MListGroup.zh-CN.json b/en/en/MListGroup.zh-CN.json new file mode 100644 index 0000000000..49e3d54cdd --- /dev/null +++ b/en/en/MListGroup.zh-CN.json @@ -0,0 +1,103 @@ +{ + "Title": "ListGroup", + "Components": [ + "Lists", + "List item groups" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "AppendIcon", + "Type": "String", + "Default": "null", + "Description": "在组件上附加一个图标,使用与 v-icon 相同的语法" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "禁用所有子级的 v-list-item 组件" + }, + { + "Name": "Group", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "NoAction", + "Type": "Boolean", + "Default": "false", + "Description": "从组项目中删除分配给操作图标的左边距" + }, + { + "Name": "PrependIcon", + "Type": "String", + "Default": "null", + "Description": "在组件前添加一个图标,使用与 v-icon 相同的语法" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "SubGroup", + "Type": "Boolean", + "Default": "false", + "Description": "将组件指定为嵌套列表组" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ActivatorContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From ae2635beb1ac6cec923d8f5c7948880edbaa5ca6 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:21 +0800 Subject: [PATCH 058/191] New translations MListGroupItem.zh-CN.json (English) --- en/en/MListGroupItem.zh-CN.json | 155 ++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 en/en/MListGroupItem.zh-CN.json diff --git a/en/en/MListGroupItem.zh-CN.json b/en/en/MListGroupItem.zh-CN.json new file mode 100644 index 0000000000..60980a6feb --- /dev/null +++ b/en/en/MListGroupItem.zh-CN.json @@ -0,0 +1,155 @@ +{ + "Components": [ + "ListGroupItem" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Highlighted", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Href", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Inactive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Link", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Linkage", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Ripple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Selectable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Target", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ThreeLine", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "TwoLine", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "ItemContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From 225bbc3ee94353173a33116c7b22349b13334c36 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:21 +0800 Subject: [PATCH 059/191] New translations MListGroupItemIcon.zh-CN.json (English) --- en/en/MListGroupItemIcon.zh-CN.json | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 en/en/MListGroupItemIcon.zh-CN.json diff --git a/en/en/MListGroupItemIcon.zh-CN.json b/en/en/MListGroupItemIcon.zh-CN.json new file mode 100644 index 0000000000..b1f6f22b5f --- /dev/null +++ b/en/en/MListGroupItemIcon.zh-CN.json @@ -0,0 +1,38 @@ +{ + "Components": [ + "ListGroupItemIcon" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Type", + "Type": "String", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From df1fb1a70e215862eb983301ab405bc659803872 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:22 +0800 Subject: [PATCH 060/191] New translations MListItem.zh-CN.json (English) --- en/en/MListItem.zh-CN.json | 157 +++++++++++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 en/en/MListItem.zh-CN.json diff --git a/en/en/MListItem.zh-CN.json b/en/en/MListItem.zh-CN.json new file mode 100644 index 0000000000..f5790c865d --- /dev/null +++ b/en/en/MListItem.zh-CN.json @@ -0,0 +1,157 @@ +{ + "Title": "ListItem", + "Components": [ + "Lists", + "List item groups" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "禁用组件" + }, + { + "Name": "Highlighted", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Href", + "Type": "String", + "Default": "null", + "Description": "指定组件为锚点并应用 href 属性。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Inactive", + "Type": "Boolean", + "Default": "false", + "Description": "如果设置了该属性,即使有to/href或者@click,列表块也不会响应链接。" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Link", + "Type": "Boolean", + "Default": "false", + "Description": "指定组件为链接。当使用 href 或 **to ** 属性时,这是自动的设置的。" + }, + { + "Name": "Linkage", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Ripple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Selectable", + "Type": "Boolean", + "Default": "false", + "Description": "允许在 v-list-item 中选择文本。 该属性使用 user-select" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Target", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ThreeLine", + "Type": "Boolean", + "Default": "false", + "Description": "增加三行的列表项高度。 该属性使用 line-clamp ,并非所有浏览器都支持。" + }, + { + "Name": "TwoLine", + "Type": "Boolean", + "Default": "false", + "Description": "增加两行的列表项高度。 该属性使用 line-clamp ,并非所有浏览器都支持。" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "ItemContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From 1b099a5c0ab0cbd46e3e4bd0ebcd44996c43c644 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:23 +0800 Subject: [PATCH 061/191] New translations MListItemAction.zh-CN.json (English) --- en/en/MListItemAction.zh-CN.json | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 en/en/MListItemAction.zh-CN.json diff --git a/en/en/MListItemAction.zh-CN.json b/en/en/MListItemAction.zh-CN.json new file mode 100644 index 0000000000..c1f07fe8d1 --- /dev/null +++ b/en/en/MListItemAction.zh-CN.json @@ -0,0 +1,34 @@ +{ + "Title": "ListItemAction", + "Components": [ + "Lists", + "List item groups" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 07900e928d6f2bb31940b672c0be315ba5ad57ec Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:24 +0800 Subject: [PATCH 062/191] New translations MListItemAvatar.zh-CN.json (English) --- en/en/MListItemAvatar.zh-CN.json | 112 +++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 en/en/MListItemAvatar.zh-CN.json diff --git a/en/en/MListItemAvatar.zh-CN.json b/en/en/MListItemAvatar.zh-CN.json new file mode 100644 index 0000000000..639d3a3e7a --- /dev/null +++ b/en/en/MListItemAvatar.zh-CN.json @@ -0,0 +1,112 @@ +{ + "Title": "ListItemAvatar", + "Components": [ + "Lists", + "List item groups" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Horizontal", + "Type": "Boolean", + "Default": "false", + "Description": "使用另一种水平样式。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Left", + "Type": "Boolean", + "Default": "false", + "Description": "指定头像在组件左侧。它被诸如 v-chip 和 v-btn 等组件绑在一起。" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Right", + "Type": "Boolean", + "Default": "false", + "Description": "指定头像在组件的右侧。它被诸如 v-chip 和 v-btn 等组件绑在一起。" + }, + { + "Name": "Rounded", + "Type": "StringBoolean", + "Default": "false", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Size", + "Type": "StringNumber", + "Default": "", + "Description": "设置组件的高度和宽度." + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From c52545c3c73d19d778a3509b1b80ab2ebbcdfcb0 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:25 +0800 Subject: [PATCH 063/191] New translations MImage.zh-CN.json (English) --- en/en/MImage.zh-CN.json | 127 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 en/en/MImage.zh-CN.json diff --git a/en/en/MImage.zh-CN.json b/en/en/MImage.zh-CN.json new file mode 100644 index 0000000000..865033b98d --- /dev/null +++ b/en/en/MImage.zh-CN.json @@ -0,0 +1,127 @@ +{ + "Title": "Image", + "Components": [ + "Images" + ], + "Props": [ + { + "Name": "AspectRatio", + "Type": "StringNumber", + "Default": "", + "Description": "计算为width/height,因此对于 1920x1080px 的图片,其值为 1.7778。 如果省略,将自动计算" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Contain", + "Type": "Boolean", + "Default": "false", + "Description": "防止图像不合适时被裁剪" + }, + { + "Name": "ContentClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Gradient", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "LazySrc", + "Type": "String", + "Default": "", + "Description": "在等待主映像加载时显示的内容,通常是一个小型的base64编码的缩略图。有一个轻微的模糊滤镜应用。" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Position", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Src", + "Type": "String", + "Default": "null", + "Description": "图像的 URL。这个属性是强制性的" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "PlaceholderContent", + "Description": "" + } + ], + "Events": [] +} \ No newline at end of file From f3fd71ba68ced296b20798da1dfeed19d3fd7b0c Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:26 +0800 Subject: [PATCH 064/191] New translations MListItemContent.zh-CN.json (English) --- en/en/MListItemContent.zh-CN.json | 34 +++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 en/en/MListItemContent.zh-CN.json diff --git a/en/en/MListItemContent.zh-CN.json b/en/en/MListItemContent.zh-CN.json new file mode 100644 index 0000000000..007dee4657 --- /dev/null +++ b/en/en/MListItemContent.zh-CN.json @@ -0,0 +1,34 @@ +{ + "Title": "ListItemContent", + "Components": [ + "Lists", + "List item groups" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 530e6bfa3993cb23418e0b939efd248a230cd046 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:27 +0800 Subject: [PATCH 065/191] New translations MListItemGroup.zh-CN.json (English) --- en/en/MListItemGroup.zh-CN.json | 97 +++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 en/en/MListItemGroup.zh-CN.json diff --git a/en/en/MListItemGroup.zh-CN.json b/en/en/MListItemGroup.zh-CN.json new file mode 100644 index 0000000000..bbcb976748 --- /dev/null +++ b/en/en/MListItemGroup.zh-CN.json @@ -0,0 +1,97 @@ +{ + "Title": "ListItemGroup", + "Components": [ + "Lists", + "List item groups" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Mandatory", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Max", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Multiple", + "Type": "Boolean", + "Default": "false", + "Description": "允许多个选择。value 属性必须是 array。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Values", + "Type": "List`1", + "Default": "", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + }, + { + "Name": "ValuesChanged", + "Description": "" + } + ] +} \ No newline at end of file From 504ff82f45299b33a6acfaf645bc98d0b6eb2105 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:28 +0800 Subject: [PATCH 066/191] New translations MListItemIcon.zh-CN.json (English) --- en/en/MListItemIcon.zh-CN.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 en/en/MListItemIcon.zh-CN.json diff --git a/en/en/MListItemIcon.zh-CN.json b/en/en/MListItemIcon.zh-CN.json new file mode 100644 index 0000000000..0be8a881dd --- /dev/null +++ b/en/en/MListItemIcon.zh-CN.json @@ -0,0 +1,33 @@ +{ + "Title": "ListItemIcon", + "Components": [ + "Lists" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 8772bda52f447153c6866058a745bdd803674a0b Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:28 +0800 Subject: [PATCH 067/191] New translations MListItemSubtitle.zh-CN.json (English) --- en/en/MListItemSubtitle.zh-CN.json | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 en/en/MListItemSubtitle.zh-CN.json diff --git a/en/en/MListItemSubtitle.zh-CN.json b/en/en/MListItemSubtitle.zh-CN.json new file mode 100644 index 0000000000..cffebd3561 --- /dev/null +++ b/en/en/MListItemSubtitle.zh-CN.json @@ -0,0 +1,34 @@ +{ + "Title": "ListItemSubtitle", + "Components": [ + "Lists", + "List item groups" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 2f7d37883cc37c00261f417e2c7498fa1bba7ef8 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:29 +0800 Subject: [PATCH 068/191] New translations MListItemTitle.zh-CN.json (English) --- en/en/MListItemTitle.zh-CN.json | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 en/en/MListItemTitle.zh-CN.json diff --git a/en/en/MListItemTitle.zh-CN.json b/en/en/MListItemTitle.zh-CN.json new file mode 100644 index 0000000000..87b11c398b --- /dev/null +++ b/en/en/MListItemTitle.zh-CN.json @@ -0,0 +1,34 @@ +{ + "Title": "ListItemTitle", + "Components": [ + "Lists", + "List item groups" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From f5c9c7d2d2a90f91cfd58c9a1b78e659303fe38e Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:30 +0800 Subject: [PATCH 069/191] New translations MMain.zh-CN.json (English) --- en/en/MMain.zh-CN.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 en/en/MMain.zh-CN.json diff --git a/en/en/MMain.zh-CN.json b/en/en/MMain.zh-CN.json new file mode 100644 index 0000000000..6d3632e3e9 --- /dev/null +++ b/en/en/MMain.zh-CN.json @@ -0,0 +1,33 @@ +{ + "Title": "Main", + "Components": [ + "Grid system" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 3391298195caaaeb370fd4275694a0c7c893c62d Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:31 +0800 Subject: [PATCH 070/191] New translations MMenu.zh-CN.json (English) --- en/en/MMenu.zh-CN.json | 286 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 286 insertions(+) create mode 100644 en/en/MMenu.zh-CN.json diff --git a/en/en/MMenu.zh-CN.json b/en/en/MMenu.zh-CN.json new file mode 100644 index 0000000000..37ebac30ae --- /dev/null +++ b/en/en/MMenu.zh-CN.json @@ -0,0 +1,286 @@ +{ + "Title": "Menu", + "Components": [ + "Menus" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "Boolean", + "Default": "false", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "AllowOverflow", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Attach", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Auto", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Bottom", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向底部对齐。" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "CloseDelay", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "CloseOnClick", + "Type": "Boolean", + "Default": "false", + "Description": "指定菜应该在外部激活器被点击时关闭。" + }, + { + "Name": "CloseOnContentClick", + "Type": "Boolean", + "Default": "false", + "Description": "指定点击内容时菜单是否应该关闭。" + }, + { + "Name": "ContentClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ContentStyle", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "禁用菜单" + }, + { + "Name": "DisableKeys", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Left", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向左边对齐。" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "NudgeBottom", + "Type": "StringNumber", + "Default": "", + "Description": "向底部微调内容" + }, + { + "Name": "NudgeLeft", + "Type": "StringNumber", + "Default": "", + "Description": "向左侧微调内容" + }, + { + "Name": "NudgeRight", + "Type": "StringNumber", + "Default": "", + "Description": "向右侧微调内容" + }, + { + "Name": "NudgeTop", + "Type": "StringNumber", + "Default": "", + "Description": "向顶部微调内容" + }, + { + "Name": "NudgeWidth", + "Type": "StringNumber", + "Default": "", + "Description": "微调内容宽度" + }, + { + "Name": "OffsetOverflow", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "OffsetX", + "Type": "Boolean", + "Default": "false", + "Description": "在x轴上偏移菜单,与左/右方向一起工作" + }, + { + "Name": "OffsetY", + "Type": "Boolean", + "Default": "false", + "Description": "在y轴上偏移菜单,与上/下方向一起工作" + }, + { + "Name": "OpenDelay", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "OpenOnClick", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "OpenOnFocus", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "OpenOnHover", + "Type": "Boolean", + "Default": "false", + "Description": "指定是否在激活器悬停时打开菜单" + }, + { + "Name": "Origin", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PositionX", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "PositionY", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Right", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向右边对齐。" + }, + { + "Name": "Rounded", + "Type": "StringBoolean", + "Default": "null", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Top", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向顶部对齐。" + }, + { + "Name": "Transition", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ZIndex", + "Type": "StringNumber", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ActivatorContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnOutsideClick", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 93b437cb18e0ddab55e338941988e65d147fabb7 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:32 +0800 Subject: [PATCH 071/191] New translations MMessages.zh-CN.json (English) --- en/en/MMessages.zh-CN.json | 57 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 en/en/MMessages.zh-CN.json diff --git a/en/en/MMessages.zh-CN.json b/en/en/MMessages.zh-CN.json new file mode 100644 index 0000000000..76e7f022f6 --- /dev/null +++ b/en/en/MMessages.zh-CN.json @@ -0,0 +1,57 @@ +{ + "Title": "Messages", + "Components": [ + "Messages" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "List`1", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 75275f00b115ef9b8c0cbe0dff129011d1b3d2ea Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:33 +0800 Subject: [PATCH 072/191] New translations MNavigationDrawer.zh-CN.json (English) --- en/en/MNavigationDrawer.zh-CN.json | 198 +++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 en/en/MNavigationDrawer.zh-CN.json diff --git a/en/en/MNavigationDrawer.zh-CN.json b/en/en/MNavigationDrawer.zh-CN.json new file mode 100644 index 0000000000..55d0739e25 --- /dev/null +++ b/en/en/MNavigationDrawer.zh-CN.json @@ -0,0 +1,198 @@ +{ + "Title": "NavigationDrawer", + "Components": [ + "Navigation drawers" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "Boolean", + "Default": "false", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "App", + "Type": "Boolean", + "Default": "false", + "Description": "指定该组件作为应用程序布局的一部分。用于动态调整内容的大小。使用此属性的组件只有位于 v-main 组件的 外部才能正常运行。您可以在 应用程序页面 获取更多有关布局的信息。注意: 使用此属性会自动应用position: fixed 到布局元素上。您可以使用 absolute 属性 来覆盖这个功能。" + }, + { + "Name": "Bottom", + "Type": "Boolean", + "Default": "false", + "Description": "在移动设备上从屏幕底部展开" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Clipped", + "Type": "Boolean", + "Default": "false", + "Description": "在应用程序工具栏下面有一个被夹住的抽屉。注意:要求在MAppBar上夹左或夹右支柱按预期工作" + }, + { + "Name": "Color", + "Type": "String", + "Default": "", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "DisableResizeWatcher", + "Type": "Boolean", + "Default": "false", + "Description": "调整大小时将自动打开/关闭抽屉,具体取决于移动设备还是桌面设备。" + }, + { + "Name": "DisableRouteWatcher", + "Type": "Boolean", + "Default": "false", + "Description": "路线更改时禁用导航抽屉的打开。" + }, + { + "Name": "ExpandOnHover", + "Type": "Boolean", + "Default": "false", + "Description": "将抽屉折叠成 mini-variant,直到用鼠标悬停" + }, + { + "Name": "Fixed", + "Type": "Boolean", + "Default": "false", + "Description": "给组件应用 position: fixed" + }, + { + "Name": "Floating", + "Type": "Boolean", + "Default": "false", + "Description": "浮动抽屉没有可见的容器(没有右边框)" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "将亮色主题变量应用到组件。" + }, + { + "Name": "MiniVariant", + "Type": "Boolean", + "Default": "false", + "Description": "压缩导航抽屉宽度。" + }, + { + "Name": "MiniVariantWidth", + "Type": "StringNumber", + "Default": "56", + "Description": "指定mini属性开期时指定的宽度" + }, + { + "Name": "Permanent", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Right", + "Type": "Boolean", + "Default": "false", + "Description": "将抽屉放置在右侧" + }, + { + "Name": "Src", + "Type": "OneOf`2", + "Default": "", + "Description": "指定一个 MImage 作为组件的背景。" + }, + { + "Name": "Stateless", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Temporary", + "Type": "Boolean", + "Default": "false", + "Description": "临时抽屉位于其应用之上,并使用稀松布(叠加)来使背景变暗" + }, + { + "Name": "Top", + "Type": "StringNumber", + "Default": "", + "Description": "" + }, + { + "Name": "Touchless", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "控制组件是可见的还是隐藏的。" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "256", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "AppendContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "ImgContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "MiniVariantChanged", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 9be923745a00bdf50f2d4b4a276c076cc5b0f7ab Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:33 +0800 Subject: [PATCH 073/191] New translations MOverlay.zh-CN.json (English) --- en/en/MOverlay.zh-CN.json | 80 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 en/en/MOverlay.zh-CN.json diff --git a/en/en/MOverlay.zh-CN.json b/en/en/MOverlay.zh-CN.json new file mode 100644 index 0000000000..8afe4148fc --- /dev/null +++ b/en/en/MOverlay.zh-CN.json @@ -0,0 +1,80 @@ +{ + "Title": "Overlay", + "Components": [ + "Overlay" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "Boolean", + "Default": "false", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Opacity", + "Type": "StringNumber", + "Default": "", + "Description": "设置遮罩层的透明度" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ZIndex", + "Type": "Int32", + "Default": "", + "Description": "用于组件的 z-index" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From 77ca32cc8e955ba5ce3c0b4a2da86a009074c66c Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:34 +0800 Subject: [PATCH 074/191] New translations MInput.zh-CN.json (English) --- en/en/MInput.zh-CN.json | 224 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 en/en/MInput.zh-CN.json diff --git a/en/en/MInput.zh-CN.json b/en/en/MInput.zh-CN.json new file mode 100644 index 0000000000..08b4f4bd75 --- /dev/null +++ b/en/en/MInput.zh-CN.json @@ -0,0 +1,224 @@ +{ + "Title": "Input", + "Components": [ + "Text fields" + ], + "Props": [ + { + "Name": "AppendIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Error", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ErrorCount", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ErrorMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDetails", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Hint", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Messages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "PersistentHint", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "PrependIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rules", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Success", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SuccessMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "ValidateOnBlur", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "null", + "Description": "" + }, + { + "Name": "ValueExpression", + "Type": "Expression`1", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "AppendContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "LabelContent", + "Description": "" + }, + { + "Name": "MessageContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnAppendClick", + "Description": "" + }, + { + "Name": "OnClick", + "Description": "" + }, + { + "Name": "OnMouseDown", + "Description": "" + }, + { + "Name": "OnMouseUp", + "Description": "" + }, + { + "Name": "OnPrependClick", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 8e9bb449c862891c9be206e57bc76be9f6ac4564 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:35 +0800 Subject: [PATCH 075/191] New translations MIcon.zh-CN.json (English) --- en/en/MIcon.zh-CN.json | 122 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 en/en/MIcon.zh-CN.json diff --git a/en/en/MIcon.zh-CN.json b/en/en/MIcon.zh-CN.json new file mode 100644 index 0000000000..2f6ee17337 --- /dev/null +++ b/en/en/MIcon.zh-CN.json @@ -0,0 +1,122 @@ +{ + "Title": "Icon", + "Components": [ + "Icons" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "禁用输入" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Large", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的巨大。" + }, + { + "Name": "Left", + "Type": "Boolean", + "Default": "false", + "Description": "当按钮放置在另一个元素或文本的左边时,对按钮内的图标应用适当的间距。" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Right", + "Type": "Boolean", + "Default": "false", + "Description": "当按钮放置在另一个元素或文本的右边时,对按钮内的图标应用适当的间距。" + }, + { + "Name": "Size", + "Type": "StringNumber", + "Default": "", + "Description": "设置组件的高度和宽度." + }, + { + "Name": "Small", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的小。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "", + "Description": "指定要使用的自定义标签" + }, + { + "Name": "XLarge", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的无比巨大。" + }, + { + "Name": "XSmall", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的更小。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From 980383428d9fd2b2c8afe1fd3580408eb2c90f0f Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:36 +0800 Subject: [PATCH 076/191] New translations MDataIterator.zh-CN.json (English) --- en/en/MDataIterator.zh-CN.json | 276 +++++++++++++++++++++++++++++++++ 1 file changed, 276 insertions(+) create mode 100644 en/en/MDataIterator.zh-CN.json diff --git a/en/en/MDataIterator.zh-CN.json b/en/en/MDataIterator.zh-CN.json new file mode 100644 index 0000000000..ba4887ab3e --- /dev/null +++ b/en/en/MDataIterator.zh-CN.json @@ -0,0 +1,276 @@ +{ + "Title": "DataIterator", + "Components": [ + "Data iterators" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "CustomFilter", + "Type": "Func`4", + "Default": "null", + "Description": "" + }, + { + "Name": "CustomGroup", + "Type": "Func`5", + "Default": "null", + "Description": "" + }, + { + "Name": "CustomSort", + "Type": "Func`6", + "Default": "null", + "Description": "" + }, + { + "Name": "DisableFiltering", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "DisablePagination", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "DisableSort", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Expanded", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "FooterProps", + "Type": "Dictionary`2", + "Default": "null", + "Description": "" + }, + { + "Name": "GroupBy", + "Type": "OneOf`2", + "Default": "", + "Description": "" + }, + { + "Name": "GroupDesc", + "Type": "IList`1", + "Default": "null", + "Description": "" + }, + { + "Name": "HideDefaultFooter", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ItemKey", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Items", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "ItemsPerPage", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ItemValues", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "LoaderHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "LoadingText", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Locale", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "MultiSort", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MustSort", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "NoDataText", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "NoResultsText", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Page", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Search", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "SelectableKey", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "ServerItemsLength", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "SingleExpand", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SingleSelect", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SortBy", + "Type": "OneOf`2", + "Default": "", + "Description": "" + }, + { + "Name": "SortDesc", + "Type": "OneOf`2", + "Default": "", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "FooterContent", + "Description": "" + }, + { + "Name": "HeaderContent", + "Description": "" + }, + { + "Name": "ItemContent", + "Description": "" + }, + { + "Name": "LoadingContent", + "Description": "" + }, + { + "Name": "NoDataContent", + "Description": "" + }, + { + "Name": "NoResultsContent", + "Description": "" + }, + { + "Name": "PageTextContent", + "Description": "" + }, + { + "Name": "ProgressContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnOptionsUpdate", + "Description": "" + }, + { + "Name": "OnPageCount", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 1a9fe9f7ee95f0481640d7bef808bca5e98e1189 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:37 +0800 Subject: [PATCH 077/191] New translations MDatePickerYears.zh-CN.json (English) --- en/en/MDatePickerYears.zh-CN.json | 69 +++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 en/en/MDatePickerYears.zh-CN.json diff --git a/en/en/MDatePickerYears.zh-CN.json b/en/en/MDatePickerYears.zh-CN.json new file mode 100644 index 0000000000..f8d4912428 --- /dev/null +++ b/en/en/MDatePickerYears.zh-CN.json @@ -0,0 +1,69 @@ +{ + "Title": "DatePickerYears", + "Components": [ + "Date pickers" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Format", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Locale", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Max", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Min", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "Int32", + "Default": "0", + "Description": "" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnInput", + "Description": "" + } + ] +} \ No newline at end of file From 482142532a10da5acfd60eddf93c2a782c47582d Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:38 +0800 Subject: [PATCH 078/191] New translations MDataTable.zh-CN.json (English) --- en/en/MDataTable.zh-CN.json | 432 ++++++++++++++++++++++++++++++++++++ 1 file changed, 432 insertions(+) create mode 100644 en/en/MDataTable.zh-CN.json diff --git a/en/en/MDataTable.zh-CN.json b/en/en/MDataTable.zh-CN.json new file mode 100644 index 0000000000..88b0b6e679 --- /dev/null +++ b/en/en/MDataTable.zh-CN.json @@ -0,0 +1,432 @@ +{ + "Title": "DataTable", + "Components": [ + "Data tables" + ], + "Props": [ + { + "Name": "Caption", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "CheckboxColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "CustomFilter", + "Type": "Func`4", + "Default": "null", + "Description": "" + }, + { + "Name": "CustomGroup", + "Type": "Func`5", + "Default": "null", + "Description": "" + }, + { + "Name": "CustomItemFilter", + "Type": "Func`4", + "Default": "null", + "Description": "" + }, + { + "Name": "CustomSort", + "Type": "Func`6", + "Default": "null", + "Description": "" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "DisableFiltering", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "DisablePagination", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "DisableSort", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Expanded", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "ExpandIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "FixedHeader", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "FixedRight", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "FooterProps", + "Type": "Dictionary`2", + "Default": "null", + "Description": "" + }, + { + "Name": "GroupBy", + "Type": "OneOf`2", + "Default": "", + "Description": "" + }, + { + "Name": "GroupDesc", + "Type": "IList`1", + "Default": "null", + "Description": "" + }, + { + "Name": "HeaderProps", + "Type": "Dictionary`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Headers", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "HeadersLength", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDefaultFooter", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "HideDefaultHeader", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ItemClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ItemKey", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Items", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "ItemsPerPage", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ItemValues", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "LoaderHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "LoadingText", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Locale", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "MultiSort", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MustSort", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "NoDataText", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "NoResultsText", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Page", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Search", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "SelectableKey", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "ServerItemsLength", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ShowExpand", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowGroupBy", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowSelect", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SingleExpand", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SingleSelect", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SortBy", + "Type": "OneOf`2", + "Default": "", + "Description": "" + }, + { + "Name": "SortDesc", + "Type": "OneOf`2", + "Default": "", + "Description": "" + }, + { + "Name": "Stripe", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "BodyAppendContent", + "Description": "" + }, + { + "Name": "BodyPrependContent", + "Description": "" + }, + { + "Name": "CaptionContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "ExpandedItemContent", + "Description": "" + }, + { + "Name": "FootContent", + "Description": "" + }, + { + "Name": "FooterContent", + "Description": "" + }, + { + "Name": "GroupContent", + "Description": "" + }, + { + "Name": "GroupHeaderContent", + "Description": "" + }, + { + "Name": "HeaderColContent", + "Description": "" + }, + { + "Name": "HeaderContent", + "Description": "" + }, + { + "Name": "ItemColContent", + "Description": "" + }, + { + "Name": "ItemContent", + "Description": "" + }, + { + "Name": "ItemDataTableExpandContent", + "Description": "" + }, + { + "Name": "ItemDataTableSelectContent", + "Description": "" + }, + { + "Name": "LoadingContent", + "Description": "" + }, + { + "Name": "NoDataContent", + "Description": "" + }, + { + "Name": "NoResultsContent", + "Description": "" + }, + { + "Name": "PageTextContent", + "Description": "" + }, + { + "Name": "ProgressContent", + "Description": "" + }, + { + "Name": "TopContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnOptionsUpdate", + "Description": "" + }, + { + "Name": "OnPageCount", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 5e0bc39702c3d234410eb80a5e80ee68e002f730 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:39 +0800 Subject: [PATCH 079/191] New translations MDataTableHeader.zh-CN.json (English) --- en/en/MDataTableHeader.zh-CN.json | 104 ++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 en/en/MDataTableHeader.zh-CN.json diff --git a/en/en/MDataTableHeader.zh-CN.json b/en/en/MDataTableHeader.zh-CN.json new file mode 100644 index 0000000000..5971711509 --- /dev/null +++ b/en/en/MDataTableHeader.zh-CN.json @@ -0,0 +1,104 @@ +{ + "Title": "DataTableHeader", + "Components": [ + "Data tables" + ], + "Props": [ + { + "Name": "CheckboxColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "DisableSort", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "EveryItem", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Headers", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Options", + "Type": "DataOptions", + "Default": "null", + "Description": "" + }, + { + "Name": "ShowGroupBy", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SingleSelect", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SomeItems", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SortIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "DataTableSelectContent", + "Description": "" + }, + { + "Name": "HeaderColContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnGroup", + "Description": "" + }, + { + "Name": "OnSort", + "Description": "" + }, + { + "Name": "OnToggleSelectAll", + "Description": "" + } + ] +} \ No newline at end of file From 32a78f072056a3f2fd16f8c90f28ab1e9962f133 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:40 +0800 Subject: [PATCH 080/191] New translations MDataTableRow.zh-CN.json (English) --- en/en/MDataTableRow.zh-CN.json | 79 ++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 en/en/MDataTableRow.zh-CN.json diff --git a/en/en/MDataTableRow.zh-CN.json b/en/en/MDataTableRow.zh-CN.json new file mode 100644 index 0000000000..020bc827ed --- /dev/null +++ b/en/en/MDataTableRow.zh-CN.json @@ -0,0 +1,79 @@ +{ + "Title": "DataTableRow", + "Components": [ + "Data tables" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Headers", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Index", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "IsExpanded", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "IsSelected", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Item", + "Type": "TItem", + "Default": "null", + "Description": "" + }, + { + "Name": "ItemClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Stripe", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "ItemColContent", + "Description": "" + } + ], + "Events": [] +} \ No newline at end of file From 587edd92ef503c642642750efc69299dbbf9f620 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:40 +0800 Subject: [PATCH 081/191] New translations MDataTableRowGroup.zh-CN.json (English) --- en/en/MDataTableRowGroup.zh-CN.json | 33 +++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 en/en/MDataTableRowGroup.zh-CN.json diff --git a/en/en/MDataTableRowGroup.zh-CN.json b/en/en/MDataTableRowGroup.zh-CN.json new file mode 100644 index 0000000000..d3434cc73b --- /dev/null +++ b/en/en/MDataTableRowGroup.zh-CN.json @@ -0,0 +1,33 @@ +{ + "Title": "DataTableRowGroup", + "Components": [ + "Data tables" + ], + "Props": [ + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "ColumnHeaderContent", + "Description": "" + }, + { + "Name": "RowContentContent", + "Description": "" + }, + { + "Name": "RowHeaderContent", + "Description": "" + } + ], + "Events": [] +} \ No newline at end of file From c5d684d72dffaf274f7e3bdb9cc8ec22f9bb666e Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:41 +0800 Subject: [PATCH 082/191] New translations MDatePicker.zh-CN.json (English) --- en/en/MDatePicker.zh-CN.json | 272 +++++++++++++++++++++++++++++++++++ 1 file changed, 272 insertions(+) create mode 100644 en/en/MDatePicker.zh-CN.json diff --git a/en/en/MDatePicker.zh-CN.json b/en/en/MDatePicker.zh-CN.json new file mode 100644 index 0000000000..8e98eab201 --- /dev/null +++ b/en/en/MDatePicker.zh-CN.json @@ -0,0 +1,272 @@ +{ + "Title": "DatePicker", + "Components": [ + "Date pickers" + ], + "Props": [ + { + "Name": "ActivePicker", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "AllowedDates", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "DayFormat", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "禁用与选择器的交互" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "FirstDayOfWeek", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "移除提升" + }, + { + "Name": "FullWidth", + "Type": "Boolean", + "Default": "false", + "Description": "强制 100% 宽度" + }, + { + "Name": "HeaderColor", + "Type": "String", + "Default": "null", + "Description": "定义标题颜色。如果未指定,将使用由 color 属性或默认选择器颜色定义的颜色。" + }, + { + "Name": "HeaderDateFormat", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Landscape", + "Type": "Boolean", + "Default": "false", + "Description": "水平方向选择器" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Locale", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Max", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Min", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "MonthFormat", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Multiple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "NextIcon", + "Type": "String", + "Default": "null", + "Description": "设置下个 月/年 按钮的图标" + }, + { + "Name": "NoTitle", + "Type": "Boolean", + "Default": "false", + "Description": "隐藏选择器标题" + }, + { + "Name": "PickerDate", + "Type": "DateOnly", + "Default": "", + "Description": "" + }, + { + "Name": "PrevIcon", + "Type": "String", + "Default": "null", + "Description": "设置上一个 月/年 按钮的图标" + }, + { + "Name": "Range", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Reactive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "使选择器变为只读状态(不允许选择新日期)" + }, + { + "Name": "Scrollable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowAdjacentMonths", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowCurrent", + "Type": "OneOf`2", + "Default": "", + "Description": "" + }, + { + "Name": "ShowWeek", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "TitleDateFormat", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Type", + "Type": "DatePickerType", + "Default": "null", + "Description": "确定选择器的类型 - 日期选择器的 date ,月选择器的 month" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "", + "Description": "" + }, + { + "Name": "WeekdayFormat", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "YearFormat", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "YearIcon", + "Type": "String", + "Default": "null", + "Description": "设置年份选择按钮中的图标" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnActivePickerUpdate", + "Description": "" + }, + { + "Name": "OnInput", + "Description": "" + }, + { + "Name": "OnPickerDateUpdate", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 93e1da00373ffb2e9780883111eefcb5d97f0a0f Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:42 +0800 Subject: [PATCH 083/191] New translations MDatePickerDateTable.zh-CN.json (English) --- en/en/MDatePickerDateTable.zh-CN.json | 145 ++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 en/en/MDatePickerDateTable.zh-CN.json diff --git a/en/en/MDatePickerDateTable.zh-CN.json b/en/en/MDatePickerDateTable.zh-CN.json new file mode 100644 index 0000000000..e1c84aec9a --- /dev/null +++ b/en/en/MDatePickerDateTable.zh-CN.json @@ -0,0 +1,145 @@ +{ + "Title": "DatePickerDateTable", + "Components": [ + "Date pickers" + ], + "Props": [ + { + "Name": "AllowedDates", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Current", + "Type": "DateOnly", + "Default": "", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "FirstDayOfWeek", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Format", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Locale", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Max", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Min", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Range", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Scrollable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowAdjacentMonths", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowWeek", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "null", + "Description": "" + }, + { + "Name": "WeekdayFormat", + "Type": "Func`2", + "Default": "null", + "Description": "" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnDaySelected", + "Description": "" + }, + { + "Name": "OnInput", + "Description": "" + } + ] +} \ No newline at end of file From b3b51a0931ec9b2020a6ccc47477e87ef948cf2e Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:43 +0800 Subject: [PATCH 084/191] New translations MDatePickerHeader.zh-CN.json (English) --- en/en/MDatePickerHeader.zh-CN.json | 120 +++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 en/en/MDatePickerHeader.zh-CN.json diff --git a/en/en/MDatePickerHeader.zh-CN.json b/en/en/MDatePickerHeader.zh-CN.json new file mode 100644 index 0000000000..3be4a40768 --- /dev/null +++ b/en/en/MDatePickerHeader.zh-CN.json @@ -0,0 +1,120 @@ +{ + "Title": "DatePickerHeader", + "Components": [ + "Date pickers" + ], + "Props": [ + { + "Name": "ActivePicker", + "Type": "DatePickerType", + "Default": "", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Format", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Locale", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Max", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Min", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "NextIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrevIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "DateOnly", + "Default": "", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnInput", + "Description": "" + }, + { + "Name": "OnToggle", + "Description": "" + } + ] +} \ No newline at end of file From b52ba740e85aef26b336edd2678ca7e4b2deff8b Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:44 +0800 Subject: [PATCH 085/191] New translations MDatePickerMonthTable.zh-CN.json (English) --- en/en/MDatePickerMonthTable.zh-CN.json | 117 +++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 en/en/MDatePickerMonthTable.zh-CN.json diff --git a/en/en/MDatePickerMonthTable.zh-CN.json b/en/en/MDatePickerMonthTable.zh-CN.json new file mode 100644 index 0000000000..23ccc455d0 --- /dev/null +++ b/en/en/MDatePickerMonthTable.zh-CN.json @@ -0,0 +1,117 @@ +{ + "Title": "DatePickerMonthTable", + "Components": [ + "Date pickers" + ], + "Props": [ + { + "Name": "AllowedDates", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Current", + "Type": "DateOnly", + "Default": "", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Format", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Locale", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Max", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Min", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Range", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Scrollable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "null", + "Description": "" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnInput", + "Description": "" + } + ] +} \ No newline at end of file From 8d01b29b9d61cdfaad16d626f16a6c324a2cd9d1 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:45 +0800 Subject: [PATCH 086/191] New translations MDatePickerTable.zh-CN.json (English) --- en/en/MDatePickerTable.zh-CN.json | 117 ++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 en/en/MDatePickerTable.zh-CN.json diff --git a/en/en/MDatePickerTable.zh-CN.json b/en/en/MDatePickerTable.zh-CN.json new file mode 100644 index 0000000000..0595f56ffe --- /dev/null +++ b/en/en/MDatePickerTable.zh-CN.json @@ -0,0 +1,117 @@ +{ + "Title": "DatePickerTable", + "Components": [ + "Date pickers" + ], + "Props": [ + { + "Name": "AllowedDates", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Current", + "Type": "DateOnly", + "Default": "", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Format", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Locale", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Max", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Min", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Range", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Scrollable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "null", + "Description": "" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnInput", + "Description": "" + } + ] +} \ No newline at end of file From 35c14c857a3ce3866795edbbfb49c1b0ec514ee2 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:46 +0800 Subject: [PATCH 087/191] New translations MDatePickerTitle.zh-CN.json (English) --- en/en/MDatePickerTitle.zh-CN.json | 75 +++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 en/en/MDatePickerTitle.zh-CN.json diff --git a/en/en/MDatePickerTitle.zh-CN.json b/en/en/MDatePickerTitle.zh-CN.json new file mode 100644 index 0000000000..2731e89fea --- /dev/null +++ b/en/en/MDatePickerTitle.zh-CN.json @@ -0,0 +1,75 @@ +{ + "Title": "DatePickerTitle", + "Components": [ + "Date pickers" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Date", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SelectingYear", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "DateOnly", + "Default": "", + "Description": "" + }, + { + "Name": "Year", + "Type": "String", + "Default": "0", + "Description": "" + }, + { + "Name": "YearIcon", + "Type": "String", + "Default": "null", + "Description": "" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnSelectingYearUpdate", + "Description": "" + } + ] +} \ No newline at end of file From 80bd884a434b2f44ae4dc0775ceffbc66929cb85 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:46 +0800 Subject: [PATCH 088/191] New translations MDialog.zh-CN.json (English) --- en/en/MDialog.zh-CN.json | 136 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 en/en/MDialog.zh-CN.json diff --git a/en/en/MDialog.zh-CN.json b/en/en/MDialog.zh-CN.json new file mode 100644 index 0000000000..f4abf049a0 --- /dev/null +++ b/en/en/MDialog.zh-CN.json @@ -0,0 +1,136 @@ +{ + "Title": "Dialog", + "Components": [ + "Dialogs" + ], + "Props": [ + { + "Name": "Attach", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "CloseDelay", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Fullscreen", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "HideOverlay", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "OpenDelay", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "OpenOnFocus", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "OpenOnHover", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Persistent", + "Type": "Boolean", + "Default": "false", + "Description": "点击元素外部或按下esc键不会使其失效。" + }, + { + "Name": "Scrollable", + "Type": "Boolean", + "Default": "false", + "Description": "当设置为 true 时,期望有一个 v-card 和一个 v-card-text 组件,并有指定的高度。更多信息,请查看 可滚动示例。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Transition", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ActivatorContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnOutsideClick", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 4c904d691e0cc2dbc2798280185640be49020776 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:47 +0800 Subject: [PATCH 089/191] New translations MHover.zh-CN.json (English) --- en/en/MHover.zh-CN.json | 62 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 en/en/MHover.zh-CN.json diff --git a/en/en/MHover.zh-CN.json b/en/en/MHover.zh-CN.json new file mode 100644 index 0000000000..6224ff05ca --- /dev/null +++ b/en/en/MHover.zh-CN.json @@ -0,0 +1,62 @@ +{ + "Title": "Hover", + "Components": [ + "Hover" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "CloseDelay", + "Type": "StringNumber", + "Default": "0", + "Description": "关闭组件前等待的毫秒数。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "关闭悬停功能" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "OpenDelay", + "Type": "StringNumber", + "Default": "0", + "Description": "在打开组件之前等待的毫秒数。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "控制组件是可见的还是隐藏的。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 78c10df27557e601070a0d245dcc549fecc61d1d Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:48 +0800 Subject: [PATCH 090/191] New translations MDivider.zh-CN.json (English) --- en/en/MDivider.zh-CN.json | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 en/en/MDivider.zh-CN.json diff --git a/en/en/MDivider.zh-CN.json b/en/en/MDivider.zh-CN.json new file mode 100644 index 0000000000..5a873a35de --- /dev/null +++ b/en/en/MDivider.zh-CN.json @@ -0,0 +1,52 @@ +{ + "Title": "Divider", + "Components": [ + "Dividers" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Inset", + "Type": "Boolean", + "Default": "false", + "Description": "添加缩进 (72px)" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Vertical", + "Type": "Boolean", + "Default": "false", + "Description": "垂直显示分隔线" + } + ], + "Contents": [], + "Events": [] +} \ No newline at end of file From c092ec65bcfbb188bfa08c379cd620b1e1a578a4 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:49 +0800 Subject: [PATCH 091/191] New translations MECharts.zh-CN.json (English) --- en/en/MECharts.zh-CN.json | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 en/en/MECharts.zh-CN.json diff --git a/en/en/MECharts.zh-CN.json b/en/en/MECharts.zh-CN.json new file mode 100644 index 0000000000..a530a8b34d --- /dev/null +++ b/en/en/MECharts.zh-CN.json @@ -0,0 +1,46 @@ +{ + "Title": "ECharts", + "Components": [ + "ECharts" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Option", + "Type": "Object", + "Default": "", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [], + "Events": [] +} \ No newline at end of file From 4350a286173fb3a445aef569010a357f925f646c Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:50 +0800 Subject: [PATCH 092/191] New translations MExpansionPanel.zh-CN.json (English) --- en/en/MExpansionPanel.zh-CN.json | 63 ++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 en/en/MExpansionPanel.zh-CN.json diff --git a/en/en/MExpansionPanel.zh-CN.json b/en/en/MExpansionPanel.zh-CN.json new file mode 100644 index 0000000000..1095b092df --- /dev/null +++ b/en/en/MExpansionPanel.zh-CN.json @@ -0,0 +1,63 @@ +{ + "Title": "ExpansionPanel", + "Components": [ + "Expansion panels" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "禁用扩展面板内容" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 078824df5b45dd4dd6249f7c98c0af62f2f32ce2 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:51 +0800 Subject: [PATCH 093/191] New translations MExpansionPanelContent.zh-CN.json (English) --- en/en/MExpansionPanelContent.zh-CN.json | 33 +++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 en/en/MExpansionPanelContent.zh-CN.json diff --git a/en/en/MExpansionPanelContent.zh-CN.json b/en/en/MExpansionPanelContent.zh-CN.json new file mode 100644 index 0000000000..68f6949442 --- /dev/null +++ b/en/en/MExpansionPanelContent.zh-CN.json @@ -0,0 +1,33 @@ +{ + "Title": "ExpansionPanelContent", + "Components": [ + "Expansion panels" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From e597cdd2f23f6be49ce83956908552952bb997a3 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:52 +0800 Subject: [PATCH 094/191] New translations MExpansionPanelHeader.zh-CN.json (English) --- en/en/MExpansionPanelHeader.zh-CN.json | 72 ++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 en/en/MExpansionPanelHeader.zh-CN.json diff --git a/en/en/MExpansionPanelHeader.zh-CN.json b/en/en/MExpansionPanelHeader.zh-CN.json new file mode 100644 index 0000000000..a56a331f85 --- /dev/null +++ b/en/en/MExpansionPanelHeader.zh-CN.json @@ -0,0 +1,72 @@ +{ + "Title": "ExpansionPanelHeader", + "Components": [ + "Expansion panels" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "DisableIconRotate", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ExpandIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "HideActions", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Ripple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ActionsContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From 7eb93e8d354a88dc2eb3bdf2d3d94e86b7661e31 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:53 +0800 Subject: [PATCH 095/191] New translations MExpansionPanels.zh-CN.json (English) --- en/en/MExpansionPanels.zh-CN.json | 132 ++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 en/en/MExpansionPanels.zh-CN.json diff --git a/en/en/MExpansionPanels.zh-CN.json b/en/en/MExpansionPanels.zh-CN.json new file mode 100644 index 0000000000..6042ce4486 --- /dev/null +++ b/en/en/MExpansionPanels.zh-CN.json @@ -0,0 +1,132 @@ +{ + "Title": "ExpansionPanels", + "Components": [ + "Expansion panels" + ], + "Props": [ + { + "Name": "Accordion", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "禁用整个扩展面板" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Focusable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Hover", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Inset", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Mandatory", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Max", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Multiple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Popout", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Values", + "Type": "List`1", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + }, + { + "Name": "ValuesChanged", + "Description": "" + } + ] +} \ No newline at end of file From 291abe715e895505d4a744eedec6ec29e2e4736f Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:54 +0800 Subject: [PATCH 096/191] New translations MFileInput.zh-CN.json (English) --- en/en/MFileInput.zh-CN.json | 456 ++++++++++++++++++++++++++++++++++++ 1 file changed, 456 insertions(+) create mode 100644 en/en/MFileInput.zh-CN.json diff --git a/en/en/MFileInput.zh-CN.json b/en/en/MFileInput.zh-CN.json new file mode 100644 index 0000000000..cbabf6ff14 --- /dev/null +++ b/en/en/MFileInput.zh-CN.json @@ -0,0 +1,456 @@ +{ + "Title": "FileInput", + "Components": [ + "File inputs" + ], + "Props": [ + { + "Name": "Accept", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "AppendIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "AppendOuterIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Autofocus", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Chips", + "Type": "Boolean", + "Default": "false", + "Description": "改变一个已选择项为小纸片(chips)的显示方式" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Clearable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ClearIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Counter", + "Type": "StringNumberBoolean", + "Default": "false", + "Description": "为输入长度创建一个计数器,如果未指定数字,则默认为25,不会应用任何验证。" + }, + { + "Name": "CounterValue", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Error", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ErrorCount", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ErrorMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Filled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "FullWidth", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDetails", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "HideInput", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Hint", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "LoaderHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Messages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Multiple", + "Type": "Boolean", + "Default": "false", + "Description": "将 multiple 属性添加到输入中,允许选择多个文件。" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "PersistentHint", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "PersistentPlaceholder", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Placeholder", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Prefix", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrependIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrependInnerIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Reverse", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rounded", + "Type": "Boolean", + "Default": "false", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Rules", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowSize", + "Type": "Boolean", + "Default": "false", + "Description": "设置所选文件的显示大小。当使用 true 默认值为 1000 显示(kB,MB,GB) 时,1024 将显示(KiB,MiB,GiB)。" + }, + { + "Name": "SingleLine", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SmallChips", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Solo", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SoloInverted", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Success", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SuccessMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Suffix", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "TruncateLength", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Type", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ValidateOnBlur", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "null", + "Description": "" + }, + { + "Name": "ValueExpression", + "Type": "Expression`1", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "AppendContent", + "Description": "" + }, + { + "Name": "AppendOuterContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "CounterContent", + "Description": "" + }, + { + "Name": "LabelContent", + "Description": "" + }, + { + "Name": "MessageContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + }, + { + "Name": "PrependInnerContent", + "Description": "" + }, + { + "Name": "ProgressContent", + "Description": "" + }, + { + "Name": "SelectionContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnAppendClick", + "Description": "" + }, + { + "Name": "OnAppendOuterClick", + "Description": "" + }, + { + "Name": "OnBlur", + "Description": "" + }, + { + "Name": "OnChange", + "Description": "" + }, + { + "Name": "OnClearClick", + "Description": "" + }, + { + "Name": "OnClick", + "Description": "" + }, + { + "Name": "OnFocus", + "Description": "" + }, + { + "Name": "OnInput", + "Description": "" + }, + { + "Name": "OnKeyDown", + "Description": "" + }, + { + "Name": "OnMouseDown", + "Description": "" + }, + { + "Name": "OnMouseUp", + "Description": "" + }, + { + "Name": "OnPrependClick", + "Description": "" + }, + { + "Name": "OnPrependInnerClick", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From f5d527e19ce6005a3f0f375063b51883c4ca5803 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:55 +0800 Subject: [PATCH 097/191] New translations MFooter.zh-CN.json (English) --- en/en/MFooter.zh-CN.json | 135 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 en/en/MFooter.zh-CN.json diff --git a/en/en/MFooter.zh-CN.json b/en/en/MFooter.zh-CN.json new file mode 100644 index 0000000000..b9e6ff3efe --- /dev/null +++ b/en/en/MFooter.zh-CN.json @@ -0,0 +1,135 @@ +{ + "Title": "Footer", + "Components": [ + "Footers" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "Boolean", + "Default": "false", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "App", + "Type": "Boolean", + "Default": "false", + "Description": "指定该组件作为应用程序布局的一部分。用于动态调整内容的大小。" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Fixed", + "Type": "Boolean", + "Default": "false", + "Description": "给组件应用 position: fixed" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Inset", + "Type": "Boolean", + "Default": "false", + "Description": "定位工具栏偏离应用程序的m-navigation-drawer的位置。" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "将亮色主题变量应用到组件。" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Padless", + "Type": "Boolean", + "Default": "false", + "Description": "删除页脚中的所有边距。" + }, + { + "Name": "Rounded", + "Type": "StringBoolean", + "Default": "", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "false", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 2fc296977fe593025c78156e85aaf119345896fd Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:56 +0800 Subject: [PATCH 098/191] New translations MForm.zh-CN.json (English) --- en/en/MForm.zh-CN.json | 72 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 en/en/MForm.zh-CN.json diff --git a/en/en/MForm.zh-CN.json b/en/en/MForm.zh-CN.json new file mode 100644 index 0000000000..72eae8d30a --- /dev/null +++ b/en/en/MForm.zh-CN.json @@ -0,0 +1,72 @@ +{ + "Title": "Form", + "Components": [ + "Forms" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "EnableDataAnnotationsValidation", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Model", + "Type": "Object", + "Default": "", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnSubmit", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 2e8f3ff0d739db7d809a9a82ead6cf92dc838c83 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:57 +0800 Subject: [PATCH 099/191] New translations MHintMessage.zh-CN.json (English) --- en/en/MHintMessage.zh-CN.json | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 en/en/MHintMessage.zh-CN.json diff --git a/en/en/MHintMessage.zh-CN.json b/en/en/MHintMessage.zh-CN.json new file mode 100644 index 0000000000..248bba5d72 --- /dev/null +++ b/en/en/MHintMessage.zh-CN.json @@ -0,0 +1,44 @@ +{ + "Components": [ + "HintMessage" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 04aae907a5ba492ecb6648370af26c7a3fc645ea Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:58 +0800 Subject: [PATCH 100/191] New translations MPagination.zh-CN.json (English) --- en/en/MPagination.zh-CN.json | 105 +++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 en/en/MPagination.zh-CN.json diff --git a/en/en/MPagination.zh-CN.json b/en/en/MPagination.zh-CN.json new file mode 100644 index 0000000000..2d5d44d484 --- /dev/null +++ b/en/en/MPagination.zh-CN.json @@ -0,0 +1,105 @@ +{ + "Title": "Pagination", + "Components": [ + "Pagination" + ], + "Props": [ + { + "Name": "Circle", + "Type": "Boolean", + "Default": "false", + "Description": "将分页元素的形状改变圆形" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "禁用组件" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Length", + "Type": "Int32", + "Default": "0", + "Description": "分页组件的长度" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "NextIcon", + "Type": "String", + "Default": "null", + "Description": "指定用于下一个图标的图标" + }, + { + "Name": "PrevIcon", + "Type": "String", + "Default": "null", + "Description": "指定用于上一个图标的图标" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "TotalVisible", + "Type": "StringNumber", + "Default": "", + "Description": "指定最大可见分页数" + }, + { + "Name": "Value", + "Type": "Int32", + "Default": "0", + "Description": "" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnInput", + "Description": "" + }, + { + "Name": "OnNext", + "Description": "" + }, + { + "Name": "OnPrevious", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 9a01d1f436316a4f13168f27504473d7b565b08a Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:36:59 +0800 Subject: [PATCH 101/191] New translations MPicker.zh-CN.json (English) --- en/en/MPicker.zh-CN.json | 106 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 en/en/MPicker.zh-CN.json diff --git a/en/en/MPicker.zh-CN.json b/en/en/MPicker.zh-CN.json new file mode 100644 index 0000000000..c9d6a91410 --- /dev/null +++ b/en/en/MPicker.zh-CN.json @@ -0,0 +1,106 @@ +{ + "Components": [ + "Picker" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "null", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "FullWidth", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "HeaderColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Landscape", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "NoTitle", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Transition", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ActionsContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "TitleContent", + "Description": "" + } + ], + "Events": [] +} \ No newline at end of file From 95399c05a48d3975122a8869fd9b40dc56f3ec6e Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:00 +0800 Subject: [PATCH 102/191] New translations MTableLoading.zh-CN.json (English) --- en/en/MTableLoading.zh-CN.json | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 en/en/MTableLoading.zh-CN.json diff --git a/en/en/MTableLoading.zh-CN.json b/en/en/MTableLoading.zh-CN.json new file mode 100644 index 0000000000..130bae0925 --- /dev/null +++ b/en/en/MTableLoading.zh-CN.json @@ -0,0 +1,27 @@ +{ + "Components": [ + "TableLoading" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [], + "Events": [] +} \ No newline at end of file From 1066621db2f08e4bf333f9fadba4178edbaaa69b Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:01 +0800 Subject: [PATCH 103/191] New translations MSwitch.zh-CN.json (English) --- en/en/MSwitch.zh-CN.json | 258 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 258 insertions(+) create mode 100644 en/en/MSwitch.zh-CN.json diff --git a/en/en/MSwitch.zh-CN.json b/en/en/MSwitch.zh-CN.json new file mode 100644 index 0000000000..43b6f72fbb --- /dev/null +++ b/en/en/MSwitch.zh-CN.json @@ -0,0 +1,258 @@ +{ + "Title": "Switch", + "Components": [ + "Switches" + ], + "Props": [ + { + "Name": "AppendIcon", + "Type": "String", + "Default": "null", + "Description": "在组件上附加一个图标,使用与 v-icon 相同的语法" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Error", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ErrorCount", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ErrorMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "显示没有海拔的组件。 拇指的默认海拔为 4dp,flat 重置它" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDetails", + "Type": "StringBoolean", + "Default": "false", + "Description": "隐藏提示和验证错误。当设置为 auto 时,只有在有信息(提示、错误信息、计数器值等)要显示时,才会显示信息。" + }, + { + "Name": "Hint", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Inset", + "Type": "Boolean", + "Default": "false", + "Description": "扩展 v-switch 轨迹以包含缩略图" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "设置输入标签" + }, + { + "Name": "LeftText", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "false", + "Description": "显示循环进度条。 可以是指定将哪种颜色应用于进度栏的字符串(任何 material color 或主题颜色――primary, secondary, success, info, warning, error),也可以是使用组件颜色的布尔值 (由颜色属性设置 - 如果是由组件支持) 或主色" + }, + { + "Name": "Messages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "PersistentHint", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "PrependIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "RightText", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Rules", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Success", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SuccessMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "TrackColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ValidateOnBlur", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ValueExpression", + "Type": "Expression`1", + "Default": "", + "Description": "" + } + ], + "Contents": [ + { + "Name": "AppendContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "LabelContent", + "Description": "" + }, + { + "Name": "MessageContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnAppendClick", + "Description": "" + }, + { + "Name": "OnChange", + "Description": "" + }, + { + "Name": "OnClick", + "Description": "" + }, + { + "Name": "OnMouseDown", + "Description": "" + }, + { + "Name": "OnMouseUp", + "Description": "" + }, + { + "Name": "OnPrependClick", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 0a372f61ab426876385a7fd46225ed33f79abf32 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:01 +0800 Subject: [PATCH 104/191] New translations MSystemBar.zh-CN.json (English) --- en/en/MSystemBar.zh-CN.json | 92 +++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 en/en/MSystemBar.zh-CN.json diff --git a/en/en/MSystemBar.zh-CN.json b/en/en/MSystemBar.zh-CN.json new file mode 100644 index 0000000000..f106ce9bd8 --- /dev/null +++ b/en/en/MSystemBar.zh-CN.json @@ -0,0 +1,92 @@ +{ + "Title": "SystemBar", + "Components": [ + "System bars" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "Boolean", + "Default": "false", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "App", + "Type": "Boolean", + "Default": "false", + "Description": "指定该组件作为应用程序布局的一部分。用于动态调整内容的大小。" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Fixed", + "Type": "Boolean", + "Default": "false", + "Description": "给组件应用 position: fixed" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "为组件设置浅色主题。" + }, + { + "Name": "LightsOut", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Window", + "Type": "Boolean", + "Default": "false", + "Description": "将系统栏高度增加到 32px(24px 默认值)。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From 4d5a83d88379f403a543c1f363416bc2b7bd251b Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:02 +0800 Subject: [PATCH 105/191] New translations MTab.zh-CN.json (English) --- en/en/MTab.zh-CN.json | 92 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 en/en/MTab.zh-CN.json diff --git a/en/en/MTab.zh-CN.json b/en/en/MTab.zh-CN.json new file mode 100644 index 0000000000..f15e60304e --- /dev/null +++ b/en/en/MTab.zh-CN.json @@ -0,0 +1,92 @@ +{ + "Title": "Tab", + "Components": [ + "Tabs" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Href", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Link", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Ripple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Target", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From c47853f8de88810e03d0bad3e67f87d90195ec63 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:03 +0800 Subject: [PATCH 106/191] New translations MTabItem.zh-CN.json (English) --- en/en/MTabItem.zh-CN.json | 69 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 en/en/MTabItem.zh-CN.json diff --git a/en/en/MTabItem.zh-CN.json b/en/en/MTabItem.zh-CN.json new file mode 100644 index 0000000000..b814754a25 --- /dev/null +++ b/en/en/MTabItem.zh-CN.json @@ -0,0 +1,69 @@ +{ + "Title": "TabItem", + "Components": [ + "Tabs" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ReverseTransition", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Transition", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 2a6de8fb3ae393e081b11fcd2fdbe7544ac7acfd Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:04 +0800 Subject: [PATCH 107/191] New translations MTable.zh-CN.json (English) --- en/en/MTable.zh-CN.json | 158 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 en/en/MTable.zh-CN.json diff --git a/en/en/MTable.zh-CN.json b/en/en/MTable.zh-CN.json new file mode 100644 index 0000000000..cc30fd2637 --- /dev/null +++ b/en/en/MTable.zh-CN.json @@ -0,0 +1,158 @@ +{ + "Components": [ + "Table" + ], + "Props": [ + { + "Name": "Align", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "FixedHeader", + "Type": "Boolean", + "Default": "false", + "Description": "将表头固定在表格顶部。**注意:**在 IE11 中无法使用。" + }, + { + "Name": "FixedRight", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Headers", + "Type": "List`1", + "Default": "", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDefaultFooter", + "Type": "Boolean", + "Default": "false", + "Description": "隐藏默认页脚" + }, + { + "Name": "HideDefaultHeader", + "Type": "Boolean", + "Default": "false", + "Description": "隐藏默认表头。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Items", + "Type": "IEnumerable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Loading", + "Type": "Boolean", + "Default": "false", + "Description": "如果为 true 且未提供任何项目,则将显示加载文本" + }, + { + "Name": "Page", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "PageSize", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Stripe", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "TableLayout", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "Bottom", + "Description": "" + }, + { + "Name": "BottomContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "NoResult", + "Description": "" + }, + { + "Name": "NoResultContent", + "Description": "" + }, + { + "Name": "Top", + "Description": "" + }, + { + "Name": "TopContent", + "Description": "" + } + ], + "Events": [] +} \ No newline at end of file From 235aa8f47480857f0fc12646e3eee4af0579ac60 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:05 +0800 Subject: [PATCH 108/191] New translations MTableCol.zh-CN.json (English) --- en/en/MTableCol.zh-CN.json | 62 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 en/en/MTableCol.zh-CN.json diff --git a/en/en/MTableCol.zh-CN.json b/en/en/MTableCol.zh-CN.json new file mode 100644 index 0000000000..850abf49ad --- /dev/null +++ b/en/en/MTableCol.zh-CN.json @@ -0,0 +1,62 @@ +{ + "Components": [ + "TableCol" + ], + "Props": [ + { + "Name": "Align", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Divider", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Ellipsis", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ShowTitle", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From dd431538d49e887f08fff603d9aa4567b3d02fcc Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:06 +0800 Subject: [PATCH 109/191] New translations MTableFooter.zh-CN.json (English) --- en/en/MTableFooter.zh-CN.json | 76 +++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 en/en/MTableFooter.zh-CN.json diff --git a/en/en/MTableFooter.zh-CN.json b/en/en/MTableFooter.zh-CN.json new file mode 100644 index 0000000000..b82fa26f68 --- /dev/null +++ b/en/en/MTableFooter.zh-CN.json @@ -0,0 +1,76 @@ +{ + "Components": [ + "TableFooter" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "NextDisabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "PageSize", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "PageStart", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "PageStop", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "PrevDisabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "TotalCount", + "Type": "Int32", + "Default": "0", + "Description": "" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnNextClick", + "Description": "" + }, + { + "Name": "OnPageSizeChange", + "Description": "" + }, + { + "Name": "OnPrevClick", + "Description": "" + } + ] +} \ No newline at end of file From 82f135b7ee264f1eab3d553c844c96df67dacd1e Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:07 +0800 Subject: [PATCH 110/191] New translations MTableFooterButton.zh-CN.json (English) --- en/en/MTableFooterButton.zh-CN.json | 157 ++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 en/en/MTableFooterButton.zh-CN.json diff --git a/en/en/MTableFooterButton.zh-CN.json b/en/en/MTableFooterButton.zh-CN.json new file mode 100644 index 0000000000..7070d6d666 --- /dev/null +++ b/en/en/MTableFooterButton.zh-CN.json @@ -0,0 +1,157 @@ +{ + "Components": [ + "TableFooterButton" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Block", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "IconName", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Loading", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "StopPropagation", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "LoaderContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "Click", + "Description": "" + }, + { + "Name": "HandlePageChange", + "Description": "" + }, + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From 048e3397d46f486dd3c9c2f3e22d1911852ef93a Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:08 +0800 Subject: [PATCH 111/191] New translations MTableHeader.zh-CN.json (English) --- en/en/MTableHeader.zh-CN.json | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 en/en/MTableHeader.zh-CN.json diff --git a/en/en/MTableHeader.zh-CN.json b/en/en/MTableHeader.zh-CN.json new file mode 100644 index 0000000000..f6f81866b3 --- /dev/null +++ b/en/en/MTableHeader.zh-CN.json @@ -0,0 +1,39 @@ +{ + "Components": [ + "TableHeader" + ], + "Props": [ + { + "Name": "Align", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Headers", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [], + "Events": [] +} \ No newline at end of file From 5e90e3a4bdffb157205ea9170c0fcdff98378a13 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:09 +0800 Subject: [PATCH 112/191] New translations MTabs.zh-CN.json (English) --- en/en/MTabs.zh-CN.json | 176 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 en/en/MTabs.zh-CN.json diff --git a/en/en/MTabs.zh-CN.json b/en/en/MTabs.zh-CN.json new file mode 100644 index 0000000000..e5eec04985 --- /dev/null +++ b/en/en/MTabs.zh-CN.json @@ -0,0 +1,176 @@ +{ + "Title": "Tabs", + "Components": [ + "Tabs" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "active-class 在子组件(children )被激活时应用。" + }, + { + "Name": "AlignWithTitle", + "Type": "Boolean", + "Default": "false", + "Description": "让v-tabs与工具栏标题对齐" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "更改组件的背景颜色。" + }, + { + "Name": "CenterActive", + "Type": "Boolean", + "Default": "false", + "Description": "强制所选标签以居中" + }, + { + "Name": "Centered", + "Type": "Boolean", + "Default": "false", + "Description": "将选项卡居中" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "FixedTabs", + "Type": "Boolean", + "Default": "false", + "Description": "v-tabs-item min-width 160px, max-width 360px" + }, + { + "Name": "Grow", + "Type": "Boolean", + "Default": "false", + "Description": "强制 v-tab 占用所有可用空间" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "HideSlider", + "Type": "Boolean", + "Default": "false", + "Description": "隐藏生成的 v-tabs-slider" + }, + { + "Name": "IconsAndText", + "Type": "Boolean", + "Default": "false", + "Description": "将堆叠图标和文字垂直" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MobileBreakpoint", + "Type": "StringNumber", + "Default": "", + "Description": "" + }, + { + "Name": "NextIcon", + "Type": "String", + "Default": "null", + "Description": "左分页图标" + }, + { + "Name": "Optional", + "Type": "Boolean", + "Default": "null", + "Description": "不需要活动项目。 在将 v-tab 用作 router-link 时有用" + }, + { + "Name": "PrevIcon", + "Type": "String", + "Default": "null", + "Description": "右分页图标" + }, + { + "Name": "Right", + "Type": "Boolean", + "Default": "false", + "Description": "将选项向右侧对齐" + }, + { + "Name": "ShowArrows", + "Type": "StringBoolean", + "Default": "false", + "Description": "如果选项卡项目超出其容器,则显示分页箭头。 对于移动设备,仅在使用此属性时才会显示箭头。" + }, + { + "Name": "SliderColor", + "Type": "String", + "Default": "null", + "Description": "更改自动生成的 v-tabs-slider 的背景颜色" + }, + { + "Name": "SliderSize", + "Type": "StringNumber", + "Default": "", + "Description": "更改滑块的大小,水平 height,垂直 width。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Vertical", + "Type": "Boolean", + "Default": "false", + "Description": "垂直堆叠选项卡。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 2756f10d58e622d51ccccf8db30b0526cfe1640f Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:09 +0800 Subject: [PATCH 113/191] New translations MStepperStep.zh-CN.json (English) --- en/en/MStepperStep.zh-CN.json | 86 +++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 en/en/MStepperStep.zh-CN.json diff --git a/en/en/MStepperStep.zh-CN.json b/en/en/MStepperStep.zh-CN.json new file mode 100644 index 0000000000..1dd10a4a15 --- /dev/null +++ b/en/en/MStepperStep.zh-CN.json @@ -0,0 +1,86 @@ +{ + "Title": "StepperStep", + "Components": [ + "Steppers" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Complete", + "Type": "Boolean", + "Default": "false", + "Description": "标记为已完成" + }, + { + "Name": "CompleteIcon", + "Type": "String", + "Default": "null", + "Description": "步骤标记为已完成时显示的图标" + }, + { + "Name": "Editable", + "Type": "Boolean", + "Default": "false", + "Description": "标记为可编辑" + }, + { + "Name": "EditIcon", + "Type": "String", + "Default": "null", + "Description": "步骤可编辑时显示的图标" + }, + { + "Name": "ErrorIcon", + "Type": "String", + "Default": "null", + "Description": "步骤错误时显示的图标" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Rules", + "Type": "List`1", + "Default": "", + "Description": "" + }, + { + "Name": "Step", + "Type": "Int32", + "Default": "", + "Description": "步骤圈内显示的内容" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From 66ae3424ec9f9eebe34c8912655438a49534e924 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:10 +0800 Subject: [PATCH 114/191] New translations MTabsBar.zh-CN.json (English) --- en/en/MTabsBar.zh-CN.json | 134 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 en/en/MTabsBar.zh-CN.json diff --git a/en/en/MTabsBar.zh-CN.json b/en/en/MTabsBar.zh-CN.json new file mode 100644 index 0000000000..f434bd720e --- /dev/null +++ b/en/en/MTabsBar.zh-CN.json @@ -0,0 +1,134 @@ +{ + "Title": "TabsBar", + "Components": [ + "Tabs" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "CenterActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Mandatory", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Max", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Multiple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "NextIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrevIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ShowArrows", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Values", + "Type": "List`1", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "NextContent", + "Description": "" + }, + { + "Name": "PrevContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + }, + { + "Name": "ValuesChanged", + "Description": "" + } + ] +} \ No newline at end of file From 7d2373d09886b6fd4b39e202f38983e2854fcfd5 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:11 +0800 Subject: [PATCH 115/191] New translations MTabsItems.zh-CN.json (English) --- en/en/MTabsItems.zh-CN.json | 140 ++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 en/en/MTabsItems.zh-CN.json diff --git a/en/en/MTabsItems.zh-CN.json b/en/en/MTabsItems.zh-CN.json new file mode 100644 index 0000000000..8f23f42b7e --- /dev/null +++ b/en/en/MTabsItems.zh-CN.json @@ -0,0 +1,140 @@ +{ + "Title": "TabsItems", + "Components": [ + "Tabs" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Continuous", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Mandatory", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Max", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Multiple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "NextIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrevIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Reverse", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowArrows", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ShowArrowsOnHover", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Values", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Vertical", + "Type": "Boolean", + "Default": "false", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "NextContent", + "Description": "" + }, + { + "Name": "PrevContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + }, + { + "Name": "ValuesChanged", + "Description": "" + } + ] +} \ No newline at end of file From db4bfbeb177958ec722490b8526b76ea8c897c71 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:12 +0800 Subject: [PATCH 116/191] New translations MTabsSlider.zh-CN.json (English) --- en/en/MTabsSlider.zh-CN.json | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 en/en/MTabsSlider.zh-CN.json diff --git a/en/en/MTabsSlider.zh-CN.json b/en/en/MTabsSlider.zh-CN.json new file mode 100644 index 0000000000..46b558c8bb --- /dev/null +++ b/en/en/MTabsSlider.zh-CN.json @@ -0,0 +1,27 @@ +{ + "Components": [ + "Tabs" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [], + "Events": [] +} \ No newline at end of file From 4e059dc9dbc2e6543cd7bb2a33573950005dd1e0 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:13 +0800 Subject: [PATCH 117/191] New translations MTextField.zh-CN.json (English) --- en/en/MTextField.zh-CN.json | 410 ++++++++++++++++++++++++++++++++++++ 1 file changed, 410 insertions(+) create mode 100644 en/en/MTextField.zh-CN.json diff --git a/en/en/MTextField.zh-CN.json b/en/en/MTextField.zh-CN.json new file mode 100644 index 0000000000..20815c75ed --- /dev/null +++ b/en/en/MTextField.zh-CN.json @@ -0,0 +1,410 @@ +{ + "Title": "TextField", + "Components": [ + "Text fields" + ], + "Props": [ + { + "Name": "AppendIcon", + "Type": "String", + "Default": "null", + "Description": "在组件上附加一个图标,使用与 v-icon 相同的语法" + }, + { + "Name": "AppendOuterIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Autofocus", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Clearable", + "Type": "Boolean", + "Default": "false", + "Description": "添加清除已输入内容功能,默认图标是Material Design Icons mdi-clear" + }, + { + "Name": "ClearIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Counter", + "Type": "StringNumberBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "CounterValue", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Error", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ErrorCount", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ErrorMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Filled", + "Type": "Boolean", + "Default": "false", + "Description": "应用替代填充输入样式" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "当使用solo或者solo-inverted属性时,移除添加到元素的标高(阴影)" + }, + { + "Name": "FullWidth", + "Type": "Boolean", + "Default": "false", + "Description": "指定输入类型为全宽度" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDetails", + "Type": "StringBoolean", + "Default": "false", + "Description": "隐藏提示和验证错误。当设置为 auto 时,只有在有信息(提示、错误信息、计数器值等)要显示时,才会显示信息。" + }, + { + "Name": "Hint", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "设置输入标签" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "LoaderHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "false", + "Description": "显示线性进度条。可以是指定将哪种颜色应用于进度条的字符串(任何 material 色彩——主要(primary), 次要(secondary), 成功(success), 信息(info),警告(warning),错误(error)),或者使用组件的布尔值 color(由色彩属性设置——如果它被组件支持的话)还可以是原色。" + }, + { + "Name": "Messages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "PersistentHint", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "PersistentPlaceholder", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Placeholder", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Prefix", + "Type": "String", + "Default": "false", + "Description": "显示前缀" + }, + { + "Name": "PrependIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrependInnerIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Reverse", + "Type": "Boolean", + "Default": "false", + "Description": "反转输入方向" + }, + { + "Name": "Rounded", + "Type": "Boolean", + "Default": "false", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Rules", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "如果 outlined 则为圆形,如果 filled 则增加 border-radius。必须与 outlined 或 filled 一起使用" + }, + { + "Name": "SingleLine", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Solo", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SoloInverted", + "Type": "Boolean", + "Default": "false", + "Description": "减少元素的不透明度,知道获得焦点" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Success", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SuccessMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Suffix", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Type", + "Type": "String", + "Default": "null", + "Description": "设置输入类型" + }, + { + "Name": "ValidateOnBlur", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "", + "Description": "" + }, + { + "Name": "ValueExpression", + "Type": "Expression`1", + "Default": "", + "Description": "" + } + ], + "Contents": [ + { + "Name": "AppendContent", + "Description": "" + }, + { + "Name": "AppendOuterContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "CounterContent", + "Description": "" + }, + { + "Name": "LabelContent", + "Description": "" + }, + { + "Name": "MessageContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + }, + { + "Name": "PrependInnerContent", + "Description": "" + }, + { + "Name": "ProgressContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnAppendClick", + "Description": "" + }, + { + "Name": "OnAppendOuterClick", + "Description": "" + }, + { + "Name": "OnBlur", + "Description": "" + }, + { + "Name": "OnChange", + "Description": "" + }, + { + "Name": "OnClearClick", + "Description": "" + }, + { + "Name": "OnClick", + "Description": "" + }, + { + "Name": "OnFocus", + "Description": "" + }, + { + "Name": "OnInput", + "Description": "" + }, + { + "Name": "OnKeyDown", + "Description": "" + }, + { + "Name": "OnMouseDown", + "Description": "" + }, + { + "Name": "OnMouseUp", + "Description": "" + }, + { + "Name": "OnPrependClick", + "Description": "" + }, + { + "Name": "OnPrependInnerClick", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From a00b872e2981beb4d109c5418eddf2b9a7ce0d33 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:14 +0800 Subject: [PATCH 118/191] New translations MTextarea.zh-CN.json (English) --- en/en/MTextarea.zh-CN.json | 434 +++++++++++++++++++++++++++++++++++++ 1 file changed, 434 insertions(+) create mode 100644 en/en/MTextarea.zh-CN.json diff --git a/en/en/MTextarea.zh-CN.json b/en/en/MTextarea.zh-CN.json new file mode 100644 index 0000000000..d4c4b8d30f --- /dev/null +++ b/en/en/MTextarea.zh-CN.json @@ -0,0 +1,434 @@ +{ + "Title": "Textarea", + "Components": [ + "Textareas" + ], + "Props": [ + { + "Name": "AppendIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "AppendOuterIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Autofocus", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "AutoGrow", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Clearable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ClearIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Counter", + "Type": "StringNumberBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "CounterValue", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Error", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ErrorCount", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ErrorMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Filled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "FullWidth", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDetails", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Hint", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "LoaderHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Messages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "NoResize", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "PersistentHint", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "PersistentPlaceholder", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Placeholder", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Prefix", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrependIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrependInnerIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Reverse", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rounded", + "Type": "Boolean", + "Default": "false", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "RowHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Rows", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Rules", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SingleLine", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Solo", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SoloInverted", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Success", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SuccessMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Suffix", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Type", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ValidateOnBlur", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ValueExpression", + "Type": "Expression`1", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "AppendContent", + "Description": "" + }, + { + "Name": "AppendOuterContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "CounterContent", + "Description": "" + }, + { + "Name": "LabelContent", + "Description": "" + }, + { + "Name": "MessageContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + }, + { + "Name": "PrependInnerContent", + "Description": "" + }, + { + "Name": "ProgressContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnAppendClick", + "Description": "" + }, + { + "Name": "OnAppendOuterClick", + "Description": "" + }, + { + "Name": "OnBlur", + "Description": "" + }, + { + "Name": "OnChange", + "Description": "" + }, + { + "Name": "OnClearClick", + "Description": "" + }, + { + "Name": "OnClick", + "Description": "" + }, + { + "Name": "OnFocus", + "Description": "" + }, + { + "Name": "OnInput", + "Description": "" + }, + { + "Name": "OnKeyDown", + "Description": "" + }, + { + "Name": "OnMouseDown", + "Description": "" + }, + { + "Name": "OnMouseUp", + "Description": "" + }, + { + "Name": "OnPrependClick", + "Description": "" + }, + { + "Name": "OnPrependInnerClick", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From bd935d060a12611d57ac28642734cccd5b297fe5 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:15 +0800 Subject: [PATCH 119/191] New translations MTimePicker.zh-CN.json (English) --- en/en/MTimePicker.zh-CN.json | 178 +++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 en/en/MTimePicker.zh-CN.json diff --git a/en/en/MTimePicker.zh-CN.json b/en/en/MTimePicker.zh-CN.json new file mode 100644 index 0000000000..667de6a441 --- /dev/null +++ b/en/en/MTimePicker.zh-CN.json @@ -0,0 +1,178 @@ +{ + "Title": "TimePicker", + "Components": [ + "Timelines" + ], + "Props": [ + { + "Name": "AllowedHours", + "Type": "OneOf`2", + "Default": "", + "Description": "" + }, + { + "Name": "AllowedMinutes", + "Type": "OneOf`2", + "Default": "", + "Description": "" + }, + { + "Name": "AllowedSeconds", + "Type": "OneOf`2", + "Default": "", + "Description": "" + }, + { + "Name": "AmPmInTitle", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "null", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Format", + "Type": "TimeFormat", + "Default": "", + "Description": "" + }, + { + "Name": "FullWidth", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "HeaderColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Landscape", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Max", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Min", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "NoTitle", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Scrollable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "UseSeconds", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnChange", + "Description": "" + }, + { + "Name": "OnPeriodUpdate", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 1e9b8319d62b35d2792f630c54baf4c5cf8faf65 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:15 +0800 Subject: [PATCH 120/191] New translations MTimePickerClock.zh-CN.json (English) --- en/en/MTimePickerClock.zh-CN.json | 121 ++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 en/en/MTimePickerClock.zh-CN.json diff --git a/en/en/MTimePickerClock.zh-CN.json b/en/en/MTimePickerClock.zh-CN.json new file mode 100644 index 0000000000..e2f5736c2c --- /dev/null +++ b/en/en/MTimePickerClock.zh-CN.json @@ -0,0 +1,121 @@ +{ + "Title": "TimePickerClock", + "Components": [ + "Timelines" + ], + "Props": [ + { + "Name": "AllowedValues", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Double", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Format", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Max", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Min", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rotate", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Scrollable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Step", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "Nullable`1", + "Default": "", + "Description": "" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnChange", + "Description": "" + }, + { + "Name": "OnInput", + "Description": "" + } + ] +} \ No newline at end of file From 6308a9b229bf9c0212ec90e9ac5374934ad91a40 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:16 +0800 Subject: [PATCH 121/191] New translations MTimePickerTitle.zh-CN.json (English) --- en/en/MTimePickerTitle.zh-CN.json | 97 +++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 en/en/MTimePickerTitle.zh-CN.json diff --git a/en/en/MTimePickerTitle.zh-CN.json b/en/en/MTimePickerTitle.zh-CN.json new file mode 100644 index 0000000000..9563072389 --- /dev/null +++ b/en/en/MTimePickerTitle.zh-CN.json @@ -0,0 +1,97 @@ +{ + "Title": "TimePickerTitle", + "Components": [ + "Timelines" + ], + "Props": [ + { + "Name": "AmPm", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "AmPmReadonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Hour", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Minute", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Period", + "Type": "TimePeriod", + "Default": "", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Second", + "Type": "Nullable`1", + "Default": "", + "Description": "" + }, + { + "Name": "Selecting", + "Type": "SelectingTimes", + "Default": "", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "UseSeconds", + "Type": "Boolean", + "Default": "false", + "Description": "" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnPeriodUpdate", + "Description": "" + }, + { + "Name": "OnSelectingUpdate", + "Description": "" + } + ] +} \ No newline at end of file From 5b079a0adb62a519b78474569faf0f2bf1d67935 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:17 +0800 Subject: [PATCH 122/191] New translations MTimeline.zh-CN.json (English) --- en/en/MTimeline.zh-CN.json | 63 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 en/en/MTimeline.zh-CN.json diff --git a/en/en/MTimeline.zh-CN.json b/en/en/MTimeline.zh-CN.json new file mode 100644 index 0000000000..85e878d3ba --- /dev/null +++ b/en/en/MTimeline.zh-CN.json @@ -0,0 +1,63 @@ +{ + "Title": "Timeline", + "Components": [ + "Timelines" + ], + "Props": [ + { + "Name": "AlignTop", + "Type": "Boolean", + "Default": "false", + "Description": "将时间线项目的插入符号和圆点对齐到顶部" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Reverse", + "Type": "Boolean", + "Default": "false", + "Description": "反转时间轴项目" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 25b403db6ba8a38b08e17232a7819ba688f827d0 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:18 +0800 Subject: [PATCH 123/191] New translations MTimelineItem.zh-CN.json (English) --- en/en/MTimelineItem.zh-CN.json | 107 +++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 en/en/MTimelineItem.zh-CN.json diff --git a/en/en/MTimelineItem.zh-CN.json b/en/en/MTimelineItem.zh-CN.json new file mode 100644 index 0000000000..1be7f583c6 --- /dev/null +++ b/en/en/MTimelineItem.zh-CN.json @@ -0,0 +1,107 @@ +{ + "Title": "TimelineItem", + "Components": [ + "Timelines" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "FillDot", + "Type": "Boolean", + "Default": "false", + "Description": "从点容器中删除填充" + }, + { + "Name": "HideDot", + "Type": "Boolean", + "Default": "false", + "Description": "隐藏时间线内点的显示" + }, + { + "Name": "Icon", + "Type": "String", + "Default": "null", + "Description": "为点容器指定图标" + }, + { + "Name": "IconColor", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。 你可以在 colors page 中找到内置类的列表。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Large", + "Type": "Boolean", + "Default": "false", + "Description": "大尺寸的点" + }, + { + "Name": "Left", + "Type": "Boolean", + "Default": "false", + "Description": "显式地将项目设置为左方向" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Right", + "Type": "Boolean", + "Default": "false", + "Description": "显式地将项目设置为右方向" + }, + { + "Name": "Small", + "Type": "Boolean", + "Default": "false", + "Description": "小尺寸的点" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "IconContent", + "Description": "" + }, + { + "Name": "OppositeContent", + "Description": "" + } + ], + "Events": [] +} \ No newline at end of file From b24df3e14eb4096c43192e3a5687b0e8ccba5933 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:19 +0800 Subject: [PATCH 124/191] New translations MSubheader.zh-CN.json (English) --- en/en/MSubheader.zh-CN.json | 51 +++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 en/en/MSubheader.zh-CN.json diff --git a/en/en/MSubheader.zh-CN.json b/en/en/MSubheader.zh-CN.json new file mode 100644 index 0000000000..469af66c12 --- /dev/null +++ b/en/en/MSubheader.zh-CN.json @@ -0,0 +1,51 @@ +{ + "Title": "Subheader", + "Components": [ + "Subheaders" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Inset", + "Type": "Boolean", + "Default": "false", + "Description": "添加缩进(72px)" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From b15e5e8a2510acf56aac7ba1b3c1df8b5bf0f435 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:20 +0800 Subject: [PATCH 125/191] New translations MStepperItems.zh-CN.json (English) --- en/en/MStepperItems.zh-CN.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 en/en/MStepperItems.zh-CN.json diff --git a/en/en/MStepperItems.zh-CN.json b/en/en/MStepperItems.zh-CN.json new file mode 100644 index 0000000000..a1bc505ecd --- /dev/null +++ b/en/en/MStepperItems.zh-CN.json @@ -0,0 +1,33 @@ +{ + "Title": "StepperItems", + "Components": [ + "Steppers" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From d0598600b9fd57aca212889aab93b0e6c90c9dd9 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:21 +0800 Subject: [PATCH 126/191] New translations MPopover.zh-CN.json (English) --- en/en/MPopover.zh-CN.json | 97 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 en/en/MPopover.zh-CN.json diff --git a/en/en/MPopover.zh-CN.json b/en/en/MPopover.zh-CN.json new file mode 100644 index 0000000000..69899c4bc6 --- /dev/null +++ b/en/en/MPopover.zh-CN.json @@ -0,0 +1,97 @@ +{ + "Components": [ + "Popover" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "String", + "Default": "null", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "ClientX", + "Type": "StringNumber", + "Default": "", + "Description": "" + }, + { + "Name": "ClientY", + "Type": "StringNumber", + "Default": "", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "OffsetX", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "OffsetY", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "PreventDefault", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Visible", + "Type": "Boolean", + "Default": "false", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnClick", + "Description": "" + } + ] +} \ No newline at end of file From 1af79f1f645b7d79413fc706edb13c0cdeac2e10 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:21 +0800 Subject: [PATCH 127/191] New translations MSelectOption.zh-CN.json (English) --- en/en/MSelectOption.zh-CN.json | 48 ++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 en/en/MSelectOption.zh-CN.json diff --git a/en/en/MSelectOption.zh-CN.json b/en/en/MSelectOption.zh-CN.json new file mode 100644 index 0000000000..d16a47c251 --- /dev/null +++ b/en/en/MSelectOption.zh-CN.json @@ -0,0 +1,48 @@ +{ + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Icon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Item", + "Type": "TItem", + "Default": "", + "Description": "" + }, + { + "Name": "Key", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "", + "Description": "" + } + ], + "Contents": [], + "Events": [] +} \ No newline at end of file From e572d48f7e2dba602272cff262e3c99295ebc5e6 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:22 +0800 Subject: [PATCH 128/191] New translations MProgressCircular.zh-CN.json (English) --- en/en/MProgressCircular.zh-CN.json | 69 ++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 en/en/MProgressCircular.zh-CN.json diff --git a/en/en/MProgressCircular.zh-CN.json b/en/en/MProgressCircular.zh-CN.json new file mode 100644 index 0000000000..bdef631d1f --- /dev/null +++ b/en/en/MProgressCircular.zh-CN.json @@ -0,0 +1,69 @@ +{ + "Title": "ProgressCircular", + "Components": [ + "Progress circulars" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Indeterminate", + "Type": "Boolean", + "Default": "false", + "Description": "恒定动画,加载进度未知时使用。" + }, + { + "Name": "Rotate", + "Type": "StringNumber", + "Default": "0", + "Description": "以度为单位旋转圆的起点" + }, + { + "Name": "Size", + "Type": "StringNumber", + "Default": "32", + "Description": "设置组件的高度和宽度." + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "0", + "Description": "当前进度的百分比值" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "4", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 74c97c14f741da2c0d54a05bc76fbc6e1f2833e1 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:23 +0800 Subject: [PATCH 129/191] New translations MProgressLinear.zh-CN.json (English) --- en/en/MProgressLinear.zh-CN.json | 152 +++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 en/en/MProgressLinear.zh-CN.json diff --git a/en/en/MProgressLinear.zh-CN.json b/en/en/MProgressLinear.zh-CN.json new file mode 100644 index 0000000000..5c85375467 --- /dev/null +++ b/en/en/MProgressLinear.zh-CN.json @@ -0,0 +1,152 @@ +{ + "Title": "ProgressLinear", + "Components": [ + "Progress linears" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "Boolean", + "Default": "false", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "Active", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "BackgroundOpacity", + "Type": "Double", + "Default": "", + "Description": "" + }, + { + "Name": "Bottom", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "BufferValue", + "Type": "Double", + "Default": "", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Fixed", + "Type": "Boolean", + "Default": "false", + "Description": "给组件应用 position: fixed" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Indeterminate", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Query", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Reverse", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rounded", + "Type": "Boolean", + "Default": "false", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Stream", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Striped", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Top", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "Double", + "Default": "", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnChange", + "Description": "" + } + ] +} \ No newline at end of file From d8fdd8116662f0d58f0955f27dea39dc9593f358 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:24 +0800 Subject: [PATCH 130/191] New translations MRadio.zh-CN.json (English) --- en/en/MRadio.zh-CN.json | 116 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 en/en/MRadio.zh-CN.json diff --git a/en/en/MRadio.zh-CN.json b/en/en/MRadio.zh-CN.json new file mode 100644 index 0000000000..fed0e1a98a --- /dev/null +++ b/en/en/MRadio.zh-CN.json @@ -0,0 +1,116 @@ +{ + "Title": "Radio", + "Components": [ + "Radio" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "IsDisabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "IsReadonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "设置输入标签" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "OffIcon", + "Type": "String", + "Default": "null", + "Description": "不活动时使用的图标" + }, + { + "Name": "OnIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Ripple", + "Type": "Boolean", + "Default": "false", + "Description": "应用 v-ripple 指令。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "", + "Description": "" + } + ], + "Contents": [ + { + "Name": "LabelContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnBlur", + "Description": "" + }, + { + "Name": "OnChange", + "Description": "" + }, + { + "Name": "OnFocus", + "Description": "" + }, + { + "Name": "OnKeyDown", + "Description": "" + } + ] +} \ No newline at end of file From 961f8a94d27217dbb5a9cc09de9f04cd1110b621 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:25 +0800 Subject: [PATCH 131/191] New translations MRadioGroup.zh-CN.json (English) --- en/en/MRadioGroup.zh-CN.json | 242 +++++++++++++++++++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 en/en/MRadioGroup.zh-CN.json diff --git a/en/en/MRadioGroup.zh-CN.json b/en/en/MRadioGroup.zh-CN.json new file mode 100644 index 0000000000..aad73d023e --- /dev/null +++ b/en/en/MRadioGroup.zh-CN.json @@ -0,0 +1,242 @@ +{ + "Title": "RadioGroup", + "Components": [ + "Radio groups" + ], + "Props": [ + { + "Name": "AppendIcon", + "Type": "String", + "Default": "null", + "Description": "在组件上附加一个图标,使用与 v-icon 相同的语法" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Column", + "Type": "Boolean", + "Default": "false", + "Description": "单选框列显示" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Error", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ErrorCount", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ErrorMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDetails", + "Type": "StringBoolean", + "Default": "false", + "Description": "隐藏提示和验证错误。当设置为 auto 时,只有在有信息(提示、错误信息、计数器值等)要显示时,才会显示信息。" + }, + { + "Name": "Hint", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "设置输入标签" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Mandatory", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Messages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "PersistentHint", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "PrependIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Row", + "Type": "Boolean", + "Default": "false", + "Description": "单选框行显示" + }, + { + "Name": "Rules", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Success", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SuccessMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "ValidateOnBlur", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "", + "Description": "" + }, + { + "Name": "ValueExpression", + "Type": "Expression`1", + "Default": "", + "Description": "" + } + ], + "Contents": [ + { + "Name": "AppendContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "LabelContent", + "Description": "" + }, + { + "Name": "MessageContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnAppendClick", + "Description": "" + }, + { + "Name": "OnClick", + "Description": "" + }, + { + "Name": "OnMouseDown", + "Description": "" + }, + { + "Name": "OnMouseUp", + "Description": "" + }, + { + "Name": "OnPrependClick", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From baf80aa3b01c2e41d9eb66957e0e1bbc3b1d4ea2 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:26 +0800 Subject: [PATCH 132/191] New translations MRangeSlider.zh-CN.json (English) --- en/en/MRangeSlider.zh-CN.json | 328 ++++++++++++++++++++++++++++++++++ 1 file changed, 328 insertions(+) create mode 100644 en/en/MRangeSlider.zh-CN.json diff --git a/en/en/MRangeSlider.zh-CN.json b/en/en/MRangeSlider.zh-CN.json new file mode 100644 index 0000000000..5e223dd04d --- /dev/null +++ b/en/en/MRangeSlider.zh-CN.json @@ -0,0 +1,328 @@ +{ + "Title": "RangeSlider", + "Components": [ + "Range sliders" + ], + "Props": [ + { + "Name": "AppendIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Error", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ErrorCount", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ErrorMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDetails", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Hint", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "InverseLabel", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "LoaderHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Max", + "Type": "Double", + "Default": "", + "Description": "" + }, + { + "Name": "Messages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Min", + "Type": "Double", + "Default": "", + "Description": "" + }, + { + "Name": "PersistentHint", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "PrependIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rules", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Step", + "Type": "Double", + "Default": "", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Success", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SuccessMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "ThumbColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ThumbLabel", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "ThumbSize", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "TickLabels", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Ticks", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "TickSize", + "Type": "Double", + "Default": "", + "Description": "" + }, + { + "Name": "TrackColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "TrackFillColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ValidateOnBlur", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "IList`1", + "Default": "null", + "Description": "" + }, + { + "Name": "ValueExpression", + "Type": "Expression`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Vertical", + "Type": "Boolean", + "Default": "false", + "Description": "" + } + ], + "Contents": [ + { + "Name": "AppendContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "LabelContent", + "Description": "" + }, + { + "Name": "MessageContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + }, + { + "Name": "ProgressContent", + "Description": "" + }, + { + "Name": "ThumbLabelContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnAppendClick", + "Description": "" + }, + { + "Name": "OnBlur", + "Description": "" + }, + { + "Name": "OnChange", + "Description": "" + }, + { + "Name": "OnClick", + "Description": "" + }, + { + "Name": "OnFocus", + "Description": "" + }, + { + "Name": "OnMouseDown", + "Description": "" + }, + { + "Name": "OnMouseUp", + "Description": "" + }, + { + "Name": "OnPrependClick", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 58b114715ce4aa2885760a80b9fde9bbaa32b37a Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:27 +0800 Subject: [PATCH 133/191] New translations MRating.zh-CN.json (English) --- en/en/MRating.zh-CN.json | 162 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 en/en/MRating.zh-CN.json diff --git a/en/en/MRating.zh-CN.json b/en/en/MRating.zh-CN.json new file mode 100644 index 0000000000..aeb7cf0371 --- /dev/null +++ b/en/en/MRating.zh-CN.json @@ -0,0 +1,162 @@ +{ + "Title": "Rating", + "Components": [ + "Ratings" + ], + "Props": [ + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "使用空图标的颜色" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Clearable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "EmptyIcon", + "Type": "String", + "Default": "null", + "Description": "空时显示的图标" + }, + { + "Name": "FullIcon", + "Type": "String", + "Default": "null", + "Description": "满时显示的图标" + }, + { + "Name": "HalfIcon", + "Type": "String", + "Default": "null", + "Description": "半时显示的图标(需要 half-increments 属性)" + }, + { + "Name": "HalfIncrements", + "Type": "Boolean", + "Default": "false", + "Description": "允许选择半增量" + }, + { + "Name": "Hover", + "Type": "Boolean", + "Default": "false", + "Description": "将鼠标悬停在图标上时提供视觉反馈" + }, + { + "Name": "IconLabel", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Large", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的巨大。" + }, + { + "Name": "Length", + "Type": "StringNumber", + "Default": "", + "Description": "要显示的评分数量" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Size", + "Type": "StringNumber", + "Default": "null", + "Description": "设置组件的高度和宽度." + }, + { + "Name": "Small", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的小。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "Double", + "Default": "", + "Description": "" + }, + { + "Name": "XLarge", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的无比巨大。" + }, + { + "Name": "XSmall", + "Type": "Boolean", + "Default": "false", + "Description": "使组件尺寸变的更小。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "ItemContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From d5a6fb24649cd312145a2c94f0dfe60fa60850a5 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:28 +0800 Subject: [PATCH 134/191] New translations MResponsive.zh-CN.json (English) --- en/en/MResponsive.zh-CN.json | 81 ++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 en/en/MResponsive.zh-CN.json diff --git a/en/en/MResponsive.zh-CN.json b/en/en/MResponsive.zh-CN.json new file mode 100644 index 0000000000..8b561c7a6c --- /dev/null +++ b/en/en/MResponsive.zh-CN.json @@ -0,0 +1,81 @@ +{ + "Title": "Responsive", + "Components": [ + "Grid system" + ], + "Props": [ + { + "Name": "AspectRatio", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "ContentClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 065818f625c27b394cb3dea2fae0e2464033beda Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:29 +0800 Subject: [PATCH 135/191] New translations MRow.zh-CN.json (English) --- en/en/MRow.zh-CN.json | 170 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 en/en/MRow.zh-CN.json diff --git a/en/en/MRow.zh-CN.json b/en/en/MRow.zh-CN.json new file mode 100644 index 0000000000..9e21950040 --- /dev/null +++ b/en/en/MRow.zh-CN.json @@ -0,0 +1,170 @@ +{ + "Title": "Row", + "Components": [ + "Grid system" + ], + "Props": [ + { + "Name": "Align", + "Type": "StringEnum`1", + "Default": "null", + "Description": "应用 align-items css 属性。可用的选项是 start, center, end, baseline 和 stretch。" + }, + { + "Name": "AlignContent", + "Type": "StringEnum`1", + "Default": "null", + "Description": "应用 align-content 属性。可用的选项是: start, center, end, space-between, space-around 和 stretch。" + }, + { + "Name": "AlignContentLg", + "Type": "StringEnum`1", + "Default": "null", + "Description": "在更大和更大的断点上更改 align-content 属性。" + }, + { + "Name": "AlignContentMd", + "Type": "StringEnum`1", + "Default": "null", + "Description": "在中等和较大的断点上更改 align-content 属性。" + }, + { + "Name": "AlignContentSm", + "Type": "StringEnum`1", + "Default": "null", + "Description": "在较小和较大的断点处更改 align-content 属性。" + }, + { + "Name": "AlignContentXl", + "Type": "StringEnum`1", + "Default": "null", + "Description": "在更大和更大的断点上更改 align-content 属性。" + }, + { + "Name": "AlignLg", + "Type": "StringEnum`1", + "Default": "null", + "Description": "在中等和更高的断点上更改 align-items 属性。" + }, + { + "Name": "AlignMd", + "Type": "StringEnum`1", + "Default": "null", + "Description": "在较小和较大的断点处更改 align-items 属性。" + }, + { + "Name": "AlignSm", + "Type": "StringEnum`1", + "Default": "null", + "Description": "在更大和更大的断点上更改 align-items 属性。" + }, + { + "Name": "AlignXl", + "Type": "StringEnum`1", + "Default": "null", + "Description": "在更大和更大的断点上更改 align-items 属性。" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "DefaultBreakpoint", + "Type": "BreakpointType", + "Default": "", + "Description": "" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Gutter", + "Type": "OneOf`6", + "Default": "", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Justify", + "Type": "StringEnum`1", + "Default": "null", + "Description": "应用 justify-content css 属性。可用选项是 start, center, end, space-between 和 space-around。" + }, + { + "Name": "JustifyLg", + "Type": "StringEnum`1", + "Default": "null", + "Description": "在更大和更大的断点上更改 justify-content 属性。" + }, + { + "Name": "JustifyMd", + "Type": "StringEnum`1", + "Default": "null", + "Description": "在中等和更高的断点上更改 justify-content 属性。" + }, + { + "Name": "JustifySm", + "Type": "StringEnum`1", + "Default": "null", + "Description": "在较小和较大的断点上更改 justify-content 属性。" + }, + { + "Name": "JustifyXl", + "Type": "StringEnum`1", + "Default": "null", + "Description": "在更大和更大的断点上更改 justify-content 属性。" + }, + { + "Name": "NoGutters", + "Type": "Boolean", + "Default": "false", + "Description": "移除 v-col 之间的距离。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "div", + "Description": "指定在根元素上使用的自定义标签。" + }, + { + "Name": "Type", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Wrap", + "Type": "Boolean", + "Default": "false", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnBreakpoint", + "Description": "" + } + ] +} \ No newline at end of file From 39cb28f3df2dd1d247265a01370b328cbdb343d7 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:30 +0800 Subject: [PATCH 136/191] New translations MSelect.zh-CN.json (English) --- en/en/MSelect.zh-CN.json | 506 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 506 insertions(+) create mode 100644 en/en/MSelect.zh-CN.json diff --git a/en/en/MSelect.zh-CN.json b/en/en/MSelect.zh-CN.json new file mode 100644 index 0000000000..33b06aa582 --- /dev/null +++ b/en/en/MSelect.zh-CN.json @@ -0,0 +1,506 @@ +{ + "Title": "Select", + "Components": [ + "Selects" + ], + "Props": [ + { + "Name": "AppendIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "AppendOuterIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Autofocus", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Chips", + "Type": "Boolean", + "Default": "false", + "Description": "改变一个已选择项为小纸片(chips)的显示方式" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Clearable", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ClearIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Counter", + "Type": "StringNumberBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "CounterValue", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "DeletableChips", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "禁用输入" + }, + { + "Name": "Error", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ErrorCount", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ErrorMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Filled", + "Type": "Boolean", + "Default": "false", + "Description": "应用替代填充输入样式" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "FullWidth", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDetails", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "HideNoData", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "HideSelected", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Hint", + "Type": "String", + "Default": "null", + "Description": "提示文本" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ItemDisabled", + "Type": "Func`2", + "Default": "null", + "Description": "" + }, + { + "Name": "Items", + "Type": "IReadOnlyList`1", + "Default": "", + "Description": "" + }, + { + "Name": "ItemText", + "Type": "Func`2", + "Default": "", + "Description": "" + }, + { + "Name": "ItemValue", + "Type": "Func`2", + "Default": "", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "设置输入标签" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "LoaderHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "false", + "Description": "显示线性进度条。可以是指定将哪种颜色应用于进度条的字符串(任何 material 色彩——主要(primary), 次要(secondary), 成功(success), 信息(info),警告(warning),错误(error)),或者使用组件的布尔值 color(由色彩属性设置——如果它被组件支持的话)还可以是原色。" + }, + { + "Name": "MenuProps", + "Type": "Action`1", + "Default": "", + "Description": "" + }, + { + "Name": "Messages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Multiple", + "Type": "Boolean", + "Default": "false", + "Description": "多选,接受数组作为值" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "PersistentHint", + "Type": "Boolean", + "Default": "false", + "Description": "强制提示总是可见的" + }, + { + "Name": "PersistentPlaceholder", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Placeholder", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Prefix", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrependIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrependInnerIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Reverse", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rounded", + "Type": "Boolean", + "Default": "false", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Rules", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SingleLine", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SmallChips", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Solo", + "Type": "Boolean", + "Default": "false", + "Description": "改变输入框的样式" + }, + { + "Name": "SoloInverted", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Success", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SuccessMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Suffix", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Type", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ValidateOnBlur", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "", + "Description": "" + }, + { + "Name": "ValueExpression", + "Type": "Expression`1", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "AppendContent", + "Description": "" + }, + { + "Name": "AppendItemContent", + "Description": "" + }, + { + "Name": "AppendOuterContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "CounterContent", + "Description": "" + }, + { + "Name": "ItemContent", + "Description": "" + }, + { + "Name": "LabelContent", + "Description": "" + }, + { + "Name": "MessageContent", + "Description": "" + }, + { + "Name": "NoDataContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + }, + { + "Name": "PrependInnerContent", + "Description": "" + }, + { + "Name": "PrependItemContent", + "Description": "" + }, + { + "Name": "ProgressContent", + "Description": "" + }, + { + "Name": "SelectionContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnAppendClick", + "Description": "" + }, + { + "Name": "OnAppendOuterClick", + "Description": "" + }, + { + "Name": "OnBlur", + "Description": "" + }, + { + "Name": "OnChange", + "Description": "" + }, + { + "Name": "OnClearClick", + "Description": "" + }, + { + "Name": "OnClick", + "Description": "" + }, + { + "Name": "OnFocus", + "Description": "" + }, + { + "Name": "OnInput", + "Description": "" + }, + { + "Name": "OnKeyDown", + "Description": "" + }, + { + "Name": "OnMouseDown", + "Description": "" + }, + { + "Name": "OnMouseUp", + "Description": "" + }, + { + "Name": "OnPrependClick", + "Description": "" + }, + { + "Name": "OnPrependInnerClick", + "Description": "" + }, + { + "Name": "OnSelectedItemUpdate", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 40373ab3b021d00cc3a266475b6109d545b68329 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:31 +0800 Subject: [PATCH 137/191] New translations MSelectList.zh-CN.json (English) --- en/en/MSelectList.zh-CN.json | 81 ++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 en/en/MSelectList.zh-CN.json diff --git a/en/en/MSelectList.zh-CN.json b/en/en/MSelectList.zh-CN.json new file mode 100644 index 0000000000..5b211311f3 --- /dev/null +++ b/en/en/MSelectList.zh-CN.json @@ -0,0 +1,81 @@ +{ + "Title": "SelectList", + "Components": [ + "Selects" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Highlighted", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Icon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Item", + "Type": "TItem", + "Default": "null", + "Description": "" + }, + { + "Name": "Key", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "TItemValue", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ItemContent", + "Description": "" + } + ], + "Events": [] +} \ No newline at end of file From 36832dc54d7f83584fbe5bc671f77031489aac97 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:31 +0800 Subject: [PATCH 138/191] New translations MSheet.zh-CN.json (English) --- en/en/MSheet.zh-CN.json | 123 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 en/en/MSheet.zh-CN.json diff --git a/en/en/MSheet.zh-CN.json b/en/en/MSheet.zh-CN.json new file mode 100644 index 0000000000..c875bc66c5 --- /dev/null +++ b/en/en/MSheet.zh-CN.json @@ -0,0 +1,123 @@ +{ + "Title": "Sheet", + "Components": [ + "Sheets" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "Rounded", + "Type": "StringBoolean", + "Default": "", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "在卡片的左上角和右下角应用较大的边框半径。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From e397e62b6a91371023b6ba392ad2d4046e5d526a Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:32 +0800 Subject: [PATCH 139/191] New translations MStepperHeader.zh-CN.json (English) --- en/en/MStepperHeader.zh-CN.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 en/en/MStepperHeader.zh-CN.json diff --git a/en/en/MStepperHeader.zh-CN.json b/en/en/MStepperHeader.zh-CN.json new file mode 100644 index 0000000000..1c69e2f4a0 --- /dev/null +++ b/en/en/MStepperHeader.zh-CN.json @@ -0,0 +1,33 @@ +{ + "Title": "StepperHeader", + "Components": [ + "Steppers" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 2e9afd3e05a58d8401e032941f5eba9d93231efa Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:33 +0800 Subject: [PATCH 140/191] New translations MSimpleCheckbox.zh-CN.json (English) --- en/en/MSimpleCheckbox.zh-CN.json | 93 ++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 en/en/MSimpleCheckbox.zh-CN.json diff --git a/en/en/MSimpleCheckbox.zh-CN.json b/en/en/MSimpleCheckbox.zh-CN.json new file mode 100644 index 0000000000..aa2e65a677 --- /dev/null +++ b/en/en/MSimpleCheckbox.zh-CN.json @@ -0,0 +1,93 @@ +{ + "Title": "SimpleCheckbox", + "Components": [ + "Checkboxes" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Indeterminate", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "IndeterminateIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "OffIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "OnIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Ripple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + } + ], + "Contents": [], + "Events": [ + { + "Name": "OnInput", + "Description": "" + } + ] +} \ No newline at end of file From a2da5154c8c71102fb7ee4f482b7ae1532ad712d Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:34 +0800 Subject: [PATCH 141/191] New translations MSimpleTable.zh-CN.json (English) --- en/en/MSimpleTable.zh-CN.json | 87 +++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 en/en/MSimpleTable.zh-CN.json diff --git a/en/en/MSimpleTable.zh-CN.json b/en/en/MSimpleTable.zh-CN.json new file mode 100644 index 0000000000..48e7b37f67 --- /dev/null +++ b/en/en/MSimpleTable.zh-CN.json @@ -0,0 +1,87 @@ +{ + "Title": "SimpleTable", + "Components": [ + "Simple tables" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "FixedHeader", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "FixedRight", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "BottomContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "TopContent", + "Description": "" + }, + { + "Name": "WrapperContent", + "Description": "" + } + ], + "Events": [] +} \ No newline at end of file From 16fad1190a99790ea6c67cfa5cffd66a28af980d Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:35 +0800 Subject: [PATCH 142/191] New translations MSkeletonLoader.zh-CN.json (English) --- en/en/MSkeletonLoader.zh-CN.json | 123 +++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 en/en/MSkeletonLoader.zh-CN.json diff --git a/en/en/MSkeletonLoader.zh-CN.json b/en/en/MSkeletonLoader.zh-CN.json new file mode 100644 index 0000000000..e3f67f9ef6 --- /dev/null +++ b/en/en/MSkeletonLoader.zh-CN.json @@ -0,0 +1,123 @@ +{ + "Title": "SkeletonLoader", + "Components": [ + "Skeleton loaders" + ], + "Props": [ + { + "Name": "Boilerplate", + "Type": "Boolean", + "Default": "false", + "Description": "从骨架中移除加载动画" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "null", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "为组件设置浅色主题。" + }, + { + "Name": "Loading", + "Type": "Boolean", + "Default": "false", + "Description": "应用一个加载动画,加载光标在悬停时加载。false 的值只有在 default 槽中有内容时才会工作。" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Transition", + "Type": "String", + "Default": "null", + "Description": "设置组件转换。可以是一个 built in transitions 或者是自己自定义的。" + }, + { + "Name": "Type", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Types", + "Type": "Dictionary`2", + "Default": "", + "Description": "将与预定义选项结合使用的自定义类型对象。" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 707f54e26d4f162193272fe6b273dd38a7eff7b8 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:36 +0800 Subject: [PATCH 143/191] New translations MSlideGroup.zh-CN.json (English) --- en/en/MSlideGroup.zh-CN.json | 110 +++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 en/en/MSlideGroup.zh-CN.json diff --git a/en/en/MSlideGroup.zh-CN.json b/en/en/MSlideGroup.zh-CN.json new file mode 100644 index 0000000000..470fb80b48 --- /dev/null +++ b/en/en/MSlideGroup.zh-CN.json @@ -0,0 +1,110 @@ +{ + "Title": "SlideGroup", + "Components": [ + "Slide groups" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "CenterActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Mandatory", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Max", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Multiple", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "NextIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "PrevIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ShowArrows", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Values", + "Type": "List`1", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "NextContent", + "Description": "" + }, + { + "Name": "PrevContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + }, + { + "Name": "ValuesChanged", + "Description": "" + } + ] +} \ No newline at end of file From 2bd00d22eefecabe48bbbb41fc8be5e692899a23 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:37 +0800 Subject: [PATCH 144/191] New translations MSlideItem.zh-CN.json (English) --- en/en/MSlideItem.zh-CN.json | 57 +++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 en/en/MSlideItem.zh-CN.json diff --git a/en/en/MSlideItem.zh-CN.json b/en/en/MSlideItem.zh-CN.json new file mode 100644 index 0000000000..41b43ba70a --- /dev/null +++ b/en/en/MSlideItem.zh-CN.json @@ -0,0 +1,57 @@ +{ + "Title": "SlideItem", + "Components": [ + "Slide groups" + ], + "Props": [ + { + "Name": "ActiveClass", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "IsActive", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Value", + "Type": "StringNumber", + "Default": "null", + "Description": "" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From fee9f21241c686bafd2adba51b3a3c7c267d50e6 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:38 +0800 Subject: [PATCH 145/191] New translations MSlider.zh-CN.json (English) --- en/en/MSlider.zh-CN.json | 328 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 328 insertions(+) create mode 100644 en/en/MSlider.zh-CN.json diff --git a/en/en/MSlider.zh-CN.json b/en/en/MSlider.zh-CN.json new file mode 100644 index 0000000000..5cc8eb9797 --- /dev/null +++ b/en/en/MSlider.zh-CN.json @@ -0,0 +1,328 @@ +{ + "Title": "Slider", + "Components": [ + "Sliders" + ], + "Props": [ + { + "Name": "AppendIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "BackgroundColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Disabled", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Error", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ErrorCount", + "Type": "Int32", + "Default": "0", + "Description": "" + }, + { + "Name": "ErrorMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的高度。" + }, + { + "Name": "HideDetails", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Hint", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "InverseLabel", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Label", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "LoaderHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Loading", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "Max", + "Type": "Double", + "Default": "", + "Description": "" + }, + { + "Name": "Messages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Min", + "Type": "Double", + "Default": "", + "Description": "" + }, + { + "Name": "PersistentHint", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "PrependIcon", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Readonly", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Rules", + "Type": "IEnumerable`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Step", + "Type": "Double", + "Default": "", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Success", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "SuccessMessages", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "ThumbColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ThumbLabel", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "ThumbSize", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "TickLabels", + "Type": "List`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Ticks", + "Type": "StringBoolean", + "Default": "null", + "Description": "" + }, + { + "Name": "TickSize", + "Type": "Double", + "Default": "", + "Description": "" + }, + { + "Name": "TrackColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "TrackFillColor", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "ValidateOnBlur", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Value", + "Type": "TValue", + "Default": "", + "Description": "" + }, + { + "Name": "ValueExpression", + "Type": "Expression`1", + "Default": "null", + "Description": "" + }, + { + "Name": "Vertical", + "Type": "Boolean", + "Default": "false", + "Description": "" + } + ], + "Contents": [ + { + "Name": "AppendContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "LabelContent", + "Description": "" + }, + { + "Name": "MessageContent", + "Description": "" + }, + { + "Name": "PrependContent", + "Description": "" + }, + { + "Name": "ProgressContent", + "Description": "" + }, + { + "Name": "ThumbLabelContent", + "Description": "" + } + ], + "Events": [ + { + "Name": "OnAppendClick", + "Description": "" + }, + { + "Name": "OnBlur", + "Description": "" + }, + { + "Name": "OnChange", + "Description": "" + }, + { + "Name": "OnClick", + "Description": "" + }, + { + "Name": "OnFocus", + "Description": "" + }, + { + "Name": "OnMouseDown", + "Description": "" + }, + { + "Name": "OnMouseUp", + "Description": "" + }, + { + "Name": "OnPrependClick", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 8cebb11f413b52d6bc76d7f2c72b3397ab650659 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:39 +0800 Subject: [PATCH 146/191] New translations MSnackbar.zh-CN.json (English) --- en/en/MSnackbar.zh-CN.json | 172 +++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 en/en/MSnackbar.zh-CN.json diff --git a/en/en/MSnackbar.zh-CN.json b/en/en/MSnackbar.zh-CN.json new file mode 100644 index 0000000000..f1ca18e473 --- /dev/null +++ b/en/en/MSnackbar.zh-CN.json @@ -0,0 +1,172 @@ +{ + "Title": "Snackbar", + "Components": [ + "Snackbars" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "Boolean", + "Default": "false", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "Action", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Bottom", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向底部对齐。" + }, + { + "Name": "Centered", + "Type": "Boolean", + "Default": "false", + "Description": "将snackbar在屏幕居中显示(x或y轴)" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Left", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向左边对齐。" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MultiLine", + "Type": "Boolean", + "Default": "false", + "Description": "使消息条具有更大的最低高度。" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "Right", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向右边对齐。" + }, + { + "Name": "Rounded", + "Type": "StringBoolean", + "Default": "", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "在卡片的左上角和右下角应用较大的边框半径。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Text", + "Type": "Boolean", + "Default": "false", + "Description": "将定义的 color 应用于文本和同样的低透明度背景。" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Timeout", + "Type": "Int32", + "Default": "0", + "Description": "等待snackbar 自动隐藏的时间 (毫秒) 。使用 “-1” 保持无限期打开 (版本 < 2 的 0 )。 建议这个数字在 4000 和 10000 之间。此属性的更改将重置超时。" + }, + { + "Name": "Top", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向顶部对齐。" + }, + { + "Name": "Transition", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Value", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Vertical", + "Type": "Boolean", + "Default": "false", + "Description": "将消息条内容堆叠在操作(按钮)之上。" + } + ], + "Contents": [ + { + "Name": "ActionContent", + "Description": "" + }, + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "OnClosed", + "Description": "" + }, + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From 383a956aa29ad0d2c2668ca1a9290e43a4785661 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:40 +0800 Subject: [PATCH 147/191] New translations MSpacer.zh-CN.json (English) --- en/en/MSpacer.zh-CN.json | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 en/en/MSpacer.zh-CN.json diff --git a/en/en/MSpacer.zh-CN.json b/en/en/MSpacer.zh-CN.json new file mode 100644 index 0000000000..2147387029 --- /dev/null +++ b/en/en/MSpacer.zh-CN.json @@ -0,0 +1,28 @@ +{ + "Title": "Spacer", + "Components": [ + "Grid system" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [], + "Events": [] +} \ No newline at end of file From daa85c4a1da40ef936768a17d98366885bb42e4b Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:40 +0800 Subject: [PATCH 148/191] New translations MStepper.zh-CN.json (English) --- en/en/MStepper.zh-CN.json | 158 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 en/en/MStepper.zh-CN.json diff --git a/en/en/MStepper.zh-CN.json b/en/en/MStepper.zh-CN.json new file mode 100644 index 0000000000..cbb07d62c6 --- /dev/null +++ b/en/en/MStepper.zh-CN.json @@ -0,0 +1,158 @@ +{ + "Title": "Stepper", + "Components": [ + "Steppers" + ], + "Props": [ + { + "Name": "AltLabels", + "Type": "Boolean", + "Default": "false", + "Description": "将标签置于步骤的下方" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "NonLinear", + "Type": "Boolean", + "Default": "false", + "Description": "允许用户跳过任意一步" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "Rounded", + "Type": "StringBoolean", + "Default": "", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "在卡片的左上角和右下角应用较大的边框半径。" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Value", + "Type": "Int32", + "Default": "", + "Description": "" + }, + { + "Name": "Vertical", + "Type": "Boolean", + "Default": "false", + "Description": "垂直显示步骤线" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [ + { + "Name": "ValueChanged", + "Description": "" + } + ] +} \ No newline at end of file From e6262c281f9c9a28f78eae6cf5e566e07974187e Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:41 +0800 Subject: [PATCH 149/191] New translations MStepperContent.zh-CN.json (English) --- en/en/MStepperContent.zh-CN.json | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 en/en/MStepperContent.zh-CN.json diff --git a/en/en/MStepperContent.zh-CN.json b/en/en/MStepperContent.zh-CN.json new file mode 100644 index 0000000000..18325e10f5 --- /dev/null +++ b/en/en/MStepperContent.zh-CN.json @@ -0,0 +1,39 @@ +{ + "Title": "StepperContent", + "Components": [ + "Steppers" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Step", + "Type": "Int32", + "Default": "", + "Description": "设置步骤关联的内容" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 9d6fa847add6f6086a7950d99a96741cbef56222 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:42 +0800 Subject: [PATCH 150/191] New translations MToolbar.zh-CN.json (English) --- en/en/MToolbar.zh-CN.json | 197 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 197 insertions(+) create mode 100644 en/en/MToolbar.zh-CN.json diff --git a/en/en/MToolbar.zh-CN.json b/en/en/MToolbar.zh-CN.json new file mode 100644 index 0000000000..1fe1fa0170 --- /dev/null +++ b/en/en/MToolbar.zh-CN.json @@ -0,0 +1,197 @@ +{ + "Title": "Toolbar", + "Components": [ + "Toolbars" + ], + "Props": [ + { + "Name": "Absolute", + "Type": "Boolean", + "Default": "false", + "Description": "应用 position: absolute 样式到组件." + }, + { + "Name": "Bottom", + "Type": "Boolean", + "Default": "false", + "Description": "将组件向底部对齐。" + }, + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Collapse", + "Type": "Boolean", + "Default": "false", + "Description": "将工具栏置于折叠状态,以减小其最大宽度。" + }, + { + "Name": "Color", + "Type": "String", + "Default": "null", + "Description": "将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success 或者 purple)或 css 颜色 (#033 或 rgba(255, 0, 0, 0.5))。" + }, + { + "Name": "Dark", + "Type": "Boolean", + "Default": "false", + "Description": "将暗色主题变量应用到组件。" + }, + { + "Name": "Dense", + "Type": "Boolean", + "Default": "false", + "Description": "减少组件的高度。" + }, + { + "Name": "Elevation", + "Type": "StringNumber", + "Default": "null", + "Description": "组件的海拔可接受 0 到 24 之间的值。" + }, + { + "Name": "Extended", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "ExtensionHeight", + "Type": "StringNumber", + "Default": "null", + "Description": "" + }, + { + "Name": "Flat", + "Type": "Boolean", + "Default": "false", + "Description": "删除工具栏的框阴影。" + }, + { + "Name": "Floating", + "Type": "Boolean", + "Default": "false", + "Description": "将 display: inline-flex 应用于组件。" + }, + { + "Name": "Height", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的高度。" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Light", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "MaxHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大高度。" + }, + { + "Name": "MaxWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最大宽度。" + }, + { + "Name": "MinHeight", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小高度。" + }, + { + "Name": "MinWidth", + "Type": "StringNumber", + "Default": "", + "Description": "设定组件的最小宽度。" + }, + { + "Name": "Outlined", + "Type": "Boolean", + "Default": "false", + "Description": "使背景透明并使用薄边框。" + }, + { + "Name": "Prominent", + "Type": "Boolean", + "Default": "false", + "Description": "将工具栏内容的高度增加到 128px。" + }, + { + "Name": "Rounded", + "Type": "StringBoolean", + "Default": "null", + "Description": "对指定的组件应用 border-radius 样式。" + }, + { + "Name": "Shaped", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Short", + "Type": "Boolean", + "Default": "false", + "Description": "" + }, + { + "Name": "Src", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + }, + { + "Name": "Tag", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Tile", + "Type": "Boolean", + "Default": "false", + "Description": "删除组件的border-radius样式" + }, + { + "Name": "Width", + "Type": "StringNumber", + "Default": "null", + "Description": "设定组件的最小宽度。" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + }, + { + "Name": "ExtensionContent", + "Description": "" + }, + { + "Name": "ImgContent", + "Description": "" + } + ], + "Events": [] +} \ No newline at end of file From e675e4175dcdf41faca7da3f417962d61938fe73 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:43 +0800 Subject: [PATCH 151/191] New translations MToolbarItems.zh-CN.json (English) --- en/en/MToolbarItems.zh-CN.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 en/en/MToolbarItems.zh-CN.json diff --git a/en/en/MToolbarItems.zh-CN.json b/en/en/MToolbarItems.zh-CN.json new file mode 100644 index 0000000000..ac7785bc0d --- /dev/null +++ b/en/en/MToolbarItems.zh-CN.json @@ -0,0 +1,33 @@ +{ + "Title": "ToolbarItems", + "Components": [ + "Toolbars" + ], + "Props": [ + { + "Name": "Class", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的class" + }, + { + "Name": "Id", + "Type": "String", + "Default": "null", + "Description": "" + }, + { + "Name": "Style", + "Type": "String", + "Default": "null", + "Description": "应用到组件最外层元素的style" + } + ], + "Contents": [ + { + "Name": "ChildContent", + "Description": "默认插槽" + } + ], + "Events": [] +} \ No newline at end of file From 88efa84546c075bd64c67e0433f8e2fb305719a1 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:44 +0800 Subject: [PATCH 152/191] New translations flex.zh-CN.json (English) --- en/en/flex.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/flex.zh-CN.json diff --git a/en/en/flex.zh-CN.json b/en/en/flex.zh-CN.json new file mode 100644 index 0000000000..91fbe2bd4b --- /dev/null +++ b/en/en/flex.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 6, + "Title": "弹性布局", + "Html": "\r\n

\r\n #\r\n 弹性布局\r\n

\n

正在完善...

\n" +} \ No newline at end of file From 9ebc879a9fea9a815f44106d13bee69f5dde2b88 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:45 +0800 Subject: [PATCH 153/191] New translations release-notes.zh-CN.json (English) --- en/en/release-notes.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/release-notes.zh-CN.json diff --git a/en/en/release-notes.zh-CN.json b/en/en/release-notes.zh-CN.json new file mode 100644 index 0000000000..77a21854b4 --- /dev/null +++ b/en/en/release-notes.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 5, + "Title": "发行说明", + "Html": "\r\n

\r\n #\r\n 发行说明\r\n

\n

目前我们是不定期更新,以下是新的功能和修复的 bug 情况。

\n" +} \ No newline at end of file From f1c9f88b823154493daf4d8ba50c8759a60bfc31 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:46 +0800 Subject: [PATCH 154/191] New translations why.zh-CN.json (English) --- en/en/why.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/why.zh-CN.json diff --git a/en/en/why.zh-CN.json b/en/en/why.zh-CN.json new file mode 100644 index 0000000000..95ac12f234 --- /dev/null +++ b/en/en/why.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 0, + "Title": "为什么选择 MASA Blazor?", + "Html": "\r\n

\r\n #\r\n 为什么选择 MASA Blazor?\r\n

\n\r\n
 
\r\n

\r\n #\r\n Blazor 是什么?\r\n

\n

Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架:

\n
    \n
  • 使用 C# 代替 JavaScript 来创建信息丰富的交互式 UI。
  • \n
  • 共享使用 .NET 编写的服务器端和客户端应用逻辑。
  • \n
  • 将 UI 呈现为 HTML 和 CSS,以支持众多浏览器,其中包括移动浏览器。
  • \n
  • 与新式托管平台(如 Docker)集成。\n使用 .NET 进行客户端 Web 开发可提供以下优势:
  • \n
  • 使用 C# 代替 JavaScript 来编写代码。
  • \n
  • 利用现有的 .NET 库生态系统。
  • \n
  • 在服务器和客户端之间共享应用逻辑。
  • \n
  • 受益于 .NET 的性能、可靠性和安全性。
  • \n
  • 在 Windows、Linux 和 macOS 上使用 Visual Studio 保持高效工作。
  • \n
  • 以一组稳定、功能丰富且易用的通用语言、框架和工具为基础来进行生成。
  • \n
\n\r\n
\r\n

\r\n #\r\n MASA Blazor 是什么?\r\n

\n

基于Material Design设计和BlazorComponent的交互能力提供标准的基础组件库。提供如布局、弹框标准、Loading、全局异常处理等标准场景的预置组件。从更多实际场景出发,满足更多用户和场景的需求,缩短开发周期,提高开发效率,并提供一整套Web解决方案 - MASA Blazor Pro。

\n\r\n
\r\n

\r\n #\r\n 为什么选择 MASA Blazor?\r\n

\n

 MASA Blazor 基于Material设计规范,每一个组件都经过精心设计,具有模块化、响应式和优秀的性能。

\n

 MASA Blazor 是由一支专业的全职技术团队进行定期维护升级,高效的响应速度,多元化的解决方案,并提供企业级支持。目前已在知名企业使用,且MASA团队自研的MASA Stack产品线也将持续使用,除了可以保证项目质量,还可以持续的增加新的组件和功能。

\n

 MASA Stack除了为开发者提供众多中台类开源项目,其最基础的组成部分之一MASA Blazor也希望可以打造成最实用的组件库。

\n\r\n
\r\n

\r\n #\r\n 优势:\r\n

\n
    \n
  • 丰富组件:包含Vuetify 1:1还原的基础组件,以及很多实用的预置组件和.Net深度集成功能,包括Url、面包屑、导航三联动,高级搜索,i18n等。
  • \n
  • UI设计语言:设计风格现代,UI 多端体验设计优秀。
  • \n
  • 专业示例:MASA Blazor Pro提供多种常见场景的预设布局。
  • \n
  • 简易上手:丰富详细的上手文档,免费的视频教程(制作中)。
  • \n
  • 社区活跃鼓励:用户参与实时互动,做出贡献加入我们,构建最开放的开源社区。
  • \n
  • 长期支持:全职团队维护,并提供企业级支持。
  • \n
\n" +} \ No newline at end of file From e8f08e65ae9ee2e8a9551a885d8b9364fe7ec23e Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:47 +0800 Subject: [PATCH 155/191] New translations border-radius.zh-CN.json (English) --- en/en/border-radius.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/border-radius.zh-CN.json diff --git a/en/en/border-radius.zh-CN.json b/en/en/border-radius.zh-CN.json new file mode 100644 index 0000000000..fca7e24ac7 --- /dev/null +++ b/en/en/border-radius.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 1, + "Title": "边框半径", + "Html": "\r\n

\r\n #\r\n 边框半径\r\n

\n

正在完善...

\n" +} \ No newline at end of file From a1061c3acf8f1eaed45ab18aa047378741dc81b6 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:47 +0800 Subject: [PATCH 156/191] New translations colors.zh-CN.json (English) --- en/en/colors.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/colors.zh-CN.json diff --git a/en/en/colors.zh-CN.json b/en/en/colors.zh-CN.json new file mode 100644 index 0000000000..97c2d82137 --- /dev/null +++ b/en/en/colors.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 2, + "Title": "颜色", + "Html": "\r\n

\r\n #\r\n 颜色\r\n

\n

正在完善...

\n" +} \ No newline at end of file From e4bab0dca3694dc317a8917ecadfeb0d38e84381 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:48 +0800 Subject: [PATCH 157/191] New translations content.zh-CN.json (English) --- en/en/content.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/content.zh-CN.json diff --git a/en/en/content.zh-CN.json b/en/en/content.zh-CN.json new file mode 100644 index 0000000000..3d4a9b83e1 --- /dev/null +++ b/en/en/content.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 3, + "Title": "内容", + "Html": "\r\n

\r\n #\r\n 内容\r\n

\n

正在完善...

\n" +} \ No newline at end of file From e49b81f523ad6b2434e3fc31e1e7b79eb756978a Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:49 +0800 Subject: [PATCH 158/191] New translations display-helpers.zh-CN.json (English) --- en/en/display-helpers.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/display-helpers.zh-CN.json diff --git a/en/en/display-helpers.zh-CN.json b/en/en/display-helpers.zh-CN.json new file mode 100644 index 0000000000..63b93a3c23 --- /dev/null +++ b/en/en/display-helpers.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 4, + "Title": "显示辅助", + "Html": "\r\n

\r\n #\r\n 显示辅助\r\n

\n

正在完善...

\n" +} \ No newline at end of file From 97cf6d490679ba3a7c011b44dfc2576c51f78922 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:50 +0800 Subject: [PATCH 159/191] New translations elevation.zh-CN.json (English) --- en/en/elevation.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/elevation.zh-CN.json diff --git a/en/en/elevation.zh-CN.json b/en/en/elevation.zh-CN.json new file mode 100644 index 0000000000..792f41d417 --- /dev/null +++ b/en/en/elevation.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 5, + "Title": "海拔", + "Html": "\r\n

\r\n #\r\n 海拔\r\n

\n

正在完善...

\n" +} \ No newline at end of file From 2b4378aff8965e9649e01c3adfdd1600e5a3e36c Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:51 +0800 Subject: [PATCH 160/191] New translations float.zh-CN.json (English) --- en/en/float.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/float.zh-CN.json diff --git a/en/en/float.zh-CN.json b/en/en/float.zh-CN.json new file mode 100644 index 0000000000..a60dd0782c --- /dev/null +++ b/en/en/float.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 7, + "Title": "浮动", + "Html": "\r\n

\r\n #\r\n 浮动\r\n

\n

正在完善...

\n" +} \ No newline at end of file From 91f068e4a087ecb1ce87de1ae0f18c2ba4d9f1b2 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:52 +0800 Subject: [PATCH 161/191] New translations contributing.zh-CN.json (English) --- en/en/contributing.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/contributing.zh-CN.json diff --git a/en/en/contributing.zh-CN.json b/en/en/contributing.zh-CN.json new file mode 100644 index 0000000000..c315367a65 --- /dev/null +++ b/en/en/contributing.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 6, + "Title": "贡献", + "Html": "\r\n

\r\n #\r\n 贡献\r\n

\n

MASA Blazor 是由一个可以提交问题、创建请求并提供反馈的出色社区促成的。 我们的工作是让您能够创建令人惊叹的应用程序。 很多时候,你会遇到一些可以改进的东西。 也许你发现了一个 bug,或者你有一个关于额外功能的想法。 太棒了! 克隆 MASA Blazor 仓库即可开始在开发环境中工作。

\n\r\n
 
\r\n

\r\n #\r\n 报告问题\r\n

\n

此仓库的问题列表仅适用于错误报告和功能请求。 不符合规定的问题将立即关闭。 在报告问题之前:

\n
    \n
  • 搜索相似的 issues, 它可能已经被解答了。
  • \n
  • 尝试使用 最新 的版本在可克隆的仓库中以生产预期行为进行复现。
  • \n
  • 请确保复现的是 最小化 和简洁的(代码逻辑)。
  • \n
\n

这些步骤确保我们掌握一切必要的信息,以便迅速细分和解决你的问题。 复制完成后,使用 MASA Blazor Issue Creator 提交一个新问题。

\n

在撰写问题时,请提供尽可能详细的信息。 请注意,“复制步骤”应该是另一个开发人员在单击您的复制链接后应该采取的一系列操作,而不是回忆您是如何发现错误的。

\n" +} \ No newline at end of file From 30053ac68395d3f425447a4aef69f4919a4963e9 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:52 +0800 Subject: [PATCH 162/191] New translations spacing.zh-CN.json (English) --- en/en/spacing.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/spacing.zh-CN.json diff --git a/en/en/spacing.zh-CN.json b/en/en/spacing.zh-CN.json new file mode 100644 index 0000000000..c86b66158e --- /dev/null +++ b/en/en/spacing.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 8, + "Title": "间距", + "Html": "\r\n

\r\n #\r\n 间距\r\n

\n

正在完善...

\n" +} \ No newline at end of file From 3240ecac5564eff6ac1aa02b9960ceb34e19d579 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:53 +0800 Subject: [PATCH 163/191] New translations text-typography.zh-CN.json (English) --- en/en/text-typography.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/text-typography.zh-CN.json diff --git a/en/en/text-typography.zh-CN.json b/en/en/text-typography.zh-CN.json new file mode 100644 index 0000000000..fe4bfa9eee --- /dev/null +++ b/en/en/text-typography.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 9, + "Title": "文本和排版", + "Html": "\r\n

\r\n #\r\n 文本和排版\r\n

\n

正在完善...

\n" +} \ No newline at end of file From a4fbf427be42a17589b5db9d264db820e39eecd5 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:54 +0800 Subject: [PATCH 164/191] New translations transitions.zh-CN.json (English) --- en/en/transitions.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/transitions.zh-CN.json diff --git a/en/en/transitions.zh-CN.json b/en/en/transitions.zh-CN.json new file mode 100644 index 0000000000..fb4a04f35d --- /dev/null +++ b/en/en/transitions.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 10, + "Title": "过度动画", + "Html": "\r\n

\r\n #\r\n 过度动画\r\n

\n

正在完善...

\n" +} \ No newline at end of file From f52ff0e8a281651bcac1e22662813bd10663c1f0 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:57 +0800 Subject: [PATCH 165/191] New translations components.zh-CN.json (English) --- en/en/components.zh-CN.json | 7716 +++++++++++++++++++++++++++++++++++ 1 file changed, 7716 insertions(+) create mode 100644 en/en/components.zh-CN.json diff --git a/en/en/components.zh-CN.json b/en/en/components.zh-CN.json new file mode 100644 index 0000000000..4b3c200a4a --- /dev/null +++ b/en/en/components.zh-CN.json @@ -0,0 +1,7716 @@ +[ + { + "Desc": "

该组件用于通过使用上下文类型,图标和颜色向用户传达重要信息。这些默认类型有4种变体:SuccessInfoWarningError\n。默认图标有助于表示每种类型所描述的不同动作。也可以自定义提示框的许多部分,例如 BorderIconColor 也可以自定义以适应几乎任何情况。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-22T17:46:20.6336992+08:00", + "DemoList": [ + { + "Order": 1, + "Name": "index", + "Title": "使用", + "Description": "

最简单的警报形式是显示消息的平板纸。

\n", + "Code": "\r\n \r\n I'm an Alert Usage Example\r\n \r\n", + "Type": "Demos.Components.Alert.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "border", + "Title": "边框", + "Description": "

Border 属性支持将一个简单的边框添加到提示框的4个边。这可以和 ColorDarkType 这些属性一起使用来,为提示框提供强调作用。

\n", + "Code": "
\r\n \r\n I'm an alert with a top border and red color\r\n \r\n \r\n I'm an alert with a right border and blue-grey color\r\n \r\n \r\n I'm an alert with a bottom border and pink color\r\n \r\n \r\n I'm an alert with a border left type info\r\n \r\n
", + "Type": "Demos.Components.Alert.props.Border", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "coloredBorder", + "Title": "彩色的边框", + "Description": "

ColoredBorder prop 会移除警报背景,以突出 Border 属性 。如果设置了 Type,它将使用类型的默认颜色。如果没有设置 ColorType\n,颜色将默认为所应用的主题的反色(黑色代表浅色,白色/灰色代表深色)。

\n", + "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n Aliquam eu nunc. Fusce commodo aliquam arcu. In consectetuer turpis ut velit. Nulla facilisi..\r\n\r\n Morbi mollis tellus ac sapien. Fusce vel dui. Praesent ut ligula non mi varius sagittis. Vivamus consectetuer hendrerit lacus. Suspendisse enim turpis, dictum sed, iaculis a, condimentum nec, nisi.\r\n \r\n \r\n Vestibulum ullamcorper mauris at ligula. Nam pretium turpis et arcu. Ut varius tincidunt libero. Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo. Morbi nec metus.\r\n \r\n \r\n Sed in libero ut nibh placerat accumsan. Phasellus leo dolor, tempus non, auctor et, hendrerit quis, nisi. Phasellus leo dolor, tempus non, auctor et, hendrerit quis, nisi. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, quis gravida magna mi a libero. Donec elit libero, sodales nec, volutpat a, suscipit non, turpis.\r\n \r\n \r\n Fusce commodo aliquam arcu. Pellentesque posuere. Phasellus tempus. Donec posuere vulputate arcu.\r\n \r\n
", + "Type": "Demos.Components.Alert.props.ColoredBorder", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "dense", + "Title": "紧凑", + "Description": "

Dense 属性会降低提示框的高度来制造出一个简单且紧凑的风格。如果和 Border 属性一起使用,那么边界高度也会一起降低来保持风格统一。

\n", + "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n I'm a dense alert with a type of info\r\n \r\n \r\n I'm a dense alert with the text prop and a type of success\r\n \r\n \r\n I'm a dense alert with the border prop and a type of warning\r\n \r\n \r\n I'm a dense alert with the outlined prop and a type of error\r\n \r\n
", + "Type": "Demos.Components.Alert.props.Dense", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "dismissible", + "Title": "可关闭", + "Description": "

Dismissible 属性将会在提示框的尾部添加一个关闭按钮。点击此按钮将会将它的值设置为 false 且隐藏提示框。你也能够通过绑定 @bind-Value 的值为 true 来恢复提示框。关闭图标会自动应用\naria-label,可以通过修改 CloseLabel 属性或者改变本地设置 close 的值来进行更改它。

\n", + "Code": "
\r\n \r\n Aenean imperdiet. Quisque id odio. Cras dapibus. Pellentesque ut neque. Cras dapibus.\r\n\r\n Vivamus consectetuer hendrerit lacus. Sed mollis, eros et ultrices tempus, mauris ipsum aliquam libero, non adipiscing dolor urna a orci. Sed mollis, eros et ultrices tempus, mauris ipsum aliquam libero, non adipiscing dolor urna a orci. Curabitur blandit mollis lacus. Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo.\r\n \r\n\r\n @if (!visible)\r\n {\r\n
\r\n visible = !visible\">\r\n Reset\r\n \r\n
\r\n }\r\n
\r\n\r\n@code {\r\n bool visible = true;\r\n}", + "Type": "Demos.Components.Alert.props.Dismissible", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 5, + "Name": "icon", + "Title": "图标", + "Description": "

Icon 属性允许你在提示框的开头添加图标。如果提供了 Type,那么将会覆盖默认类型的图标。 此外设置 Icon 属性为 false 将会完全移除图标。

\n", + "Code": "
\r\n \r\n Suspendisse enim turpis, dictum sed, iaculis a, condimentum nec, nisi. Vivamus quis mi. Quisque ut nisi. Maecenas malesuada.\r\n \r\n \r\n Phasellus blandit leo ut odio. Morbi mattis ullamcorper velit. Donec orci lectus, aliquam ut, faucibus non, euismod id, nulla. In ut quam vitae odio lacinia tincidunt.\r\n \r\n \r\n Praesent congue erat at massa. Nullam vel sem. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Proin viverra, ligula sit amet ultrices semper, ligula arcu tristique sapien, a accumsan nisi mauris ac eros. Curabitur at lacus ac velit ornare lobortis.\r\n \r\n
", + "Type": "Demos.Components.Alert.props.Icon", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 6, + "Name": "outlined", + "Title": "轮廓", + "Description": "

Outlined 属性将会反转提示框的风格,它会继承当前应用的 Color 并应用与文本和边框且将其背景透明化。

\n", + "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n
\r\n Lorem Ipsum\r\n
\r\n
Maecenas ullamcorper, dui et placerat feugiat, eros pede varius nisi, condimentum viverra felis nunc et lorem. Duis vel nibh at velit scelerisque suscipit. Praesent blandit laoreet nibh. Aenean posuere, tortor sed cursus feugiat, nunc augue blandit nunc, eu sollicitudin urna dolor sagittis lacus. Etiam sollicitudin, ipsum eu pulvinar rutrum, tellus ipsum laoreet sapien, quis venenatis ante odio sit amet eros.
\r\n
\r\n \r\n Praesent venenatis metus at tortor pulvinar varius. Aenean commodo ligula eget dolor. Praesent ac massa at ligula laoreet iaculis. Vestibulum ullamcorper mauris at ligula.\r\n \r\n \r\n Duis arcu tortor, suscipit eget, imperdiet nec, imperdiet iaculis, ipsum. Suspendisse non nisl sit amet velit hendrerit rutrum. Nullam vel sem. Pellentesque dapibus hendrerit tortor.\r\n \r\n
", + "Type": "Demos.Components.Alert.props.Outlined", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 7, + "Name": "prominent", + "Title": "突出", + "Description": "

Prominent 属性通过增加高度并向图标施加光晕来提供更明显的提示。当同时应用 ProminentDense 时,提示框将会呈现出普通的风格但是会 Prominent 图标特效。

\n", + "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n \r\n \r\n Nunc nonummy metus. Nunc interdum lacus sit amet orci. Nullam dictum felis eu pede mollis pretium. Cras id dui.\r\n \r\n \r\n Take action\r\n \r\n \r\n \r\n \r\n Sed augue ipsum, egestas nec, vestibulum et, malesuada adipiscing, dui. Aenean ut eros et nisl sagittis vestibulum. Sed aliquam ultrices mauris. Donec vitae orci sed dolor rutrum auctor.\r\n \r\n \r\n Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Sed in libero ut nibh placerat accumsan.. Curabitur blandit mollis lacus. Curabitur blandit mollis lacus.\r\n \r\n
", + "Type": "Demos.Components.Alert.props.Prominent", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 8, + "Name": "shaped", + "Title": "形状", + "Description": "

Shaped 属性将在 MAlert 的左上角和右下角添加边界半径。与其他样式的道具类似,Shaped 可以与其他属性(如 Dense, Prominent, Outlined and **\nText**)组合,以创建独特的定制组件。

\n", + "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n I'm a shaped alert with a border-radius at top-left, bottom-right\r\n \r\n \r\n I'm a shaped alert with a outline option\r\n \r\n \r\n I'm a shaped alert with a dense option option\r\n \r\n \r\n I'm a shaped alert with a dense prominent option that Praesent blandit laoreet nibh. Praesent nonummy mi in odio. Phasellus tempus. Mauris turpis nunc, blandit et, volutpat molestie, porta ut, ligula. Duis leo.\r\n \r\n
", + "Type": "Demos.Components.Alert.props.Shaped", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 8, + "Name": "text", + "Title": "文本", + "Description": "

Text 属性是一个简单的提示框变量,它对所提供的 Color 使用不透明的背景。类似于其他样式的属性,可与 Dense, Prominent, Outlined and Shaped\n等其他属性结合使用,以创建独特的定制组件。

\n", + "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n

\r\n Lorem Ipsum\r\n

\r\n
Maecenas nec odio et ante tincidunt tempus. Sed mollis, eros et ultrices tempus, mauris ipsum aliquam libero, non adipiscing dolor urna a orci. Proin viverra, ligula sit amet ultrices semper, ligula arcu tristique sapien, a accumsan nisi mauris ac eros. Curabitur turpis.
\r\n\r\n \r\n\r\n \r\n \r\n Proin magna. Vivamus in erat ut urna cursus vestibulum. Etiam imperdiet imperdiet orci.\r\n \r\n \r\n \r\n \r\n Okay\r\n \r\n \r\n \r\n
\r\n \r\n Nullam tincidunt adipiscing enim. In consectetuer turpis ut velit. Maecenas egestas arcu quis ligula mattis placerat. Praesent metus tellus, elementum eu, semper a, adipiscing nec, purus.\r\n \r\n \r\n Vestibulum ullamcorper mauris at ligula. Nulla porta dolor. Vestibulum facilisis, purus nec pulvinar iaculis, ligula mi congue nunc, vitae euismod ligula urna in dolor. Curabitur at lacus ac velit ornare lobortis.\r\n \r\n \r\n Praesent blandit laoreet nibh. Praesent nonummy mi in odio. Phasellus tempus. Mauris turpis nunc, blandit et, volutpat molestie, porta ut, ligula. Duis leo.\r\n \r\n
", + "Type": "Demos.Components.Alert.props.Text", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 8, + "Name": "transition", + "Title": "过渡", + "Description": "

Transition 属性可让你向提示框应用一个过渡,该动画在隐藏和显示组件时可见。 你可以在 内建过渡 浏览更多信息。

\n", + "Code": "
\r\n
\r\n _alert = !_alert\">\r\n Toggle\r\n \r\n
\r\n \r\n Phasellus tempus. Fusce ac felis sit amet ligula pharetra condimentum. In dui magna, posuere eget, vestibulum et, tempor auctor, justo. Pellentesque posuere. Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo.\r\n\r\n Phasellus nec sem in justo pellentesque facilisis. Phasellus magna. Cras risus ipsum, faucibus ut, ullamcorper id, varius ac, leo. In hac habitasse platea dictumst. Praesent turpis.\r\n \r\n
\r\n\r\n @code {\r\n private bool _alert = true;\r\n }", + "Type": "Demos.Components.Alert.props.Transition", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 8, + "Name": "twitter", + "Title": "Twitter", + "Description": "

通过将 ColorDismissibleBorderElevationIconColoredBorder 属性组合在一起,你可以创建时尚的自定义提醒,比如这个 twitter\n通知。

\n", + "Code": "
\r\n
\r\n \r\n You've got 5 new updates on your timeline!.\r\n \r\n\r\n
\r\n @if (!_alert)\r\n {\r\n _alert = true\">\r\n Reset Alert\r\n \r\n }\r\n
\r\n
\r\n
\r\n\r\n@code{\r\n private bool _alert = true;\r\n}", + "Type": "Demos.Components.Alert.props.Twitter", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 9, + "Name": "type", + "Title": "类型", + "Description": "

Type 属性提供 4 种默认的样式:Success, Info, Warning, 和 Error。每个样式都提供默认图标和颜色。

\n", + "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n I'm a success alert.\r\n \r\n\r\n \r\n I'm an info alert.\r\n \r\n\r\n \r\n I'm a warning alert.\r\n \r\n\r\n \r\n I'm an error alert.\r\n \r\n
", + "Type": "Demos.Components.Alert.props.Type", + "Style": "", + "Debug": false, + "Group": 0 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/buttons", + "/components/icons", + "/components/dialogs" + ], + "Subtitle": "提示框", + "Title": "Alerts", + "Type": "提示框" + }, + { + "Desc": "

在 MASA.Blazor 中,MApp 组件和 MNavigationDrawerMAppBarMFooter 等组件上的 App 属性,帮助你的应用围绕 MMain 组件进行适当的大小调整。\n这使你可以创建真正独特的界面,无需因管理布局尺寸而烦恼。 所有应用都需要 MApp 组件。 这是许多 MASA Blazor 组件和功能的挂载点,并确保它将默认的应用主题\n(Dark/Light)传递给子组件,并确保在浏览器中对某些点击事件的正确跨浏览器支持。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n\n

为了让你的应用正常工作,你必须将其包裹在 MApp 组件中。 该组件是确保正确的跨浏览器兼容性所必需的。

\n\n\n

如果你在应用中使用多个布局,你需要确保每个包含组件的根布局文件在其模板的根部有一个 MApp

\n\n", + "默认应用标记": "\n

这是一个默认应用标记的例子。 只要设置 App 属性,你可以将布局元素放在任何地方。此处的关键组件是MMain。它将会根据您分配的 app\n组件动态地调整大小。你可以使用上述任何或所有组件的组合,包括 MBottomNavigation

\n
<!-- MainLayout.razor -->\n@inherits LayoutComponentBase\n\n<MApp>\n  <MNavigationDrawer App>\n    <!-- -->\n  </MNavigationDrawer>\n\n  <MAppBar App>\n    <!-- -->\n  </MAppBar>\n\n  <!-- 根据应用组件来调整你的内容 -->\n  <MMain>\n    <!-- 给应用提供合适的间距 -->\n    <MContainer Fluid>\n        @Body\n    </MContainer>\n  </MMain>\n\n  <MFooter App>\n    <!-- -->\n  </MFooter>\n</MApp>\n
\n\n

设置 App 属性会自动给布局元素设置 position: fixed。 如果你的应用程序需要一个绝对定位元素,你可以使用 Absolute 属性来覆盖这个功能。

\n\n", + "应用组件": "\n

以下是所有支持 App 属性的组件列表,这些组件可以在你的应用中用作布局元素。 这些组件可以混合和匹配,并且每个特定组件在任何时候都只能存在一个。 不过,你可以把它们换掉,布局也能适应。\n有关如何构建各种布局的一些示例,请查看预制布局页面。

\n

每一个应用组件都有一个指定的位置和优先级,影响布局系统中的位置。

\n
    \n
  • MAppBar:总是放在应用顶部,优先级低于 MSystemBar
  • \n
  • MBottomNavigation:总是放在应用底部,优先级高于 MFooter
  • \n
  • MFooter:总是放在应用底部,优先级低于 MBottomNavigation
  • \n
  • MNavigationDrawer:可以放置在应用的左边或右边,并且可以配置在 MAppBar 的旁边或下面。
  • \n
  • MSystemBar:总是放在应用顶部,优先级高于 MAppBar
  • \n
\n", + "应用服务": "\n

应用服务用于配置你的布局。 它与 MMain 组件通信,以便它能够正确地调整应用内容。 它有一些可以访问的属性:

\n
double Bar { get; }\ndouble Bottom { get; }\ndouble Footer { get; }\ndouble InsetFooter { get; }\ndouble Left { get; }\ndouble Right { get; }\ndouble Top { get; }\n
\n

当你使用 App 属性添加和删除组件时,这些值会自动更新。 它们是不可编辑的,并且以只读状态存在。 你可以通过引用 Application 对象的应用属性来访问这些值。

\n
 [Inject] public GlobalConfig GlobalConfig { get; set; }\n \n Console.WriteLine(GlobalConfig.Application.Footer); // 60\n
\n\n

为了让你的应用正常工作,你必须将其包裹在 MApp 组件中。 该组件是确保正确的跨浏览器兼容性所必需的。

\n\n" + }, + "LastWriteTime": "0001-01-01T00:00:00", + "DemoList": [], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/features/theme", + "/components/app-bars", + "/components/navigation-drawers" + ], + "Subtitle": "应用程序", + "Title": "Application", + "Type": "应用程序" + }, + { + "Desc": "

MResponsive 组件可用于将任何部分固定到特定的宽高比。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.4382487+08:00", + "DemoList": [ + { + "Order": 1, + "Name": "basic", + "Title": "使用", + "Description": "

指定自定义长宽比

\n", + "Code": "
\r\n \r\n \r\n \r\n This card will always be 16:9 (unless you put more stuff in it)\r\n \r\n \r\n \r\n
", + "Type": "Demos.Components.AspectRatios.usage.Basic", + "Style": "", + "Debug": false, + "Group": 4 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/cards", + "/components/sheets", + "/components/images" + ], + "Subtitle": "长宽比", + "Title": "Aspect ratios", + "Type": "长宽比" + }, + { + "Desc": "

MAvatar 组件通常用于显示用户个人资料图片。 此组件允许您动态添加设置响应图像、图标和文字的边框半径。 ** tile ** 变量可用来显示无边框半径的头像。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-12-02T18:38:45.4260729+08:00", + "DemoList": [ + { + "Order": 1, + "Name": "index", + "Title": "使用", + "Description": "

头像以最简单的形式在圆形容器中显示内容。

\n", + "Code": "
\r\n \r\n VJ\r\n \r\n
", + "Type": "Demos.Components.Avatar.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "size", + "Title": "尺寸", + "Description": "

size属性允许你定义m-avatar的高度和宽度。此属性以1的纵横比均匀缩放。height和width属性将覆盖此属性。

\n", + "Code": "\r\n \r\n 36\r\n \r\n\r\n \r\n 48\r\n \r\n\r\n \r\n 62\r\n \r\n\r\n", + "Type": "Demos.Components.Avatar.props.Size", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "tile", + "Title": "方块", + "Description": "

tile属性移除了m-avatar的边界半径,只留下一个简单的方形头像。

\n", + "Code": "
\r\n \r\n mdi-alarm\r\n \r\n
\r\n", + "Type": "Demos.Components.Avatar.props.Tile", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "default", + "Title": "默认值", + "Description": "

m-avatar 默认插槽将接受 m-icon 组件、图像或文本。 将这些道具与其他道具混合搭配以创造独特的东西。

\n", + "Code": "\r\n\t\r\n\t\tmdi-account-circle\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\tCJ\r\n\t\r\n", + "Type": "Demos.Components.Avatar.contents.Default", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 5, + "Name": "businesscard", + "Title": "个人名片", + "Description": "

使用 tile prop,我们可以创建一个名片。

\n", + "Code": "\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tMarcus Obrien\r\n\t\t\t\t\t\tNetwork Engineer\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n", + "Type": "Demos.Components.Avatar.misc.BusinessCard", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 4, + "Name": "menu", + "Title": "菜单", + "Description": "

你可以将头像和菜单结合起来。

\n", + "Code": "\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t@initials\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t@initials\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t

@fullName

\r\n\t\t\t\t\t\t\t

@email

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tEdit Account\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tDisconnect\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n@code {\r\n\tstring initials = \"JD\";\r\n\tstring fullName = \"John Doe\";\r\n\tstring email = \"john.doe@doe.com\";\r\n}", + "Type": "Demos.Components.Avatar.misc.Menu", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 3, + "Name": "other", + "Title": "高级用法", + "Description": "

将头像与其他组件组合在一起,你就可以构建漂亮的用户界面。

\n", + "Code": "\r\n\t\r\n\t\t\r\n\t\t\tToday\r\n\t\t\r\n\t\t\r\n\t\t\t@foreach(var message in Messages)\r\n\t\t\t{\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t@if(!string.IsNullOrWhiteSpace(message.Avatar)) \r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t} \r\n\t\t\t\t\t\t\t\t\telse \r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t@message.Icon\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t@message.Name\r\n\t\t\t\t\t\t\t\t@if(message.Total > 0) \r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t@($\"({message.Total})\")\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t@if(message.New > 0) \r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t@($\"{message.New} new\")\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@message.Title\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t@if(!string.IsNullOrWhiteSpace(message.Excerpt)) \r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t@message.Excerpt\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t@_lorem\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\r\n\t\r\n\r\n\r\n@code\r\n{\r\n private string _lorem = \"Lorem ipsum dolor sit amet, at aliquam vivendum vel, everti delicatissimi cu eos.\" + \r\n\t\t\" Dico iuvaret debitis mel an, et cum zril menandri. Eum in consul legimus accusam. Ea dico abhorreant duo,\" + \r\n\t\t\" quo illum minimum incorrupte no, nostro voluptaria sea eu. Suas eligendi ius at, at nemore equidem est.\" + \r\n\t\t\" Sed in error hendrerit, in consul constituam cum.\";\r\n\r\n private class MessageDemo\r\n {\r\n public int Key { get; set; }\r\n public string Avatar { get; set; }\r\n public string Color { get; set; }\r\n public string Icon { get; set; }\r\n public string Name { get; set; }\r\n public int Total { get; set; }\r\n public int New { get; set; }\r\n public string Title { get; set; }\r\n public string Excerpt { get; set; }\r\n }\r\n\r\n private List Messages = new()\r\n {\r\n new () \r\n\t\t{ \r\n\t\t\tKey = 1,\r\n\t\t\tAvatar = \"https://avatars0.githubusercontent.com/u/9064066?v=4&s=460\", \r\n\t\t\tName = \"John Leider\",\r\n\t\t\tTotal = 0,\r\n\t\t\tTitle = \"Welcome to MASA Blazor!\",\r\n\t\t\tExcerpt = \" — Thank you for joining our community... \"\r\n\t\t},\r\n new () \r\n\t\t{ \r\n\t\t\tKey = 2,\r\n\t\t\tIcon = \"mdi-account-multiple\",\r\n\t\t\tColor = \"red\", \r\n\t\t\tName = \"Social\",\r\n\t\t\tTotal = 3,\r\n\t\t\tTitle = \"Twitter\", \r\n\t\t\tNew = 1 \r\n\t\t},\r\n new () \r\n\t\t{ \r\n\t\t\tKey = 3,\r\n\t\t\tIcon = \"mdi-tag\", \r\n\t\t\tColor = \"teal\", \r\n\t\t\tName = \"Promos\",\r\n\t\t\tTotal = 4,\r\n\t\t\tTitle = \"Shop your way\", \r\n\t\t\tNew = 2 \r\n\t\t}\r\n };\r\n}", + "Type": "Demos.Components.Avatar.misc.Other", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Avatars.svg", + "Cols": 1, + "Related": [ + "/components/badges", + "/components/icons", + "/components/lists" + ], + "Subtitle": "头像", + "Title": "Avatars", + "Type": "头像" + }, + { + "Desc": "

MBadge组件可以上覆或订阅一个像头像的图标,或者内容上的文本来突出显示用户的信息,或只是提请注意某个特定元素。 徽章中的内容通常包含数字或图标。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-26T16:40:15.5637749+08:00", + "DemoList": [ + { + "Order": 1, + "Name": "basic", + "Title": "使用", + "Description": "

最简单形式的徽章显示在它包装的内容的右上角,并且需要徽章插槽。

\n", + "Code": "
\r\n \r\n mdi-vuetify\r\n \r\n
", + "Type": "Demos.Components.Badge.usage.Basic", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "customize", + "Title": "自定义选项", + "Description": "

MBadge组件是灵活的,可以用于众多元素的各种使用案例。 调整位置的选项也可以通过 offset-x 和 offset-y props。

\n", + "Code": "\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\tLock Account\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t
\r\n
", + "Type": "Demos.Components.Badge.misc.Customize", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 1, + "Name": "dynamicnotification", + "Title": "动态通知", + "Description": "

你可以将徽章与动态内容合并,以创建通知系统之类的东西。

\n", + "Code": "\r\n\t\r\n\t\t
\r\n\t\t\tSend Message\r\n\t\t\t\r\n\t\t\tClear Notifications\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\tmdi-vuetify\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t
\r\n
\r\n\r\n@code\r\n{\r\n private int _message = 0;\r\n\r\n private void Send() => _message++;\r\n\r\n private void Clear() => _message = 0;\r\n}", + "Type": "Demos.Components.Badge.misc.DynamicNotification", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 2, + "Name": "hover", + "Title": "鼠标悬停显示", + "Description": "

你可以用可见性控制做很多事情,例如,在鼠标悬停时显示徽章。

\n", + "Code": "
\r\n \r\n \r\n \r\n mdi-account\r\n \r\n \r\n \r\n
\r\n\r\n @code{\r\n private bool _hover;\r\n }", + "Type": "Demos.Components.Badge.misc.Hover", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 3, + "Name": "tabs", + "Title": "标签页", + "Description": "

徽章有助于以各种方式向用户传递信息。

\n", + "Code": "\r\n \r\n \r\n \r\n Item One\r\n \r\n \r\n \r\n \r\n Item Two\r\n \r\n \r\n \r\n \r\n Item Three\r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Badge.misc.Tabs", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/avatars", + "/components/icons", + "/components/toolbars" + ], + "Subtitle": "徽章", + "Title": "Badges", + "Type": "徽章" + }, + { + "Desc": "

MBanner组件被用来作为向用户发送1-2动作的中间段描述信息。 它有两个变量单行and多行(默认多行展示)。 这些图标可以与您的消息和操作一起使用。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.4462475+08:00", + "DemoList": [ + { + "Order": 1, + "Name": "basic", + "Title": "使用", + "Description": "

横幅可以有 1-2 行文本、动作和图标。

\n", + "Code": "
\r\n \r\n A banner for use on desktop / mobile \r\n \r\n
", + "Type": "Demos.Components.Banner.usage.Basic", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "singleLine", + "Title": "单行亮色主题", + "Description": "

单行 MBanner 用于少量信息,建议仅用于桌面实现。 您可以选择启用粘性道具以确保内容固定在屏幕上(注意:在 IE11 中不起作用)。

\n", + "Code": "\r\n\t\r\n\t\r\n\t\t\r\n\t\t\tMy Document\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n\t\t\r\n\t\t\tWe can't save your edits while you are in offline mode.\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\tGet Online\r\n\t\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\r\n
\r\n\r\n@code\r\n{\r\n\tprivate bool _sticky = false;\r\n}", + "Type": "Demos.Components.Banner.props.SingleLine", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "iconClick", + "Title": "图标事件", + "Description": "

横幅上的图标在点击时发出 click:icon 事件,该事件带有自定义图标插槽。

\n", + "Code": "\r\n\t\r\n\t\tmdi-wifi-strength-alert-outline\r\n\t\t\r\n\t\r\n\t\r\n\t\tUnable to verify your Internet connection\r\n\t\r\n\t\r\n\t\t\r\n\t\t\tConnection Settings\r\n\t\t\r\n\t\r\n\r\n\r\n@code\r\n{\r\n\t[Inject]\r\n\tprivate IJSRuntime Js { get; set; }\r\n\r\n\tprivate void Alert()\r\n\t{\r\n\t\tJs.InvokeVoidAsync(\"alert\", \"Hello world!\");\r\n\t}\r\n}", + "Type": "Demos.Components.Banner.events.IconClick", + "Style": "", + "Debug": false, + "Group": 1 + }, + { + "Order": 2, + "Name": "actions", + "Title": "行为", + "Description": "

Actions 插槽在其范围内具有 dismiss 功能,你可以使用它来轻松地隐藏横幅。

\n", + "Code": "
\r\n\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\tNo Internet connection\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\tDismiss\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tRetry\r\n\t\t\t\r\n\t\t\r\n\t\r\n
\r\n\r\n@code\r\n{\r\n\tprivate bool _sticky = true;\r\n}", + "Type": "Demos.Components.Banner.contents.Actions", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 4, + "Name": "icon", + "Title": "图标", + "Description": "

图标插槽允许你明确控制其包含的内容和功能。

\n", + "Code": "\r\n\t\r\n\t\tThree line text string example with two actions. One to two lines is preferable. Three lines should be considered the maximum string length on desktop in order to keep messages short and actionable.\r\n\t\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\tmdi-lock\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\tAction\r\n\t\t\r\n\t\t\r\n\t\t\tAction\r\n\t\t\r\n\t\r\n", + "Type": "Demos.Components.Banner.contents.Icon", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 5, + "Name": "twoline", + "Title": "两行", + "Description": "

两行MBanner可以存储更大的数据量,用于大消息。 这是推荐的移动实现。

\n", + "Code": "\r\n\t\r\n\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent cursus nec sem id malesuada. Curabitur lacinia sem et turpis euismod, eget elementum ex pretium.\r\n\t\r\n\t\r\n\t\t\r\n\t\t\tDismiss\r\n\t\t\r\n\t\t\r\n\t\t\tRetry\r\n\t\t\r\n\t\r\n", + "Type": "Demos.Components.Banner.misc.TwoLine", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/alerts", + "/components/icons", + "/components/snackbars" + ], + "Subtitle": "横幅", + "Title": "Banners", + "Type": "横幅" + }, + { + "Desc": "

MAppBar 组件对于任何图形用户界面 (GUI) 都是至关重要的,因为它通常是网站导航的主要来源。MAppBarMNavigationDrawer 结合在一起为应用程序提供站点导航。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "功能组件": "\n
    \n
  • MAppBarNavIcon:专门为与 MToolbarMAppBar 一起使用而创建的样式化图标按钮组件。 在工具栏的左侧显示为汉堡菜单,它通常用于控制导航抽屉的状态。 默认插槽可以用于自定义此组件的图标和功能。
  • \n
  • MAppBarTitle:修改过的 MToolbarTitle 组件 ,用于配合 ShrinkOnScroll 属性使用。 在小屏幕上,MToolbarTitle\n将被截断,但这个组件在展开时使用了绝对定位使其内容可见。 我们不建议您在没有使用 ShrinkOnScroll 属性时使用 MAppBarTitle 组件。确实是因为向此组件添加了resize事件,并进行了很多额外的计算。
  • \n
\n", + "注意事项": "\n\n

当在 MToolbarMAppBar 内部使用带有 Icon 属性的 MButton 时,它们将自动增大其尺寸并应用负边距,以确保根据Material设计规范的适当间距。\n如果您选择将按钮包装在任何容器例如div中,则需要对该容器应用负边距,以便正确对齐它们。

\n\n" + }, + "LastWriteTime": "2021-11-22T17:46:11.4558363+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

MAppBar 组件用于应用程序范围内的操作和信息。

\n", + "Code": "\r\n \r\n\r\n\r\n", + "Type": "Demos.Components.Bars.children.AppBar.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "collapsibleBars", + "Title": "可折叠栏", + "Description": "

借助 CollapseCollapseOnScroll 属性,简单的实现toolbar与用户的交互。

\n", + "Code": "\r\n \r\n \r\n Collapsing Bar\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool collapseOnScroll = true;\r\n}", + "Type": "Demos.Components.Bars.children.AppBar.props.CollapsibleBars", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "dense", + "Title": "紧凑", + "Description": "

您可以使 MAppBar 更加紧凑。 紧凑应用栏的高度低于普通应用栏。

\n", + "Code": "
\r\n \r\n \r\n\r\n Page title\r\n\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n var n = i + 1;\r\n {}\">\r\n Option @n\r\n \r\n }\r\n \r\n \r\n \r\n \r\n
", + "Type": "Demos.Components.Bars.children.AppBar.props.Dense", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "elevateOnScroll", + "Title": "滚动时的高度(Z轴)", + "Description": "

使用 ElevateOnScroll 属性时,MAppBar 默认的高度为 0dp,当用户开始向下滚动时,高度会升至 4dp。

\n", + "Code": "\r\n \r\n \r\n Title\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n mdi-heart\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n\r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Bars.children.AppBar.props.ElevateOnScroll", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "fadeImageOnScroll", + "Title": "滚动时淡入淡出图像", + "Description": "

The background image of a MAppBar can fade on scroll. Use the FadeImgOnScroll property for this.

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Title\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n mdi-heart\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n\r\n \r\n \r\n \r\n Tab 1\r\n Tab 2\r\n Tab 3\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Bars.children.AppBar.props.FadeImageOnScroll", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "hiddenOnScroll", + "Title": "滚动隐藏", + "Description": "

当设置了HideOnScroll 属性,MAppBar 向下滚动时会被隐藏。

\n", + "Code": "\r\n \r\n \r\n Title\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n mdi-heart\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n\r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Bars.children.AppBar.props.HiddenOnScroll", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "images", + "Title": "图像", + "Description": "

MAppBar 可以包含背景图像。您可以通过 Src 属性设置。 如果您需要自定义 MImage,应用栏将为您提供一个 ImgContent 插槽。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Title\r\n \r\n \r\n mdi-magnify\r\n \r\n \r\n mdi-heart\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Bars.children.AppBar.props.Images", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "inverted", + "Title": "滚动反转", + "Description": "

When using the InvertedScroll property, the bar will hide until the user scrolls past the designated threshold. Once\npast the threshold, the MAppBar will continue to display until the users scrolls up past the threshold. If no **\nScrollThreshold** value is supplied a default value of 0 will be used.

\n", + "Code": "\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n \r\n\r\n mdi-dots-vertical\r\n \r\n\r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Bars.children.AppBar.props.Inverted", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "prominent", + "Title": "突出", + "Description": "

一个带有 Prominent 属性的 MAppBar 可以被设置为随着用户滚动而收缩。 当用户滚动浏览内容时,这提供了一个平滑的过渡,以减少视觉空间占用。 收缩高度有 Dense(紧密,48px)和 Short\n(短,56px)两种选择。

\n", + "Code": "\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Bars.children.AppBar.props.Prominent", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "scrollThreshold", + "Title": "滚动阈值", + "Description": "

MAppBar can have scroll threshold. It will start reacting to scroll only after defined via ScrollThreshold\nproperty amount of pixels.

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Bars.children.AppBar.props.ScrollThreshold", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "menu", + "Title": "菜单", + "Description": "

您可以通过添加 MMenu 来轻松地扩展应用栏的功能。 单击最后一个图标以查看其运行情况。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n @item\r\n \r\n }\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Tab 1\r\n Tab 2\r\n Tab 3\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n readonly List items = new()\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\",\r\n };\r\n\r\n}", + "Type": "Demos.Components.Bars.children.AppBar.misc.Menu", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 1, + "Name": "toggleNavigationDrawers", + "Title": "切换导航抽屉", + "Description": "

使用函数式组件 MAppBarNavIcon 可以切换其他组件的状态,例如 MNavigationDrawer

\n", + "Code": "\r\n \r\n drawer = true\">\r\n\r\n Title\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n mdi-home\r\n \r\n Home\r\n \r\n\r\n \r\n \r\n mdi-account\r\n \r\n Account\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool drawer;\r\n StringNumber group;\r\n}", + "Type": "Demos.Components.Bars.children.AppBar.misc.ToggleNavigationDrawers", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/AppBars.svg", + "Cols": 1, + "Related": [ + "/components/buttons", + "/components/icons", + "/components/toolbars" + ], + "Subtitle": "应用栏", + "Title": "App bars", + "Type": "应用栏" + }, + { + "Desc": "

MSystemBar 组件可以用于向用户显示状态。 它看起来像Android系统栏,可以包含图标、空格和一些文本。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.4502473+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "color", + "Title": "颜色", + "Description": "

您可以选择使用 color 更改 MSystemBar 的颜色。

\n", + "Code": "
\r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n
\r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n
\r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n
", + "Type": "Demos.Components.Bars.children.SystemBar.demo.Color", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "lightout", + "Title": "熄灯", + "Description": "

您可以使用 lights-out 属性来降低 MSystemBar 的不透明度。

\n", + "Code": "
\r\n Lights out (light)\r\n \r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n \r\n Lights out (dark)\r\n \r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n \r\n
", + "Type": "Demos.Components.Bars.children.SystemBar.demo.LightOut", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "theme", + "Title": "主题", + "Description": "

可以将dark或light主题变量应用于MSystemBar。

\n", + "Code": "
\r\n Light status bar\r\n \r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n \r\n Dark status bar\r\n \r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n \r\n
", + "Type": "Demos.Components.Bars.children.SystemBar.demo.Theme", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "window", + "Title": "窗口", + "Description": "

带有窗口控件和状态信息的窗口栏。

\n", + "Code": "
\r\n \r\n mdi-message\r\n 10 unread messages\r\n \r\n mdi-minus\r\n mdi-checkbox-blank-outline\r\n mdi-close\r\n \r\n
", + "Type": "Demos.Components.Bars.children.SystemBar.demo.Window", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "basic", + "Title": "使用", + "Description": "

MSystemBar 最最简单的形式是显示一个带有默认主题的小容器。

\n", + "Code": "\r\n \r\n \r\n \r\n mdi-message\r\n 10 unread messages\r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n \r\n \r\n\r\n\r\n", + "Type": "Demos.Components.Bars.children.SystemBar.usage.Basic", + "Style": "", + "Debug": false, + "Group": 4 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/buttons", + "/components/toolbars", + "/components/tabs" + ], + "Subtitle": "系统栏", + "Title": "System bars", + "Type": "系统栏" + }, + { + "Desc": "

MToolbar 组件对于任何 GUI 都是至关重要的,因为它通常是站点导航的主要来源。 工具栏组件与 MNavigationDrawerMCard 配合使用非常有效。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "注意": "\n\n

当在 MToolbarMAppBar 内部使用带有 Icon prop的 MButton 时,它们将自动增大其尺寸并应用负边距,以确保根据Material设计规范的适当间距。\n如果您选择将您的按钮包装在任何容器中,例如div, 您需要对容器应用负边距,以便正确对齐。

\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.4602468+08:00", + "DemoList": [ + { + "Order": 1, + "Name": "basic", + "Title": "使用", + "Description": "

工具栏是一个灵活的容器,可以通过多种方式使用。 默认情况下,工具栏在桌面上是64px高,在移动设备上是56px高。 有许多辅助组件可供工具栏使用。 MToolbarTitle 用于显示标题并且 MToolbarItems 允许 MButton 扩展全高度。

\n", + "Code": "\r\n \r\n", + "Type": "Demos.Components.Bars.children.Toolbar.usage.Basic", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "background", + "Title": "背景", + "Description": "

工具栏可以使用 src 属性显示背景而不是纯色。 这可以通过使用 img 插槽并提供您自己的 MImage 组件来修改。\n可以使用 MAppBar 使背景淡入淡出

\n", + "Code": "
\r\n \r\n \r\n\r\n MASA Blazor\r\n\r\n \r\n\r\n \r\n mdi-export\r\n \r\n \r\n
", + "Type": "Demos.Components.Bars.children.Toolbar.props.Background", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "collapse", + "Title": "折叠", + "Description": "

可以折叠工具栏以节省屏幕空间。

\n", + "Code": "\r\n \r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n", + "Type": "Demos.Components.Bars.children.Toolbar.props.Collapse", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "denseToolbars", + "Title": "紧凑工具栏", + "Description": "

紧凑工具栏将其高度降低到 48px。 当与 prominent prop 同时使用时,将会将高度降低到 96px。

\n", + "Code": "\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n", + "Type": "Demos.Components.Bars.children.Toolbar.props.DenseToolbars", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "extended", + "Title": "扩展", + "Description": "

工具栏可以在不使用 扩展 插槽的情况下扩展。

\n", + "Code": "\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n", + "Type": "Demos.Components.Bars.children.Toolbar.props.Extended", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "extensitionHeight", + "Title": "扩展高度", + "Description": "

扩展的高度可以定制。

\n", + "Code": "\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n ", + "Type": "Demos.Components.Bars.children.Toolbar.props.ExtensitionHeight", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "floatingWithSearch", + "Title": "搜索时浮动", + "Description": "

浮动工具栏变成内联元素,只占用所需空间的。 这在将工具栏放置在内容上时特别有用。

\n", + "Code": "\r\n \r\n \r\n\r\n \r\n mdi-crosshairs-gps\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n ", + "Type": "Demos.Components.Bars.children.Toolbar.props.FloatingWithSearch", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "lightAndDark", + "Title": "浅色和深色", + "Description": "

工具栏有 2 种变体,浅色和深色。 浅色工具栏具有深色按钮和深色文本,而深色工具栏具有白色按钮和白色文本。

\n", + "Code": "\r\n \r\n \r\n
\r\n \r\n \r\n mdi-arrow-left\r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n mdi-reply\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n
\r\n
\r\n
\r\n
", + "Type": "Demos.Components.Bars.children.Toolbar.props.LightAndDark", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "prominentToolbars", + "Title": "突出的工具栏", + "Description": "

突出的工具栏将 MToolbar 的高度增加到 128px ,并将 MToolbarTitle 放置到容器底部。 在 MApp 中扩展了这个功能,能够将\nprominent 的工具栏缩小到 紧凑 工具栏或 工具栏。

\n", + "Code": "\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n ", + "Type": "Demos.Components.Bars.children.Toolbar.props.ProminentToolbars", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "contextualActionBar", + "Title": "上下文操作栏", + "Description": "

可以更新工具栏的外观以响应应用程序状态的改变。 在本例中,工具栏的颜色和内容会随着用户在 MSelect 中的选择而改变。

\n", + "Code": "\r\n 0 ? \"grey darken-4\" : \"deep-purple accent-4\")\"\r\n Dark>\r\n @if (!(_selection.Count > 0))\r\n {\r\n \r\n }\r\n else\r\n {\r\n _selection = new List()\">\r\n mdi-close\r\n \r\n }\r\n\r\n \r\n @(_selection.Count>0 ? $\"{_selection.Count} selected\" : \"Photos\")\r\n \r\n\r\n \r\n\r\n \r\n 0)\"\r\n Icon>\r\n mdi-export-variant\r\n \r\n \r\n \r\n 0)\"\r\n Icon>\r\n mdi-delete\r\n \r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n r\"\r\n ItemText=\"r=>r\"\r\n Multiple\r\n Label=\"Select an option\">\r\n \r\n\r\n\r\n@code {\r\n private List _selection = new List();\r\n private List _items = new List\r\n {\r\n \"Foo\", \"Bar\", \"Fizz\", \"Buzz\"\r\n };\r\n}", + "Type": "Demos.Components.Bars.children.Toolbar.misc.ContextualActionBar", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 1, + "Name": "flexibleAndCardToolbar", + "Title": "灵活的卡片工具栏", + "Description": "

在本例中,我们使用 extended prop 将卡片偏移到工具栏的扩展内容区域。

\n", + "Code": "\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Title\r\n \r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-apps\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n", + "Type": "Demos.Components.Bars.children.Toolbar.misc.FlexibleAndCardToolbar", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 1, + "Name": "variations", + "Title": "变量", + "Description": "

MToolbar 有多个变量,可以应用主题和辅助类。 这些主题包括浅色和深色的主题、彩色和透明。

\n", + "Code": "\r\n @for (var i = 0; i < _bars.Count; i++)\r\n {\r\n var bar = _bars[i];\r\n \r\n \r\n \r\n \r\n Title\r\n \r\n \r\n mdi-magnify\r\n \r\n \r\n mdi-heart\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n }\r\n\r\n\r\n@code {\r\n class Bar\r\n {\r\n public string Class { get; set; }\r\n\r\n public bool Dark { get; set; }\r\n }\r\n private List _bars = new List\r\n {\r\n new Bar\r\n {\r\n Class=\"\"\r\n },\r\n new Bar\r\n {\r\n Class=\"class\",\r\n Dark=true\r\n },\r\n new Bar\r\n {\r\n Class=\"primary\",\r\n Dark=true\r\n },\r\n new Bar\r\n {\r\n Class=\"elevation-0\"\r\n }\r\n };\r\n}", + "Type": "Demos.Components.Bars.children.Toolbar.misc.Variations", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/buttons", + "/components/footer", + "/components/tabs" + ], + "Subtitle": "工具栏", + "Title": "Toolbars", + "Type": "工具栏" + }, + { + "Desc": "

边框组件可以给任何内容添加一个额外的边框。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-12-02T18:38:45.4654435+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "border", + "Title": "边框定位", + "Description": "

设置 Border 属性,可自定义边框的位置。默认值为 Borders.Left

\n", + "Code": "\r\n \r\n \r\n Card Title\r\n Card Subtitle\r\n \r\n \r\n

Greyhound divisively hello coldly wonderfully marginally far upon excluding.

\r\n
\r\n \r\n \r\n fas fa-edit\r\n edit\r\n \r\n \r\n fas fa-share-square\r\n share\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n private Borders _border = Borders.Bottom;\r\n}", + "Type": "Demos.Components.Border.props.Border", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "offset", + "Title": "偏移", + "Description": "

添加 Offset 属性,可控制边框偏移到子元素之外。

\n", + "Code": "\r\n \r\n REPORTS\r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item.Icon\r\n \r\n \r\n @item.Text\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n readonly Item[] items = new[]\r\n {\r\n new Item { Text = \"Real-Time\", Icon = \"mdi-clock\" },\r\n new Item { Text = \"Audience\", Icon = \"mdi-account\" },\r\n new Item { Text = \"Conversions\", Icon = \"mdi-flag\" }\r\n };\r\n \r\n bool offset;\r\n StringNumber selectedItem = \"Audience\";\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.Border.props.Offset", + "Style": "", + "Debug": false, + "Group": 0 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/cards", + "/components/lists", + "/components/radio" + ], + "Subtitle": "边框", + "Title": "Borders", + "Type": "边框" + }, + { + "Desc": "

Breadcrumbs 组件适用于页面层级导航

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "注意": "\n\n

默认情况下,MBreadcrumbs 将禁用路由联动。可以通过 Linkage 属性开启路由联动。

\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.4642468+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

默认情况下,面包屑导航使用文本分隔符。 可以是任何字符串。

\n", + "Code": "
\r\n Items:\r\n \r\n
\r\n\r\n
\r\n Markup:\r\n \r\n Dashboard\r\n \r\n Link 2\r\n \r\n
\r\n\r\n @code {\r\n\r\n List items = new()\r\n {\r\n new BreadcrumbItem() { Text = \"Dashboard\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_dashboard\" },\r\n new BreadcrumbItem() { Text = \"Link 1\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_link_1\" },\r\n new BreadcrumbItem() { Text = \"Link 2\", Disabled = true, Href = \"/components/breadcrumbs#breadcrumbs_link_2\" }\r\n };\r\n }\r\n", + "Type": "Demos.Components.Breadcrumbs.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "divider", + "Title": "分隔线", + "Description": "

可以使用 divider 属性来设置面包屑分隔符。

\n", + "Code": "
\r\n \r\n\r\n \r\n
\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n new BreadcrumbItem() {Text = \"Dashboard\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_dashboard\"},\r\n new BreadcrumbItem() {Text = \"Link 1\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_link_1\"},\r\n new BreadcrumbItem() {Text = \"Link 2\", Disabled = true, Href = \"/components/breadcrumbs#breadcrumbs_link_2\"}\r\n };\r\n\r\n}", + "Type": "Demos.Components.Breadcrumbs.props.Divider", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "large", + "Title": "大号", + "Description": "

大的面包屑具有较大的字体。

\n", + "Code": "
\r\n \r\n\r\n \r\n
\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n new BreadcrumbItem() {Text = \"Dashboard\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_dashboard\"},\r\n new BreadcrumbItem() {Text = \"Link 1\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_link_1\"},\r\n new BreadcrumbItem() {Text = \"Link 2\", Disabled = true, Href = \"/components/breadcrumbs#breadcrumbs_link_2\"}\r\n };\r\n\r\n}", + "Type": "Demos.Components.Breadcrumbs.props.Large", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "linkage", + "Title": "路由联动", + "Description": "", + "Code": "
\r\n \r\n
\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n new BreadcrumbItem() {Text = \"MASA.Blazor\", Href = \"/\"},\r\n new BreadcrumbItem() {Text = \"Components\", Href = \"/components\"},\r\n new BreadcrumbItem() {Text = \"Breadcrumbs\", Href = \"/components/breadcrumbs\"}\r\n };\r\n\r\n}", + "Type": "Demos.Components.Breadcrumbs.props.Linkage", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 10, + "Name": "icon-dividers", + "Title": "图标分隔符", + "Description": "

对于图标变量,面包屑可以使用Material设计中的任何图标。

\n", + "Code": "
\r\n \r\n \r\n mdi-forward\r\n \r\n \r\n\r\n \r\n \r\n mdi-chevron-right\r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n new BreadcrumbItem() {Text = \"Dashboard\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_dashboard\"},\r\n new BreadcrumbItem() {Text = \"Link 1\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_link_1\"},\r\n new BreadcrumbItem() {Text = \"Link 2\", Disabled = true, Href = \"/components/breadcrumbs#breadcrumbs_link_2\"}\r\n };\r\n\r\n}", + "Type": "Demos.Components.Breadcrumbs.contents.IconDividers", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 11, + "Name": "item", + "Title": "项目", + "Description": "

您可以使用 item 插槽自定义每个面包屑。

\n", + "Code": "\r\n \r\n \r\n @context.Text.ToUpper()\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n new BreadcrumbItem() {Text = \"Dashboard\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_dashboard\"},\r\n new BreadcrumbItem() {Text = \"Link 1\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_link_1\"},\r\n new BreadcrumbItem() {Text = \"Link 2\", Disabled = true, Href = \"/components/breadcrumbs#breadcrumbs_link_2\"}\r\n };\r\n\r\n}", + "Type": "Demos.Components.Breadcrumbs.contents.Item", + "Style": "", + "Debug": false, + "Group": 2 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Cols": 1, + "Related": [ + "/components/buttons", + "/components/navigation-drawers", + "/components/icons" + ], + "Subtitle": "面包屑导航", + "Title": "Breadcrumbs", + "Type": "面包屑导航" + }, + { + "Desc": "

MButton(按钮)组件采 Material Design 设计主题风格,并增加众多的配置选项替换了标准的 html 按钮。 任何颜色助手类都可以用来改变背景或文字颜色。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "注意": "\n \n

当使用 Dark 属性时,MButton 是唯一一种拥有不同行为的组件。 通常来说,组件使用 Dark 属性来表示他们将有深色背景,文本也需要是白色的。 虽然这对\nMButton 也是起作用的,但由于禁用状态与白色背景容易造成混淆,建议仅在按钮彩色背景时使用此属性。 If you need white text, simply add the white--text class.

\n" + }, + "LastWriteTime": "2021-11-22T17:46:11.4758353+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

最简单的按钮包含大写文本、轻微的仰角、悬停效果和单击时的波纹效果。

\n", + "Code": "\r\n Click Me\r\n", + "Type": "Demos.Components.Button.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "block", + "Title": "块状", + "Description": "

添加 Block 属性,按钮将延占满可用的宽度。

\n", + "Code": "Block Button", + "Type": "Demos.Components.Button.props.Block", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "depressed", + "Title": "凹陷", + "Description": "

Depressed 按钮依然保持其背景色,但没有框阴影。

\n", + "Code": "\r\n \r\n Normal\r\n \r\n \r\n Primary\r\n \r\n \r\n Error\r\n \r\n \r\n Disabled\r\n \r\n", + "Type": "Demos.Components.Button.props.Depressed", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "floating", + "Title": "浮动", + "Description": "

浮动按钮是圆形的,通常包含一个图标。

\n", + "Code": "
\r\n \r\n \r\n mdi-minus\r\n \r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-plus\r\n \r\n\r\n \r\n mdi-format-list-bulleted-square\r\n \r\n\r\n \r\n mdi-pencil\r\n \r\n\r\n \r\n \r\n mdi-android\r\n \r\n \r\n
\r\n", + "Type": "Demos.Components.Button.props.Floating", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "icon", + "Title": "图标", + "Description": "

图标可作为按钮的主要内容。此属性使按钮变圆并应用 Text 属性样式。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n

Normal

\r\n
\r\n \r\n \r\n \r\n mdi-heart\r\n \r\n \r\n \r\n \r\n mdi-star\r\n \r\n \r\n \r\n \r\n mdi-cached\r\n \r\n \r\n \r\n \r\n mdi-thumb-up\r\n \r\n \r\n
\r\n \r\n \r\n

Disabled

\r\n
\r\n \r\n \r\n \r\n mdi-heart\r\n \r\n \r\n \r\n \r\n mdi-star\r\n \r\n \r\n \r\n \r\n mdi-cached\r\n \r\n \r\n \r\n \r\n mdi-thumb-up\r\n \r\n \r\n
\r\n
\r\n
\r\n
", + "Type": "Demos.Components.Button.props.Icon", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "loaders", + "Title": "加载", + "Description": "

使用加载道具,可以通知用户正在进行处理。默认行为是使用 MProgressCircular 组件,但这可以自定义。

\n", + "Code": "
\r\n \r\n Accept Terms\r\n \r\n\r\n \r\n Upload\r\n \r\n mdi-cloud-upload\r\n \r\n \r\n\r\n \r\n \r\n Loading...\r\n \r\n \r\n Custom Loader\r\n \r\n \r\n\r\n \r\n \r\n mdi-cached\r\n \r\n \r\n Icon Loader\r\n \r\n \r\n\r\n \r\n \r\n mdi-cloud-upload\r\n \r\n \r\n
\r\n\r\n@code {\r\n private bool loading = false;\r\n private void OnClick()\r\n {\r\n loading = true;\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(1000);\r\n loading = false;\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n\r\n private bool loading2 = false;\r\n private void OnClick2()\r\n {\r\n loading2 = true;\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(1000);\r\n loading2 = false;\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n\r\n private bool loading3 = false;\r\n private void OnClick3()\r\n {\r\n loading3 = true;\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(1000);\r\n loading3 = false;\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n\r\n private bool loading4 = false;\r\n private void OnClick4()\r\n {\r\n loading4 = true;\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(1000);\r\n loading4 = false;\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n\r\n private bool loading5 = false;\r\n private void OnClick5()\r\n {\r\n loading5 = true;\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(1000);\r\n loading5 = false;\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n}\r\n\r\n\r\n", + "Type": "Demos.Components.Button.props.Loaders", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 5, + "Name": "outlined", + "Title": "轮廓", + "Description": "

添加 Outlined 属性,按钮的边框颜色将继承自当前应用的按钮颜色。

\n", + "Code": "
\r\n \r\n Outlined Button\r\n \r\n \r\n mdi-format-list-bulleted-square\r\n \r\n \r\n mdi-pencil\r\n \r\n
", + "Type": "Demos.Components.Button.props.Outlined", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 6, + "Name": "plain", + "Title": "Plain(朴实)", + "Description": "

应用 Plain 属性, 按钮将会有较低的基准不透明度, 以响应 hover(悬停)focus(聚焦) 事件。

\n", + "Code": "
\r\n \r\n\r\n
\r\n Are you sure you want to delete this album?\r\n
\r\n\r\n \r\n Cancel\r\n \r\n\r\n \r\n Delete\r\n \r\n
\r\n
\r\n\r\n@code {\r\n\r\n bool loading = false;\r\n\r\n private async Task Remove()\r\n {\r\n loading = true;\r\n\r\n await Task.Delay(3000);\r\n\r\n loading = false;\r\n }\r\n\r\n}", + "Type": "Demos.Components.Button.props.Plain", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 7, + "Name": "rounded", + "Title": "圆角", + "Description": "

Rounded 按钮的行为与常规按钮相同,但具有圆形边缘。

\n", + "Code": "
\r\n Rounded Button\r\n
", + "Type": "Demos.Components.Button.props.Rounded", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 8, + "Name": "size", + "Title": "大小", + "Description": "

可以为按钮提供不同的大小调整选项,以适应多种场景。

\n", + "Code": "\r\n \r\n \r\n
\r\n
\r\n XSmall Button\r\n
\r\n
\r\n Small Button\r\n
\r\n
\r\n Normal Button\r\n
\r\n
\r\n Large Button\r\n
\r\n
\r\n XLarge Button\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n mdi-television\r\n \r\n
\r\n
\r\n \r\n mdi-pencil\r\n \r\n
\r\n
\r\n \r\n mdi-account-circle\r\n \r\n
\r\n
\r\n \r\n mdi-alarm\r\n \r\n
\r\n
\r\n \r\n mdi-domain\r\n \r\n
\r\n
\r\n
\r\n
\r\n
", + "Type": "Demos.Components.Button.props.Size", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 9, + "Name": "text", + "Title": "文本", + "Description": "

文本按钮没有框阴影和背景。只在悬停时显示按钮的容器。与 Color 属性一起使用时,提供的颜色将应用于按钮文本而不是背景。

\n", + "Code": "\r\n \r\n Normal\r\n \r\n \r\n Primary\r\n \r\n \r\n Error\r\n \r\n \r\n Disabled\r\n \r\n\r\n", + "Type": "Demos.Components.Button.props.Text", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 10, + "Name": "tile", + "Title": "方块", + "Description": "

Tile 按钮的行为与常规按钮相同,但没有边框半径。

\n", + "Code": "\r\n \r\n mdi-pencil\r\n Edit\r\n \r\n", + "Type": "Demos.Components.Button.props.Tile", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 11, + "Name": "raised", + "Title": "Raised", + "Description": "

Raised buttons have a box shadow that increases when clicked. This is the default style.

\n", + "Code": "\r\n Normal\r\n Primary\r\n Error\r\n Disabled\r\n", + "Type": "Demos.Components.Button.misc.Raised", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/fNUKzY1sk/Buttons.svg", + "Cols": 1, + "Related": [ + "/components/button-groups", + "/components/icons", + "/components/floating-action-buttons" + ], + "Subtitle": "按钮", + "Title": "Buttons", + "Type": "按钮" + }, + { + "Desc": "

MCard 组件是一个可用于从面板到静态图像的多功能组件。 卡 组件有许多帮助程序组件来尽可能简单地进行标记。 没有列出选项的组件使用Vue的功能组件来更快渲染并充当标记糖以使建筑变得更加容易。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "功能组件": "\n
    \n
  • MCardActions:用于为卡片放置 动作 的容器,如 MButtonMMenu。 同时在按钮上使用 个特殊边距\n,以便它们与其他卡片内容区域的匹配。
  • \n
  • MCardSubtitle:为卡片字幕提供默认的 字体大小填充。 字体大小可以以 排版类 覆盖。
  • \n
  • MCardText:主要用于卡片中的 文本内容。 对文本应用填充,将其字体大小减少为 .875rem。
  • \n
  • MCardTitle:为卡片字幕提供默认的 字体大小 和 填充。 字体大小可以以 排版类 覆盖。
  • \n
\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.4752459+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "basic", + "Title": "使用", + "Description": "

卡中有4个基本组件。 MCardTitle, MCardSubtitle, MCardTextMCardActions

\n", + "Code": "\r\n Card title\r\n Subtitle text\r\n Greyhound divisively hello coldly wonderfully marginally far upon excluding. \r\n \r\n Action 1\r\n Action 2\r\n \r\n", + "Type": "Demos.Components.Card.usage.Basic", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "loading", + "Title": "加载", + "Description": "

处理用户操作时,卡片可以设置为加载状态。 这会禁用进一步的操作,并通过 MProgressLinear 提供视觉反馈

\n", + "Code": "\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n Cafe Badilico\r\n\r\n \r\n \r\n \r\n
4.5 (413)
\r\n
\r\n
$ • Italian, Cafe
\r\n
Small plates, salads & sandwiches - an intimate setting with 12 indoor seats plus patio seating.
\r\n
\r\n\r\n \r\n\r\n Tonight's availability\r\n\r\n \r\n \r\n _selection=0\">5:30PM\r\n _selection=1\">7:30PM\r\n _selection=2\">8:00PM\r\n _selection=3\">9:00PM\r\n \r\n \r\n\r\n \r\n Reserve\r\n \r\n\r\n
\r\n
\r\n\r\n@code {\r\n StringBoolean _loading;\r\n\r\n int _selection = 1;\r\n\r\n async Task Reserve()\r\n {\r\n _loading = true;\r\n await Task.Delay(2000);\r\n _loading = false;\r\n }\r\n}", + "Type": "Demos.Components.Card.props.Loading", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "outlined", + "Title": "轮廓", + "Description": "

带轮廓具有0高程并包含软边框的卡片。

\n", + "Code": "\r\n \r\n \r\n
\r\n OVERLINE\r\n
\r\n \r\n Headline 5\r\n \r\n Greyhound divisely hello coldly fonwderfully\r\n
\r\n \r\n
\r\n \r\n Button\r\n \r\n
", + "Type": "Demos.Components.Card.props.Outlined", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "cardReveal", + "Title": "卡片显示", + "Description": "

使用 ExpandTransition 和 @click 事件,您的卡片可以获得单击按钮就会激活显示隐藏卡片从而展示更多信息的功能。

\n", + "Code": "\r\n \r\n
Word of the Day
\r\n

\r\n el·ee·mos·y·nar·y\r\n

\r\n

adjective

\r\n
\r\n relating to or dependent on charity; charitable.
\r\n \"an eleemosynary educational institution.\"\r\n
\r\n
\r\n\r\n \r\n _reveal = true\">Learn More\r\n \r\n\r\n \r\n \r\n \r\n

\r\n Origin\r\n

\r\n

late 16th century (as a noun denoting a place where alms were distributed): from medieval Latin eleemosynarius, from late Latin eleemosyna ‘alms’, from Greek eleēmosunē ‘compassion’

\r\n
\r\n \r\n _reveal = false\">Close\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n@code {\r\n bool _reveal;\r\n}", + "Type": "Demos.Components.Card.misc.CardReveal", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 3, + "Name": "contentWrapping", + "Title": "包含内容", + "Description": "

MCard 组件可用于包装内容。

\n", + "Code": "\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n Messages\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n

\r\n John Doe\r\n

\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n Today\r\n
\r\n \r\n @foreach (var message in _messages)\r\n {\r\n \r\n
\r\n
\r\n @message.From@message.Time\r\n
\r\n
@message.Message
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n MessageDto[] _messages = new[]\r\n {\r\n new MessageDto\r\n {\r\n From=\"You\",\r\n Message=\"Sure, I'll see you later.\",\r\n Time=\"10:42am\",\r\n Color=\"deep-purple lighten-1\"\r\n },\r\n new MessageDto\r\n {\r\n From=\"John Doe\",\r\n Message=\"Yeah, sure. Does 1:00pm work?\",\r\n Time=\"10:37am\",\r\n Color=\"green\"\r\n },\r\n new MessageDto\r\n {\r\n From=\"You\",\r\n Message=\"Did you still want to grab lunch today?\",\r\n Time=\"9:47am\",\r\n Color=\"deep-purple lighten-1\"\r\n }\r\n };\r\n\r\n class MessageDto\r\n {\r\n public string From { get; set; }\r\n public string Message { get; set; }\r\n public string Time { get; set; }\r\n public string Color { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.Card.misc.ContentWrapping", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 4, + "Name": "customActions", + "Title": "自定义操作", + "Description": "

使用简单的条件,您就可以轻松添加隐藏的补充文本直到您开启显示。

\n", + "Code": "\r\n\r\n \r\n\r\n \r\n Top western road trips\r\n \r\n\r\n \r\n 1,000 miles of wonder\r\n \r\n\r\n \r\n Explore\r\n\r\n \r\n\r\n show = !show\">\r\n @(show ? \"mdi-chevron-down\" : \"mdi-chevron-up\")\r\n \r\n\r\n \r\n
\r\n \r\n \r\n I'm a thing. But, like most politicians, he promised more than he could deliver. You won't have time for sleeping, soldier, not with all the bed making you'll be doing. Then we'll go with that data file! Hey, you add a one and two zeros to that or we walk! You're going to do his laundry? I've got to find a way to escape.\r\n \r\n
\r\n\r\n
\r\n\r\n@code {\r\n bool show = true;\r\n}", + "Type": "Demos.Components.Card.misc.CustomActions", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 5, + "Name": "grids", + "Title": "栅格", + "Description": "

使用网格,您可以创建漂亮的布局。

\n", + "Code": "\r\n\r\n \r\n \r\n mdi-window-minimize\r\n mdi-window-maximize\r\n mdi-close\r\n \r\n\r\n \r\n \r\n Discover\r\n \r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var card in _cards)\r\n {\r\n \r\n \r\n \r\n @card.Title\r\n \r\n\r\n \r\n \r\n \r\n mdi-heart\r\n \r\n \r\n mdi-bookmark\r\n \r\n \r\n mdi-share-variant\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n\r\n@code {\r\n Card[] _cards = new Card[]\r\n {\r\n new Card\r\n {\r\n Title=\"Pre-fab homes\",\r\n Src=\"https://cdn.vuetifyjs.com/images/cards/house.jpg\",\r\n Flex=12,\r\n },\r\n new Card\r\n {\r\n Title=\"Favorite road trips\",\r\n Src=\"https://cdn.vuetifyjs.com/images/cards/road.jpg\",\r\n Flex=6,\r\n },\r\n new Card\r\n {\r\n Title=\"Best airlines\",\r\n Src=\"https://cdn.vuetifyjs.com/images/cards/plane.jpg\",\r\n Flex=6,\r\n }\r\n };\r\n\r\n class Card\r\n {\r\n public string Title { get; set; }\r\n public string Src { get; set; }\r\n public int Flex { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.Card.misc.Grids", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 6, + "Name": "horizontalCards", + "Title": "水平卡片", + "Description": "

使用 MCol,您可以创建自定义的水平卡片。 使用 contain 属性缩小 MImage 以适应容器内部,而不是覆盖。

\n", + "Code": "\r\n\r\n \r\n \r\n mdi-window-minimize\r\n mdi-window-maximize\r\n mdi-close\r\n \r\n\r\n \r\n \r\n My Music\r\n \r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n Unlimited music now\r\n Listen to your favorite artists and albums whenever and wherever, online and offline.\r\n \r\n \r\n Listen Now\r\n \r\n \r\n \r\n \r\n @for (var i = 0; i < _cards.Length; i++)\r\n {\r\n var card = _cards[i];\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n @card.Title\r\n \r\n\r\n \r\n @card.Artist\r\n \r\n\r\n \r\n @if (card.Artist == \"Ellie Goulding\")\r\n {\r\n \r\n mdi-play\r\n \r\n }\r\n else\r\n {\r\n START RADIO\r\n }\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n }\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n@code {\r\n Card[] _cards = new[]\r\n {\r\n new Card\r\n {\r\n Color=\"#1F7087\",\r\n Src=\"https://cdn.vuetifyjs.com/images/cards/foster.jpg\",\r\n Title=\"Supermodel\",\r\n Artist=\"Foster the People\"\r\n },\r\n new Card\r\n {\r\n Color=\"#952175\",\r\n Src=\"https://cdn.vuetifyjs.com/images/cards/halcyon.png\",\r\n Title=\"Halcyon Days\",\r\n Artist=\"Ellie Goulding\"\r\n }\r\n };\r\n\r\n class Card\r\n {\r\n public string Color { get; set; }\r\n public string Src { get; set; }\r\n public string Title { get; set; }\r\n public string Artist { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.Card.misc.HorizontalCards", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 7, + "Name": "informationCard", + "Title": "信息卡片", + "Description": "

卡片是获取更详细信息的入口点。 为了保持简洁,请确保限制用户可以执行的操作数量。

\n", + "Code": "\r\n\r\n \r\n
Word of the Day
\r\n

\r\n be•nev•o•lent\r\n

\r\n

adjective

\r\n
\r\n well meaning and kindly.
\r\n \"a benevolent smile\"\r\n
\r\n
\r\n\r\n \r\n Learn More\r\n \r\n\r\n
\r\n", + "Type": "Demos.Components.Card.misc.InformationCard", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 8, + "Name": "mediaWithText", + "Title": "带文字的媒体", + "Description": "

使用布局系统,我们可以在背景中的任何地方添加自定义文本。

\n", + "Code": "\r\n\r\n \r\n Top 10 Australian beaches\r\n \r\n\r\n \r\n Number 10\r\n \r\n\r\n \r\n
Whitehaven Beach
\r\n
Whitsunday Island, Whitsunday Islands
\r\n
\r\n\r\n \r\n Share\r\n Explore\r\n \r\n\r\n
\r\n", + "Type": "Demos.Components.Card.misc.MediaWithText", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 9, + "Name": "twitterCard", + "Title": "Twitter卡片", + "Description": "

MCard 组件具有多个子组件,可帮助您构建复杂的示例而无需担心关于间距。 此示例由 MCardTitle、MCardText 和 MCardActions 组件组成。

\n", + "Code": "\r\n\r\n \r\n \r\n mdi-twitter\r\n \r\n Twitter\r\n \r\n\r\n \r\n \"Turns out semicolon-less style is easier and safer in TS because most gotcha edge cases are type invalid as well.\"\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n Evan You\r\n \r\n\r\n \r\n mdi-heart\r\n 256\r\n ·\r\n mdi-share-variant\r\n 45\r\n \r\n\r\n \r\n \r\n\r\n\r\n", + "Type": "Demos.Components.Card.misc.TwitterCard", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 10, + "Name": "weatherCard", + "Title": "天气卡片", + "Description": "

使用 MListItemMSlider,我们能够创建一个独特的天气卡。\n列表组件确保我们具有一致的间距和功能,而滑块组件允许我们为用户提供有用的选择界面。

\n", + "Code": "\r\n\r\n \r\n \r\n \r\n San Francisco\r\n \r\n Mon, 12:30 PM, Mostly sunny\r\n \r\n \r\n\r\n \r\n \r\n \r\n 23°C\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n mdi-send\r\n \r\n 23 km/h\r\n \r\n\r\n \r\n \r\n mdi-cloud-download\r\n \r\n 48%\r\n \r\n\r\n \r\n \r\n \r\n @foreach (var forecast in _forecasts)\r\n {\r\n \r\n\r\n @forecast.Day\r\n\r\n \r\n \r\n @forecast.Icon\r\n \r\n \r\n\r\n \r\n @forecast.Temp\r\n \r\n\r\n \r\n }\r\n \r\n\r\n \r\n\r\n \r\n \r\n Full Report\r\n \r\n \r\n\r\n\r\n\r\n@code {\r\n List _labels = new List { \"SU\", \"MO\", \"TU\", \"WED\", \"TH\", \"FR\", \"SR\" };\r\n\r\n double _time = 0;\r\n\r\n Forecast[] _forecasts = new[]\r\n {\r\n new Forecast\r\n {\r\n Day=\"Tuesday\",\r\n Icon=\"mdi-white-balance-sunny\",\r\n Temp=\"24\\xB0/12\\xB0\"\r\n },\r\n new Forecast\r\n {\r\n Day=\"Wednesday\",\r\n Icon=\"mdi-white-balance-sunny\",\r\n Temp=\"22\\xB0/14\\xB0\"\r\n },\r\n new Forecast\r\n {\r\n Day=\"Thursday\",\r\n Icon=\"mdi-cloud\",\r\n Temp=\"25\\xB0/15\\xB0\"\r\n },\r\n };\r\n\r\n class Forecast\r\n {\r\n public string Day { get; set; }\r\n public string Icon { get; set; }\r\n public string Temp { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.Card.misc.WeatherCard", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Cards.svg", + "Cols": 1, + "Related": [ + "/components/buttons", + "/components/images", + "/styles/text-and-typography" + ], + "Subtitle": "卡片", + "Title": "Cards", + "Type": "卡片" + }, + { + "Desc": "

MChip 组件用于传送小信息。 使用 Close 属性,纸片将变为交互式,允许用户进行交互。 此组件由 MChipGroup 用于高级选择选项。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.4772465+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "basic", + "Title": "使用", + "Description": "

纸片有以下几种变化:封闭式、过滤式、轮廓式、药丸式。 MChip 的默认插槽也接受文本旁边的头像和图标。

\n", + "Code": "\r\n Chip Component \r\n", + "Type": "Demos.Components.Chip.usage.Basic", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "closable", + "Title": "可关闭", + "Description": "

可关闭的纸片默认使用Close控制。 如果您想知道纸片何时关闭也可以侦听OnCloseClick事件。

\n", + "Code": "
\r\n @if (!_chip1 && !_chip2 && !_chip3 && !_chip4)\r\n {\r\n { _chip1 = true; _chip2 = true; _chip3 = true; _chip4 = true; }\">\r\n Reset Chips\r\n \r\n }\r\n\r\n @if (_chip1)\r\n {\r\n _chip1 = false\">\r\n Closable\r\n \r\n }\r\n\r\n @if (_chip2)\r\n {\r\n _chip2 = false\">\r\n Remove\r\n \r\n }\r\n\r\n @if (_chip3)\r\n {\r\n _chip3 = false\">\r\n Success\r\n \r\n }\r\n\r\n @if (_chip4)\r\n {\r\n _chip4 = false\">\r\n Complete\r\n \r\n }\r\n
\r\n\r\n@code{\r\n private bool _chip1 = true;\r\n private bool _chip2 = true;\r\n private bool _chip3 = true;\r\n private bool _chip4 = true;\r\n}", + "Type": "Demos.Components.Chip.props.Closable", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "colored", + "Title": "色彩", + "Description": "

Material Design 调色板中的任何颜色都可用于更改纸片颜色。

\n", + "Code": "
\r\n \r\n Default\r\n \r\n\r\n \r\n Primary\r\n \r\n\r\n \r\n Secondary\r\n \r\n\r\n \r\n Red Chip\r\n \r\n\r\n \r\n Green Chip\r\n \r\n
", + "Type": "Demos.Components.Chip.props.Colored", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "draggable", + "Title": "可拖动", + "Description": "

Draggable MChip 组件可以被鼠标拖拽。

\n", + "Code": "\r\n Default\r\n", + "Type": "Demos.Components.Chip.props.Draggable", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "filter", + "Title": "过滤器", + "Description": "

MChip 组件有 Filter 选项,在chip处于活动状态时向您显示额外的图标。 可以使用 FilterIcon 来自定义。

\n", + "Code": "\r\n \r\n I'm MChip\r\n \r\n\r\n \r\n I'm MChip\r\n \r\n\r\n \r\n I'm MChip\r\n \r\n\r\n \r\n\r\n\r\n@code\r\n{\r\n private bool _active = false;\r\n}", + "Type": "Demos.Components.Chip.props.Filter", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "label", + "Title": "标签", + "Description": "

纸片标签的使用

\n", + "Code": "
\r\n \r\n Label\r\n \r\n\r\n \r\n \r\n mdi-label\r\n \r\n Tags\r\n \r\n\r\n \r\n \r\n mdi-account-circle-outline\r\n \r\n John Leider\r\n \r\n\r\n \r\n \r\n mdi-twitter\r\n \r\n New Tweets\r\n \r\n
", + "Type": "Demos.Components.Chip.props.Label", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 5, + "Name": "noRipple", + "Title": "无波纹", + "Description": "

MChip 可以在 ripple prop 被设置为 false 情况下不渲染波纹效果

\n", + "Code": "\r\n Default\r\n", + "Type": "Demos.Components.Chip.props.NoRipple", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 6, + "Name": "outlined", + "Title": "轮廓", + "Description": "

轮廓纸片从当前文本颜色继承其边框颜色。

\n", + "Code": "
\r\n \r\n \r\n mdi-server-plus\r\n \r\n Server Status\r\n \r\n\r\n \r\n User Account\r\n \r\n mdi-account-outline\r\n \r\n \r\n\r\n \r\n \r\n mdi-wrench\r\n \r\n Update Settings\r\n \r\n\r\n \r\n \r\n mdi-fire\r\n \r\n New Posts Available\r\n \r\n
", + "Type": "Demos.Components.Chip.props.Outlined", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 7, + "Name": "sizes", + "Title": "大小", + "Description": "

MChip 组件可以有从 XSmall 到 XLarge 不同的大小.

\n", + "Code": "
\r\n \r\n x-small chip\r\n \r\n\r\n \r\n small chip\r\n \r\n\r\n \r\n Default\r\n \r\n\r\n \r\n large chip\r\n \r\n\r\n \r\n x-large chip\r\n \r\n
", + "Type": "Demos.Components.Chip.props.Sizes", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "actionChips", + "Title": "行为纸片", + "Description": "

纸片可以用作可操作的项目。 只要有 click 事件,纸片就会变成可交互并且可以调用方法。

\n", + "Code": "\r\n \r\n \r\n
Welcome Home...
\r\n
Monday, 12:30 PM, Mostly Sunny
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n 81° / 62°\r\n \r\n \r\n \r\n\r\n \r\n \r\n mdi-brightness-5\r\n Turn on Lights\r\n \r\n \r\n mdi-alarm-check\r\n Set alarm\r\n \r\n \r\n mdi-blinds\r\n Close blinds\r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n [Inject]\r\n private IJSRuntime Js { get; set; }\r\n\r\n private void Alarm()\r\n {\r\n Js.InvokeVoidAsync(\"alert\", \"Toggling lights...\");\r\n }\r\n\r\n private void Blinds()\r\n {\r\n Js.InvokeVoidAsync(\"alert\", \"Toggling lights...\");\r\n }\r\n\r\n private void Lights()\r\n {\r\n Js.InvokeVoidAsync(\"alert\", \"Toggling lights...\");\r\n }\r\n}", + "Type": "Demos.Components.Chip.events.ActionChips", + "Style": "", + "Debug": false, + "Group": 1 + }, + { + "Order": 2, + "Name": "icon", + "Title": "图标", + "Description": "

纸片可以使用文本或 Material Icons 字体库中可用的任何图标。

\n", + "Code": "
\r\n \r\n \r\n mdi-account-circle\r\n \r\n Mike\r\n \r\n\r\n \r\n Premium\r\n mdi-star\r\n \r\n\r\n \r\n 1 Year\r\n mdi-cake-variant\r\n \r\n\r\n \r\n \r\n 1\r\n \r\n Years\r\n \r\n\r\n \r\n \r\n mdi-checkbox-marked-circle\r\n \r\n Confirmed\r\n \r\n\r\n \r\n \r\n mdi-checkbox-marked-circle\r\n \r\n Confirmed\r\n \r\n
\r\n\r\n@code\r\n{\r\n [Inject]\r\n private IJSRuntime Js { get; set; }\r\n\r\n private void Close()\r\n {\r\n Js.InvokeVoidAsync(\"alert\", \"Chip close clicked\");\r\n }\r\n}", + "Type": "Demos.Components.Chip.contents.Icon", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 0, + "Name": "customList", + "Title": "自定义列表", + "Description": "

使用自定义列表使我们能够始终显示可用的选项,同时提供相同的搜索和选择功能。TODO 暂无OnInput事件

\n", + "Code": "@using System.Timers;\r\n@using Timer = System.Timers.Timer;\r\n\r\n\r\n \r\n \r\n Photo Info\r\n \r\n _search.InputElement.FocusAsync()\">\r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n \r\n @foreach(var item in Selections())\r\n {\r\n \r\n selected?.Remove(selected.FirstOrDefault(x => x.Text == item.Text))\">\r\n @item.Icon\r\n @item.Text\r\n \r\n \r\n }\r\n @if (!allSelected())\r\n {\r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n @if (allSelected())\r\n {\r\n \r\n }\r\n\r\n \r\n @foreach(var item in Categories())\r\n {\r\n @if (!selected.Any(x => x.Text.Equals(item.Text)))\r\n {\r\n selected.Add(item)\">\r\n \r\n @item.Icon\r\n \r\n @item.Text\r\n \r\n }\r\n }\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n Next\r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private Timer Timer { get; set; }\r\n private bool loading = false;\r\n private string search = string.Empty;\r\n private List selected = new();\r\n private MTextField _search;\r\n private class Selection\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n\r\n private List Items = new()\r\n {\r\n new() { Text = \"Nature\", Icon = \"mdi-nature\" },\r\n new() { Text = \"Nightlife\", Icon = \"mdi-glass-wine\" },\r\n new() { Text = \"November\", Icon = \"mdi-calendar-range\" },\r\n new() { Text = \"Portland\", Icon = \"mdi-map-marker\" },\r\n new() { Text = \"Biking\", Icon = \"mdi-bike\" }\r\n };\r\n\r\n private bool allSelected() => selected.Count == Items.Count;\r\n\r\n private List Categories()\r\n {\r\n var ent = search.ToLower();\r\n if (string.IsNullOrWhiteSpace(ent))\r\n {\r\n return Items;\r\n }\r\n\r\n return Items.Where(x => x.Text.ToLower().Contains(ent)).ToList();\r\n }\r\n\r\n private List Selections() => selected;\r\n\r\n private void Next()\r\n {\r\n loading = true;\r\n\r\n if (Timer == null)\r\n {\r\n Timer = new Timer\r\n {\r\n Interval = 2000\r\n };\r\n Timer.Elapsed += Timer_Elapsed;\r\n }\r\n\r\n Timer.Start();\r\n }\r\n \r\n private async void Timer_Elapsed(object sender, ElapsedEventArgs e)\r\n {\r\n await InvokeAsync(() =>\r\n {\r\n search = string.Empty;\r\n selected = new ();\r\n loading = false;\r\n Timer.Stop();\r\n\r\n StateHasChanged();\r\n });\r\n }\r\n}", + "Type": "Demos.Components.Chip.misc.CustomList", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 1, + "Name": "expandable", + "Title": "可展开", + "Description": "

纸片可与MMenu组合使用,为纸片启用一组特定的操作。

\n", + "Code": "\r\n \r\n\r\n \r\n To\r\n \r\n \r\n \r\n \r\n \r\n \r\n John Leider\r\n \r\n \r\n \r\n \r\n \r\n @*TODO:Dark没有从MList继承*@\r\n \r\n \r\n \r\n \r\n John Leider\r\n john@vuetifyjs.com\r\n \r\n \r\n menu = false\" Dark> @*TODO:Dark没有从MList继承*@\r\n mdi-close-circle\r\n \r\n \r\n \r\n \r\n \r\n { }\">\r\n \r\n mdi-briefcase\r\n \r\n john@gmail.com\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n@code\r\n{\r\n bool menu = false;\r\n}", + "Type": "Demos.Components.Chip.misc.Expandable", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 2, + "Name": "filtering", + "Title": "过滤", + "Description": "

纸片非常适合为特定任务提供辅助操作。 在本例中,我们搜索一个项目列表并收集一个子集信息以显示可用的关键字。 TODO 暂无OnInput事件

\n", + "Code": "\r\n \r\n\r\n \r\n \r\n mdi-arrow-left\r\n \r\n\r\n \r\n \r\n\r\n \r\n @foreach (var keyword in Keywords())\r\n {\r\n @keyword\r\n }\r\n \r\n\r\n \r\n @foreach (var item in Searching())\r\n {\r\n {}\">\r\n \r\n\r\n \r\n @item.Category\r\n
@item.Title
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n@code\r\n{\r\n private string search = string.Empty;\r\n private class DataDemo\r\n {\r\n public string Image { get; set; }\r\n public string Title { get; set; }\r\n public string Category { get; set; }\r\n public string KeyWord { get; set; }\r\n }\r\n private List Items = new()\r\n {\r\n new()\r\n {\r\n Image = \"https://cdn-images-1.medium.com/max/1024/1*9C9hLji68wV373tk8okLYA.jpeg\",\r\n Title = \"TBI’s 5 Best: SF Mocktails to Finish Dry January Strong\",\r\n Category = \"Travel\",\r\n KeyWord = \"Drinks\"\r\n },\r\n new()\r\n {\r\n Image = \"https://cdn-images-1.medium.com/max/1024/1*BBNtYUieAqHoXKjiJ2mMjQ.png\",\r\n Title = \"PWAs on iOS 12.2 beta: the good, the bad, and the “not sure yet if good”\",\r\n Category = \"Technology\",\r\n KeyWord = \"Phones\"\r\n },\r\n new()\r\n {\r\n Image = \"https://cdn-images-1.medium.com/max/1024/1*rTEtei1UEmNqbq6evRsExw.jpeg\",\r\n Title = \"How to Get Media Mentions for Your Business\",\r\n Category = \"Media\",\r\n KeyWord = \"Social\"\r\n },\r\n new()\r\n {\r\n Image = \"https://cdn-images-1.medium.com/max/1024/1*FD2nkJewVeQnGf0ommQfrw.jpeg\",\r\n Title = \"The Pitfalls Of Outsourcing Self-Awareness To Artificial Intelligence\",\r\n Category = \"Technology\",\r\n KeyWord = \"Military\"\r\n },\r\n new()\r\n {\r\n Image = \"https://cdn-images-1.medium.com/max/1024/1*eogFpsVgNzXQLCVgFzT_-A.jpeg\",\r\n Title = \"Degrees of Freedom and Sudoko\",\r\n Category = \"Travel\",\r\n KeyWord = \"Social\"\r\n }\r\n };\r\n\r\n private List Keywords()\r\n {\r\n if (string.IsNullOrWhiteSpace(search))\r\n {\r\n return new List();\r\n }\r\n\r\n return Searching()?.Select(x => x.KeyWord).ToList();\r\n }\r\n\r\n private List Searching()\r\n {\r\n if (string.IsNullOrWhiteSpace(search))\r\n {\r\n return Items;\r\n }\r\n\r\n var searchLow = search.ToLower();\r\n\r\n return Items.Where(x => x.Title.ToLower().Contains(searchLow)).ToList();\r\n }\r\n}", + "Type": "Demos.Components.Chip.misc.Filtering", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 3, + "Name": "inSelects", + "Title": "选中(TODO)", + "Description": "

选择可以使用纸片显示所选数据。 尝试在下方添加您自己的标签。

\n", + "Code": "TODO", + "Type": "Demos.Components.Chip.misc.InSelects", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Chips.svg", + "Cols": 1, + "Related": [ + "/components/avatars", + "/components/icons", + "/components/selects" + ], + "Subtitle": "纸片", + "Title": "Chips", + "Type": "纸片" + }, + { + "Desc": "

Dialog组件通知用户有关特定任务,且可能包含关键信息、需要决策或涉及多个任务。减少使用对话框的频率,因为它们具有干扰性。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-09T10:30:56.7828998+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "Index", + "Title": "使用", + "Description": "

对话框包含两个插槽,一个用于它的激活器,另一个用于它的内容(默认)。 有利于隐私政策。

\n", + "Code": "
\r\n \r\n \r\n \r\n Click Me\r\n \r\n \r\n\r\n \r\n \r\n \r\n Privacy Policy\r\n \r\n\r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\r\n \r\n\r\n \r\n\r\n \r\n \r\n dialog = false\">\r\n I accept\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n bool dialog;\r\n\r\n}", + "Type": "Demos.Components.Dialog.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "fullscreen", + "Title": "全屏对话框", + "Description": "

由于屏幕空间有限,相对于使用普通对话框的大屏设备,全屏对话框更适合移动设备。

\n", + "Code": "\r\n \r\n \r\n \r\n Open Dialog\r\n \r\n \r\n \r\n \r\n \r\n dialog = false\">\r\n mdi-close\r\n \r\n Settings\r\n \r\n \r\n dialog = false\">\r\n Save\r\n \r\n \r\n \r\n \r\n User Controls\r\n \r\n \r\n Content filtering\r\n Set the content filtering level to restrict apps that can be downloaded\r\n \r\n \r\n \r\n \r\n Password\r\n Require password for purchase or use password to restrict purchase\r\n \r\n \r\n \r\n \r\n \r\n General\r\n \r\n \r\n \r\n \r\n \r\n Notifications\r\n Notify me about updates to apps or games that I downloaded\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Sound\r\n Auto-update apps at any time. Data charges may apply\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Auto-add widgets\r\n Automatically add home screen widgets\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private bool dialog = false;\r\n private bool notifications = false;\r\n private bool sound = true;\r\n private bool widgets = false;\r\n}", + "Type": "Demos.Components.Dialog.props.Fullscreen", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "persistent", + "Title": "保留", + "Description": "

与普通对话框相似,但当用户点击对话框外部或按下 esc 键时,对话框不会关闭。

\n", + "Code": "\r\n \r\n \r\n \r\n Open Dialog\r\n \r\n \r\n \r\n \r\n \r\n Use Google'location service?\r\n \r\n Let Google help apps determine location. This means sending anonymous location data to Google, even when no apps are running.\r\n \r\n \r\n dialog = false\">\r\n Disagree\r\n \r\n dialog = false\">\r\n Agree\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool dialog = false;\r\n}", + "Type": "Demos.Components.Dialog.props.Persistent", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "scrollable", + "Title": "可滚动", + "Description": "

一个可滚动内容的对话框示例。

\n", + "Code": "\r\n \r\n \r\n Open Dialog\r\n \r\n \r\n \r\n Select Country\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n dialog = false\">\r\n Close\r\n \r\n dialog = false\">\r\n Save\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool dialog = false;\r\n}", + "Type": "Demos.Components.Dialog.props.Scrollable", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "transitions", + "Title": "过渡动画", + "Description": "

您可以让对话框从顶部或底部出现。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n From the bottom\r\n \r\n \r\n \r\n \r\n \r\n Opening from the bottom\r\n \r\n \r\n
Hello world!
\r\n
\r\n \r\n dialog = false\">\r\n Close\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n From the top\r\n \r\n \r\n \r\n \r\n \r\n Opening from the top\r\n \r\n \r\n
Hello world!
\r\n
\r\n \r\n dialog2 = false\">\r\n Close\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n bool dialog = false;\r\n bool dialog2 = false;\r\n}", + "Type": "Demos.Components.Dialog.props.Transitions", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 5, + "Name": "form", + "Title": "表单", + "Description": "

一个简单的表单对话框的例子。

\n", + "Code": "\r\n \r\n \r\n \r\n Open Dialog\r\n \r\n \r\n \r\n \r\n \r\n User Profile\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r => r\">\r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r => r\"\r\n Multiple>\r\n \r\n \r\n \r\n \r\n *indicates required field\r\n \r\n \r\n \r\n dialog = false\">\r\n Close\r\n \r\n dialog = false\">\r\n Save\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool dialog = false;\r\n List _values = new List();\r\n List _items = new() {\"0-17\", \"18-29\", \"30-54\", \"54+\"};\r\n List _items2 = new() {\"Skiing\", \"Ice hockey\", \"Soccer\", \"Basketball\", \"Hockey\", \"Reading\", \"Writing\", \"Coding\", \"Basejump\"};\r\n}", + "Type": "Demos.Components.Dialog.misc.Form", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 6, + "Name": "loader", + "Title": "加载器", + "Description": "

MDialog 组件可以轻松为您的应用程序创建自定义加载体验。

\n", + "Code": "
\r\n dialog = true\">\r\n Start loading\r\n \r\n \r\n \r\n \r\n Please stand by\r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n bool dialog = false;\r\n protected override async Task OnAfterRenderAsync(bool firstRender)\r\n {\r\n if (dialog)\r\n {\r\n await Task.Delay(4000);\r\n dialog = false;\r\n\r\n StateHasChanged();\r\n }\r\n }\r\n}", + "Type": "Demos.Components.Dialog.misc.Loader", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 7, + "Name": "nesting", + "Title": "嵌套", + "Description": "

对话框可以嵌套:可以从一个对话框打开另一个对话框。

\n", + "Code": "
\r\n\r\n dialog = true\">\r\n Open Dialog 1\r\n \r\n dialog2 = true\">\r\n Open Dialog 2\r\n\r\n dialog3 = true\">\r\n Open Dialog 3\r\n\r\n\r\n\r\n\r\n \r\n \r\n A Menu\r\n \r\n \r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n { }\">\r\n @item\r\n \r\n }\r\n \r\n \r\n\r\n\r\n \r\n \r\n dialog = false\">\r\n mdi-close\r\n \r\n Settings\r\n \r\n \r\n dialog = false\">\r\n Save\r\n \r\n \r\n \r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n { }\">\r\n @item\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n dialog2 = !dialog2\">\r\n Open Dialog 2\r\n \r\n \r\n \r\n \r\n Tool Tip Activator\r\n \r\n \r\n \r\n Tool Tip\r\n \r\n \r\n \r\n User Controls\r\n \r\n \r\n Content filtering\r\n Set the content filtering level to restrict apps that can be downloaded\r\n \r\n \r\n \r\n \r\n Password\r\n Require password for purchase or use password to restrict purchase\r\n \r\n \r\n \r\n \r\n \r\n General\r\n \r\n \r\n \r\n \r\n \r\n Notifications\r\n Notify me about updates to apps or games that I downloaded\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Sound\r\n Auto-update apps at any time. Data charges may apply\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Auto-add widgets\r\n Automatically add home screen widgets\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n Dialog 2\r\n \r\n \r\n dialog3 = !dialog3\">\r\n Open Dialog 3\r\n \r\n r\"\r\n ItemText=\"r => r\">\r\n \r\n \r\n \r\n dialog2 = false\">\r\n Close\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n Dialog 3\r\n \r\n \r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n { }\">\r\n @item\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n dialog3 = false\">\r\n Close\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n@code {\r\n bool dialog = false;\r\n bool dialog2 = false;\r\n bool dialog3 = false;\r\n bool notifications = false;\r\n bool sound = true;\r\n bool widgets = false;\r\n\r\n List _items = new() {\"0-17\", \"18-29\", \"30-54\", \"54+\"};\r\n List items = new() {\"Click Me\", \"Click Me\", \"Click Me\", \"Click Me\"};\r\n}", + "Type": "Demos.Components.Dialog.misc.Nesting", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 8, + "Name": "overflowed", + "Title": "溢出", + "Description": "

若对话框内容溢出,将在对话框内显示滚动条。

\n", + "Code": "\r\n \r\n \r\n \r\n Open Dialog\r\n \r\n \r\n \r\n \r\n \r\n Use Google's location service?\r\n \r\n \r\n Lorem ipsum dolor sit amet, semper quis, sapien id natoque elit. Nostra urna at, magna at neque sed sed ante imperdiet, dolor mauris cursus velit, velit non, sem nec. Volutpat sem ridiculus placerat leo, augue in, duis erat proin condimentum in a eget, sed fermentum sed vestibulum varius ac, vestibulum volutpat orci ut elit eget tortor. Ultrices nascetur nulla gravida ante arcu. Pharetra rhoncus morbi ipsum, nunc tempor debitis, ipsum pellentesque, vitae id quam ut mauris dui tempor, aptent non. Quisque turpis. Phasellus quis lectus luctus orci eget rhoncus. Amet donec vestibulum mattis commodo, nulla aliquet, nibh praesent, elementum nulla. Sit lacus pharetra tempus magna neque pellentesque, nulla vel erat.\r\n Justo ex quisque nulla accusamus venenatis, sed quis. Nibh phasellus gravida metus in, fusce aenean ut erat commodo eros. Ut turpis, dui integer, nonummy pede placeat nec in sit leo. Faucibus porttitor illo taciti odio, amet viverra scelerisque quis quis et tortor, curabitur morbi a. Enim tempor at, rutrum elit condimentum, amet rutrum vitae tempor torquent nunc. Praesent vestibulum integer maxime felis. Neque aenean quia vitae nostra, tempus elit enim id dui, at egestas pulvinar. Integer libero vestibulum, quis blandit scelerisque mattis fermentum nulla, tortor donec vestibulum dolor amet eget, elit nullam. Aliquam leo phasellus aliquam curabitur metus a, nulla justo mattis duis interdum vel, mollis vitae et id, vestibulum erat ridiculus sit pulvinar justo sed. Vehicula convallis, et nulla wisi, amet vestibulum risus, quam ac egestas.\r\n Et vitae, nulla gravida erat scelerisque nullam nunc pellentesque, a dictumst cras augue, purus imperdiet non. Varius montes cursus varius vel tortor, nec leo a qui, magni cras, velit vel consectetuer lobortis vel. Nibh erat et wisi felis leo porttitor, sapien nibh sapien pede mi, sed eget porttitor, repellendus arcu ac quis. Luctus vulputate aut est sem magna, placerat accumsan nunc vestibulum ipsum ac auctor, maecenas lorem in ut nec mauris tortor, doloribus varius sem tortor vestibulum mollis, eleifend tortor felis tempus lacus eu eu. Eleifend vel eu, nullam maecenas mauris nec nunc euismod, tortor porta ridiculus potenti, massa tristique nam magna, et wisi placerat et erat ante. Eget pede erat in facilisis, fermentum venenatis sodales. Ac tortor sociis et non animi tristique, rhoncus malesuada, ut arcu volutpat scelerisque sollicitudin, elit curabitur dui pede purus dolor, integer aenean risus taciti nulla eleifend accumsan. At pulvinar diam parturient, interdum mi velit aliquet et a. Arcu at ac placerat eget justo semper, purus sociis curabitur mi ipsum consequat ut, mollis vestibulum, est ante ornare lacus sem. Neque magna mauris, commodo quisque, praesent semper suscipit lobortis nam. Justo malesuada cursus ac nunc litora nunc. Tellus ac, in lobortis nunc, montes lectus purus fermentum.\r\n Ac sit wisi. Sodales aliquam, sed vestibulum nullam arcu sit risus arcu, id luctus vitae lorem nibh, integer nec nullam class cursus mi, purus arcu lectus. Vel ante suscipit volutpat potenti mattis sed, wisi eu placerat aliquam erat, lectus morbi lobortis at assumenda. Consequat neque purus ipsum voluptas odio, netus vestibulum ut nec, suspendisse pellentesque nec enim in. Wisi dictum sed semper a, ipsum erat tellus habitasse est, erat sem ornare, vitae quisque ultricies. Dui sed blandit. Tempor et faucibus justo sed luctus, nec vitae vitae. Nunc nibh pede, ipsum vestibulum aenean leo ante ultricies, nam cras quis sed penatibus amet. In mauris a. Integer metus mauris tortor, et rutrum vestibulum ultricies, ut phasellus in ullamcorper ut mollit, eu justo. Cursus pretium venenatis.\r\n Cras pellentesque vel sodales accumsan aenean. Feugiat metus sit nec in aliquet amet, porttitor pretium vulputate massa. Consequat ipsum luctus quisque adipiscing libero. Wisi sollicitudin. Eget vitae ac lobortis, lorem natoque vestibulum et, aliquet faucibus at morbi nibh, vel condimentum. Massa unde orci sed id sed, odio donec congue nec praesent amet. Hymenaeos velit lacus, quis vivamus libero tempus duis, eu nisi eu, ipsum at accumsan pede justo morbi donec, massa et libero sit risus neque tortor. Ut sed sed etiam hendrerit dapibus, quis metus suspendisse nibh.\r\n Fringilla tempor felis augue magna. Cum arcu a, id vitae. Pellentesque pharetra in cras sociis adipiscing est. Nibh nec mattis at maecenas, nisl orci aliquam nulla justo egestas venenatis, elementum duis vel porta eros, massa vitae, eligendi imperdiet amet. Nec neque luctus suscipit, justo sem praesent, ut nisl quisque, volutpat torquent wisi tellus aliquam reprehenderit, curabitur cras at quis massa porttitor mauris. Eros sed ultrices. Amet dignissim justo urna feugiat mauris litora, etiam accumsan, lobortis a orci suspendisse. Semper ac mauris, varius bibendum pretium, orci urna nunc ullamcorper auctor, saepe sem integer quam, at feugiat egestas duis. Urna ligula ante. Leo elementum nonummy. Sagittis mauris est in ipsum, nulla amet non justo, proin id potenti platea posuere sit ut, nunc sit erat bibendum. Nibh id auctor, ab nulla vivamus ultrices, posuere morbi nunc tellus gravida vivamus.\r\n Mauris nec, facilisi quam fermentum, ut mauris integer, orci tellus tempus diam ut in pellentesque. Wisi faucibus tempor et odio leo diam, eleifend quis integer curabitur sit scelerisque ac, mauris consequat luctus quam penatibus fringilla dis, vitae lacus in, est eu ac tempus. Consectetuer amet ipsum amet dui, sed blandit id sed. Tellus integer, dignissim id pede sodales quis, felis dolorem id mauris orci, orci tempus ut. Nullam hymenaeos. Curabitur in a, tortor ut praesent placerat tincidunt interdum, ac dignissim metus nonummy hendrerit wisi, etiam ut.\r\n Semper praesent integer fusce, tortor suspendisse, augue ligula orci ante asperiores ullamcorper. In sit per mi sed sed, mi vestibulum mus nam, morbi mauris neque vitae aliquam proin senectus. Ac amet arcu mollis ante congue elementum, inceptos eget optio quam pellentesque quis lobortis, sollicitudin sed vestibulum sollicitudin, lectus parturient nullam, leo orci ligula ultrices. At tincidunt enim, suspendisse est sit sem ac. Amet tellus molestie est purus magna augue, non etiam et in wisi id. Non commodo, metus lorem facilisi lobortis ac velit, montes neque sed risus consectetuer fringilla dolor. Quam justo et integer aliquam, cursus nulla enim orci, nam cursus adipiscing, integer torquent non, fringilla per maecenas. Libero ipsum sed tellus purus et. Duis molestie placerat erat donec ut. Dolor enim erat massa faucibus ultrices in, ante ultricies orci lacus, libero consectetuer mauris magna feugiat neque dapibus, donec pretium et. Aptent dui, aliquam et et amet nostra ligula.\r\n Augue curabitur duis dui volutpat, tempus sed ut pede donec. Interdum luctus, lectus nulla aenean elit, id sit magna, vulputate ultrices pellentesque vel id fermentum morbi. Tortor et. Adipiscing augue lorem cum non lacus, rutrum sodales laoreet duis tortor, modi placerat facilisis et malesuada eros ipsum, vehicula tempus. Ac vivamus amet non aliquam venenatis lectus, sociosqu adipiscing consequat nec arcu odio. Blandit orci nec nec, posuere in pretium, enim ut, consectetuer nullam urna, risus vel. Nullam odio vehicula massa sed, etiam sociis mauris, lacus ullamcorper, libero imperdiet non sodales placerat justo vehicula. Nec morbi imperdiet. Fermentum sem libero iaculis bibendum et eros, eget maecenas non nunc, ad pellentesque. Ut nec diam elementum interdum. Elementum vitae tellus lacus vitae, ipsum phasellus, corporis vehicula in ac sed massa vivamus, rutrum elit, ultricies metus volutpat.\r\n Semper wisi et, sollicitudin nunc vestibulum, cursus accumsan nunc pede tempus mi ipsum, ligula sed. Non condimentum ac dolor sit. Mollis eu aliquam, vel mattis mollis massa ut dolor ante, tempus lacinia arcu. Urna vestibulum lorem, nulla fermentum, iaculis ut congue ac vivamus. Nam libero orci, pulvinar nulla, enim pellentesque consectetuer leo, feugiat rhoncus rhoncus vel. Magna sociosqu donec, dictum cursus ullamcorper viverra. Ultricies quis orci lorem, suspendisse ut vestibulum integer, purus sed lorem pulvinar habitasse turpis.\r\n +\r\n \r\n \r\n \r\n dialog = false\">\r\n Disagree\r\n \r\n dialog = false\">\r\n Agree\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool dialog = false;\r\n}", + "Type": "Demos.Components.Dialog.misc.Overflowed", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 9, + "Name": "withoutActivator", + "Title": "没有激活器", + "Description": "

如果因为某些原因不能使用激活器插槽,请确保将 StopPropagation 修饰符添加到触发对话框的事件。

\n", + "Code": "\r\n dialog = true\">\r\n Open Dialog\r\n \r\n\r\n \r\n \r\n \r\n Use Google's location service?\r\n \r\n\r\n \r\n Let Google help apps determine location. This means sending anonymous location data to Google, even when no apps are running.\r\n \r\n\r\n \r\n \r\n\r\n dialog = false\">\r\n Disagree\r\n \r\n\r\n dialog = false\">\r\n Agree\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool dialog = false;\r\n}", + "Type": "Demos.Components.Dialog.misc.WithoutActivator", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/buttons", + "/components/cards", + "/components/menus" + ], + "Subtitle": "对话框", + "Title": "Dialogs", + "Type": "对话框" + }, + { + "Desc": "

MDivider 组件用于分隔列表或布局的各个部分。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.4842458+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "Index", + "Title": "使用", + "Description": "

最简单的分隔线显示一条水平线。

\n", + "Code": "", + "Type": "Demos.Components.Divider.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "inset", + "Title": "缩进", + "Description": "

inset属性令分隔线向右缩进72px。 这将使他们与列表项保持一致。

\n", + "Code": "\r\n \r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n if (!string.IsNullOrWhiteSpace(item.Header))\r\n {\r\n @item.Header\r\n }\r\n else if (item.Divider)\r\n {\r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n \r\n \r\n \r\n @((MarkupString)item.Title)\r\n @((MarkupString)item.SubTtile)\r\n \r\n \r\n }\r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private class DataDemo\r\n {\r\n public string Header { get; set; }\r\n public string Avatar { get; set; }\r\n public string Title { get; set; }\r\n public string SubTtile { get; set; }\r\n public bool Divider { get; set; }\r\n public bool Inset { get; set; }\r\n }\r\n\r\n private List _items = new List()\r\n {\r\n new DataDemo\r\n {\r\n Header = \"Today\"\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://cdn.vuetifyjs.com/images/lists/1.jpg\",\r\n Title = \"Brunch this weekend?\",\r\n SubTtile = \"Ali Connors — I'll be in your neighborhood doing errands this weekend. Do you want to hang out?\"\r\n },\r\n new DataDemo\r\n {\r\n Divider = true,\r\n Inset = true\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://cdn.vuetifyjs.com/images/lists/2.jpg\",\r\n Title = \"Summer BBQ 4\",\r\n SubTtile = \"to Alex, Scott, Jennifer — Wish I could come, but I'm out of town this weekend.\"\r\n },\r\n new DataDemo\r\n {\r\n Divider = true,\r\n Inset = true\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://cdn.vuetifyjs.com/images/lists/3.jpg\",\r\n Title = \"Oui oui\",\r\n SubTtile = \"Sandra Adams — Do you have Paris recommendations? Have you ever been?\"\r\n }\r\n };\r\n}\r\n", + "Type": "Demos.Components.Divider.props.Inset", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "vertical", + "Title": "垂直", + "Description": "

垂直分隔线为您提供了更多用于独特布局的工具。

\n", + "Code": "\r\n Title\r\n\r\n \r\n\r\n My Home\r\n\r\n \r\n\r\n \r\n News\r\n\r\n \r\n\r\n Blog\r\n\r\n \r\n\r\n Music\r\n\r\n \r\n \r\n\r\n \r\n\r\n", + "Type": "Demos.Components.Divider.props.Vertical", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "subheaders", + "Title": "副标题", + "Description": "

分割线和副标题可以帮助分解内容,并可以使用相同的 inset 属性来相互对齐。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n\r\n Message Board\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n if (!string.IsNullOrWhiteSpace(item.Header))\r\n {\r\n @item.Header\r\n }\r\n else if (item.Divider)\r\n {\r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n \r\n \r\n \r\n @((MarkupString)item.Title)\r\n @((MarkupString)item.SubTtile)\r\n \r\n \r\n }\r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private class DataDemo\r\n {\r\n public string Header { get; set; }\r\n public string Avatar { get; set; }\r\n public string Title { get; set; }\r\n public string SubTtile { get; set; }\r\n public bool Divider { get; set; }\r\n }\r\n\r\n private List _items = new List()\r\n {\r\n new DataDemo\r\n {\r\n Header = \"Today\"\r\n },\r\n new DataDemo\r\n {\r\n Divider = true\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=660\",\r\n Title = \"Meeting @ Noon\",\r\n SubTtile = \"Spike Lee — I'll be in your neighborhood\"\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=821\",\r\n Title = \"Summer BBQ \",\r\n SubTtile = \"to Operations support — Wish I could come.\"\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=783\",\r\n Title = \"Yes yes\",\r\n SubTtile = \"Bella — Do you have Paris recommendations\"\r\n },\r\n new DataDemo\r\n {\r\n Header = \"Yesterday\"\r\n },\r\n new DataDemo\r\n {\r\n Divider = true\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=1006\",\r\n Title = \"Dinner tonight?\",\r\n SubTtile = \"LaToya — Do you want to hang out?\"\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=146\",\r\n Title = \"So long\",\r\n SubTtile = \"Nancy — Do you see what time it is?\"\r\n },\r\n new DataDemo\r\n {\r\n Header = \"Last Week\"\r\n },\r\n new DataDemo\r\n {\r\n Divider = true\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=1008\",\r\n Title = \"Breakfast?\",\r\n SubTtile = \"LaToya — Do you want to hang out?\"\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=839\",\r\n Title = \"Winter Porridge \",\r\n SubTtile = \"cc: Daniel — Tell me more...\"\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=145\",\r\n Title = \"Oui oui\",\r\n SubTtile = \"Nancy — Do you see what time it is?\"\r\n }\r\n };\r\n}", + "Type": "Demos.Components.Divider.misc.SubHeaders", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "view", + "Title": "纵向视图", + "Description": "

创建自定义卡片以适应任何用例。

\n", + "Code": "\r\n \r\n \r\n \r\n Sarah Mcbeal\r\n\r\n \r\n\r\n \r\n mdi-chevron-left\r\n \r\n\r\n \r\n mdi-pencil\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n \r\n mdi-phone\r\n \r\n\r\n \r\n (650) 555-1234\r\n \r\n\r\n \r\n mdi-message-text\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n mdi-phone\r\n \r\n\r\n \r\n (323) 555-6789\r\n \r\n\r\n \r\n mdi-message-text\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n mdi-email\r\n \r\n\r\n \r\n mcbeal@example.com\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n mdi-map-marker\r\n \r\n\r\n \r\n Orlando, FL 79938\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Divider.misc.View", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Dividers.svg", + "Cols": 1, + "Related": [ + "/components/lists", + "/components/navigation-drawers", + "/components/toolbars" + ], + "Subtitle": "分隔线", + "Title": "Dividers", + "Type": "分隔线" + }, + { + "Desc": "

ECharts

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-12-02T18:38:45.4850728+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "basic", + "Title": "使用", + "Description": "

图表示例

\n", + "Code": "
\r\n \r\n \r\n
\r\n\r\n@code{\r\n private object _option = new\r\n {\r\n Title = new\r\n {\r\n Text = \"ECharts 入门示例\"\r\n },\r\n Tooltip = new { },\r\n Legend = new\r\n {\r\n Data = new[] { \"销量\" }\r\n },\r\n XAxis = new\r\n {\r\n Data = new[] { \"衬衫\", \"羊毛衫\", \"雪纺衫\", \"裤子\", \"高跟鞋\", \"袜子\" }\r\n },\r\n YAxis = new { },\r\n Series = new[]\r\n {\r\n new \r\n {\r\n Name= \"销量\",\r\n Type= \"bar\",\r\n Data= new []{ 5, 20, 36, 10, 10, 20 }\r\n }\r\n }\r\n };\r\n}\r\n\r\n", + "Type": "Demos.Components.ECharts.usage.Basic", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "heightAndWidth", + "Title": "高度和宽度", + "Description": "

通过 Height,Width 属性设置宽高

\n", + "Code": "\r\n 柱状图\r\n \r\n \r\n \r\n \r\n \r\n \r\n 宽高比:400/300\r\n \r\n \r\n\r\n\r\n@code {\r\n private object _option = new\r\n {\r\n Title = new\r\n {\r\n Text = \"ECharts 入门示例\"\r\n },\r\n Tooltip = new { },\r\n Legend = new\r\n {\r\n Data = new[] { \"销量\" }\r\n },\r\n XAxis = new\r\n {\r\n Data = new[] { \"衬衫\", \"羊毛衫\", \"雪纺衫\", \"裤子\", \"高跟鞋\", \"袜子\" }\r\n },\r\n YAxis = new { },\r\n Series = new[]\r\n {\r\n new\r\n {\r\n Name= \"销量\",\r\n Type= \"bar\",\r\n Data= new []{ 5, 20, 36, 10, 10, 20 }\r\n }\r\n }\r\n };\r\n}\r\n\r\n", + "Type": "Demos.Components.ECharts.props.HeightAndWidth", + "Style": "", + "Debug": false, + "Group": 0 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ECharts.svg", + "Cols": 1, + "Subtitle": "图表", + "Title": "ECharts", + "Type": "图表" + }, + { + "Desc": "

MExpansionPanel 组件有助于减少大量信息的垂直空间占用。 组件的默认功能是仅显示一个扩展面板; 然而,使用 Multiple 属性后,扩展面板可以保持打开,直到显式地关闭。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-09T10:30:56.7909558+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

最简单的扩展面板显示可扩展项目的列表。

\n", + "Code": "\r\n @foreach (var i in Enumerable.Range(0, 5))\r\n {\r\n \r\n \r\n Item\r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n }\r\n", + "Type": "Demos.Components.ExpansionPanels.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "accordion", + "Title": "手风琴", + "Description": "

Accordion 属性激活时,当前扩展面板周围不会有边距。

\n", + "Code": "\r\n \r\n @foreach (var i in Enumerable.Range(0, 5))\r\n {\r\n \r\n Item\r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n }\r\n \r\n", + "Type": "Demos.Components.ExpansionPanels.props.Accordion", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "disabled", + "Title": "禁用", + "Description": "

ExpansionPanels 扩展面板及其内容都可以使用 disabled 属性禁用。

\n", + "Code": "
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n Panel 1\r\n \r\n Some content\r\n \r\n \r\n\r\n \r\n Panel 2\r\n \r\n Some content\r\n \r\n \r\n\r\n \r\n Panel 3\r\n \r\n Some content\r\n \r\n \r\n \r\n
\r\n\r\n\r\n@code {\r\n bool disabled;\r\n List panel = new() {0, 1};\r\n}", + "Type": "Demos.Components.ExpansionPanels.props.Disabled", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "focusable", + "Title": "调焦", + "Description": "

扩展面板头部可以使用 focusable 属性使其可以聚焦。

\n", + "Code": "\r\n @foreach (var i in Enumerable.Range(0, 5))\r\n {\r\n \r\n \r\n Item\r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n }\r\n", + "Type": "Demos.Components.ExpansionPanels.props.Focusable", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "inset", + "Title": "缩进", + "Description": "

inset 属性激活时,当前扩张面板变得更小。

\n", + "Code": "\r\n \r\n @foreach (var i in Enumerable.Range(0, 5))\r\n {\r\n \r\n Item\r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n }\r\n \r\n", + "Type": "Demos.Components.ExpansionPanels.props.Inset", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 5, + "Name": "model", + "Title": "外部控制", + "Description": "

可以通过修改 v-model 来从外部控制扩展面板。 它的值对应于当前打开的扩展面板索引(从0开始)。 如果使用 multiple 属性,则是一个包含打开项索引的数组。

\n", + "Code": "
\r\n
\r\n \r\n all\r\n \r\n
[@string.Join(\",\", panel)]
\r\n \r\n none\r\n \r\n
\r\n\r\n \r\n @foreach (var i in Enumerable.Range(0, items))\r\n {\r\n \r\n Header @(i + 1)\r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n }\r\n \r\n
\r\n\r\n@code {\r\n\r\n List panel = new();\r\n\r\n int items = 5;\r\n\r\n void All()\r\n {\r\n panel = Enumerable.Range(0, 5).Select(i => (StringNumber)i).ToList();\r\n }\r\n\r\n void None()\r\n {\r\n panel.Clear();\r\n }\r\n\r\n}", + "Type": "Demos.Components.ExpansionPanels.props.Model", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 6, + "Name": "popout", + "Title": "弹出", + "Description": "

扩展面板还具有 popout 设计。 如果扩展面板激活popout属性,扩张面板将会在激活时扩大。

\n", + "Code": "\r\n \r\n @foreach (var i in Enumerable.Range(0, 5))\r\n {\r\n \r\n Item\r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n }\r\n \r\n", + "Type": "Demos.Components.ExpansionPanels.props.Popout", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 7, + "Name": "readonly", + "Title": "只读", + "Description": "

readonly 属性做了与 disabled 相同的事情,但不涉及样式。

\n", + "Code": "
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n Panel 1\r\n \r\n Some content\r\n \r\n \r\n\r\n \r\n Panel 2\r\n \r\n Some content\r\n \r\n \r\n\r\n \r\n Panel 3\r\n \r\n Some content\r\n \r\n \r\n \r\n
\r\n\r\n\r\n@code {\r\n List panel = new() {0, 1};\r\n\r\n bool _readonly;\r\n}", + "Type": "Demos.Components.ExpansionPanels.props.Readonly", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 8, + "Name": "advanced", + "Title": "高级版", + "Description": "

扩展面板为构建真正高级的实现提供了丰富的平台。 在这里,我们可以利用 MExpansionPanelHeader 组件中的插槽,通过淡入淡出内容来响应打开或关闭的状态。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n Trip name\r\n \r\n \r\n \r\n @*TODO: Transition need to update, support LeaveAbsolute*@\r\n \r\n \r\n Enter a name for the trip\r\n \r\n \r\n \r\n \r\n \r\n \r\n @trip.name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Location\r\n \r\n \r\n \r\n \r\n \r\n Select trip destination\r\n \r\n \r\n \r\n \r\n \r\n \r\n @trip.location\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n item\"\r\n ItemText=\"item => item\"\r\n Chips\r\n Flat\r\n Solo>\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n Select your destination of choice\r\n
\r\n Learn more\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n Start and end dates\r\n \r\n \r\n \r\n \r\n When do you want to travel?\r\n \r\n \r\n \r\n \r\n \r\n \r\n Start date: @(trip.start ?? \"Not set\")\r\n \r\n \r\n End date: @(trip.end ?? \"Not set\")\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n visible = false\">\r\n Cancel\r\n \r\n { trip.start = date.ToShortDateString(); visible = false;}\">\r\n OK\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n visible2 = false\">\r\n Cancel\r\n \r\n { trip.end = date2.ToShortDateString(); visible2 = false; }\">\r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n DateOnly date = DateOnly.FromDateTime(DateTime.Now);\r\n DateOnly date2 = DateOnly.FromDateTime(DateTime.Now);\r\n\r\n List locations = new() { \"Australia\", \"Barbados\", \"Chile\", \"Denmark\", \"Ecuador\", \"France\" };\r\n\r\n Trip trip = new();\r\n\r\n bool visible = false;\r\n bool visible2 = false;\r\n\r\n class Trip\r\n {\r\n public string name { get; set; }\r\n public string location { get; set; }\r\n public string start { get; set; }\r\n public string end { get; set; }\r\n }\r\n\r\n}", + "Type": "Demos.Components.ExpansionPanels.misc.Advanced", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 9, + "Name": "customIcon", + "Title": "自定义图标", + "Description": "

展开操作的图标可以使用 ExpandIcon 属性或 ActionsContent 定义。

\n", + "Code": "
\r\n \r\n @foreach (var item in Enumerable.Range(0, 5))\r\n {\r\n \r\n \r\n Item\r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n }\r\n \r\n\r\n \r\n \r\n \r\n \r\n Item\r\n \r\n \r\n \r\n mdi-chevron-down\r\n \r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n\r\n \r\n \r\n \r\n Item\r\n \r\n \r\n \r\n mdi-check\r\n \r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n\r\n \r\n \r\n \r\n Item\r\n \r\n \r\n \r\n mdi-alert-circle\r\n \r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n \r\n
", + "Type": "Demos.Components.ExpansionPanels.misc.CustomIcon", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Cols": 1, + "Related": [ + "/components/cards", + "/components/data-tables", + "/components/lists" + ], + "Subtitle": "扩展面板", + "Title": "Expansion panels", + "Type": "扩展面板" + }, + { + "Desc": "

MFooter组件用于显示用户可能想要从网站中的任何页面都能访问到的公共信息。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.4882464+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

最简单形式的 MFooter 组件是一个容器。

\n", + "Code": "\r\n \r\n \r\n \r\n @foreach (var icon in _icons)\r\n {\r\n \r\n \r\n @icon\r\n \r\n \r\n }\r\n \r\n\r\n \r\n\r\n \r\n @DateTime.Now.Year - MASA Blazor\r\n \r\n \r\n \r\n\r\n \r\n \r\n x\" ItemValue=\"x => x\">\r\n\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[] _icons = new string[4] { \"mdi-home\", \"mdi-email\", \"mdi-calendar\", \"mdi-delete\" };\r\n private List _items = new List { \"Default\", \"Absolute\", \"Fixed\" };\r\n private bool _padless = false;\r\n private string _variant = \"Default\";\r\n\r\n private Dictionary LocalAttrs\r\n {\r\n get\r\n {\r\n var dic = new Dictionary();\r\n if (_variant == \"Default\")\r\n {\r\n dic.Add(\"Absolute\", false);\r\n dic.Add(\"Fixed\", false);\r\n }\r\n else if (_variant == \"Absolute\")\r\n {\r\n dic.Add(\"Default\", false);\r\n dic.Add(\"Fixed\", false);\r\n }\r\n else\r\n {\r\n dic.Add(\"Default\", false);\r\n dic.Add(\"Absolute\", false);\r\n }\r\n \r\n dic.Add(_variant, true);\r\n\r\n return dic;\r\n }\r\n }\r\n}", + "Type": "Demos.Components.Footer.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "padless", + "Title": "无内边距的页脚", + "Description": "

Padless属性移除页脚组件所有默认的内边距。

\n", + "Code": "\r\n \r\n @DateTime.Now.Year - MASA Blazor\r\n \r\n", + "Type": "Demos.Components.Footer.props.Padless", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "company", + "Title": "公司页脚", + "Description": "

页脚组件可以作为带有链接的基本公司页脚。

\n", + "Code": "\r\n \r\n @foreach (var link in _links)\r\n {\r\n \r\n @link\r\n \r\n }\r\n \r\n @DateTime.Now.Year - MASA Blazor\r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[] _links = new string[6] { \"Home\", \"About Us\", \"Team\", \"Services\", \"Blog\", \"Contact Us\" };\r\n}", + "Type": "Demos.Components.Footer.misc.Company", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 2, + "Name": "indigo", + "Title": "靛蓝色页脚", + "Description": "

靛蓝背景色、带有社交媒体图标和按钮的页脚组件。

\n", + "Code": "\r\n \r\n \r\n @foreach (var icon in _icons)\r\n {\r\n \r\n @icon\r\n \r\n }\r\n \r\n\r\n \r\n @_description\r\n \r\n \r\n \r\n\r\n \r\n @DateTime.Now.Year - MASA Blazor\r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[] _icons = new string[4] { \"mdi-facebook\", \"mdi-twitter\", \"mdi-linkedin\", \"mdi-instagram\" };\r\n private const string _description = \"Phasellus feugiat arcu sapien, et iaculis ipsum elementum sit amet. \" +\r\n \"Mauris cursus commodo interdum. Praesent ut risus eget metus luctus accumsan id ultrices nunc. \" + \r\n \"Sed at orci sed massa consectetur dignissim a sit amet dui. Duis commodo vitae velit et faucibus. \" +\r\n \"Morbi vehicula lacinia malesuada. Nulla placerat augue vel ipsum ultrices, cursus iaculis dui sollicitudin. \" +\r\n \"Vestibulum eu ipsum vel diam elementum tempor vel ut orci. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.\";\r\n}", + "Type": "Demos.Components.Footer.misc.Indigo", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 2, + "Name": "teal", + "Title": "蓝绿色页脚", + "Description": "

蓝绿背景色的头部、带有多列链接的页脚组件。

\n", + "Code": "\r\n \r\n \r\n Get connected with us on social networks!\r\n\r\n \r\n\r\n @foreach (var icon in _icons)\r\n {\r\n \r\n @icon\r\n \r\n }\r\n \r\n\r\n \r\n @DateTime.Now.Year - MASA Blazor\r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[] _icons = new string[4] { \"mdi-facebook\", \"mdi-twitter\", \"mdi-linkedin\", \"mdi-instagram\" };\r\n}", + "Type": "Demos.Components.Footer.misc.Teal", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/grid-system", + "/components/buttons", + "/components/toolbars" + ], + "Subtitle": "页脚", + "Title": "Footers", + "Type": "页脚" + }, + { + "Desc": "

MAutocomplete 组件提供简单且灵活的自动补全功能 且支持查找大规模数据甚至是从API请求的动态数据

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "注意": "\n \n

当使用一个Object(对象) 作为Items的属性时,你必须使用ItemTextItemValue与传入的对象关联起来。 这些值默认为 TextValue 且可以更改。

\n \n \n

MenuPropsAuto 属性只支持默认输入样式。

\n \n \n

浏览器自动补全默认设置为关闭,可能因不同的浏览器而变化或忽略。 MDN

\n \n" + }, + "LastWriteTime": "2021-12-02T18:38:45.4921918+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

自动补全组件拓展了v-select并且添加了过滤项目的功能

\n", + "Code": "r\"\r\n ItemValue=\"r=>r\">\r\n\r\n@code {\r\n private List _items = new List()\r\n {\r\n \"Alabama\", \"Alaska\", \"American Samoa\", \"Arizona\",\r\n \"Arkansas\", \"California\", \"Colorado\", \"Connecticut\",\r\n \"Delaware\", \"District of Columbia\", \"Federated States of Micronesia\",\r\n \"Florida\", \"Georgia\", \"Guam\", \"Hawaii\", \"Idaho\",\r\n \"Illinois\", \"Indiana\", \"Iowa\", \"Kansas\", \"Kentucky\",\r\n \"Louisiana\", \"Maine\", \"Marshall Islands\", \"Maryland\",\r\n \"Massachusetts\", \"Michigan\", \"Minnesota\", \"Mississippi\",\r\n \"Missouri\", \"Montana\", \"Nebraska\", \"Nevada\",\r\n \"New Hampshire\", \"New Jersey\", \"New Mexico\", \"New York\",\r\n \"North Carolina\", \"North Dakota\", \"Northern Mariana Islands\", \"Ohio\",\r\n \"Oklahoma\", \"Oregon\", \"Palau\", \"Pennsylvania\", \"Puerto Rico\",\r\n \"Rhode Island\", \"South Carolina\", \"South Dakota\", \"Tennessee\",\r\n \"Texas\", \"Utah\", \"Vermont\", \"Virgin Island\", \"Virginia\",\r\n \"Washington\", \"West Virginia\", \"Wisconsin\", \"Wyoming\"\r\n };\r\n private string _value;\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Autocomplete.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "dense", + "Title": "紧凑", + "Description": "

你可以使用dense属性来降低自动补全的高度和缩小列表项的最大高度。

\n", + "Code": "\r\n \r\n \r\n \r\n r\"\r\n ItemValue=\"r=>r\"\r\n Outlined\r\n Dense\r\n Chips\r\n SmallChips\r\n Label=\"Outlined\"\r\n Multiple>\r\n \r\n \r\n r\"\r\n ItemValue=\"r=>r\"\r\n Dense\r\n Chips\r\n Label=\"Solo\"\r\n Multiple\r\n Solo>\r\n \r\n \r\n r\"\r\n ItemValue=\"r=>r\"\r\n Dense\r\n Filled\r\n Label=\"Filled\">\r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private List _items = new List\r\n {\r\n \"foo\", \"bar\", \"fizz\", \"buzz\"\r\n };\r\n private List _values = new List\r\n {\r\n \"foo\", \"bar\"\r\n };\r\n private string _value = \"foo\";\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Autocomplete.props.Dense", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "filter", + "Title": "过滤器", + "Description": "

filter属性可以用自定义的逻辑来过滤单独的项目 在这个例子中我们使用name来过滤项目

\n", + "Code": "\r\n \r\n mdi-account\r\n \r\n User Profile\r\n \r\n \r\n _isEditing = !_isEditing\">\r\n @if (_isEditing)\r\n {\r\n \r\n mdi-close\r\n \r\n }\r\n else\r\n {\r\n \r\n mdi-pencil\r\n \r\n }\r\n \r\n \r\n \r\n \r\n r.Name\"\r\n ItemValue=\"r=>r.Id\"\r\n Label=\"State\">\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n Your profile has been updated\r\n \r\n\r\n\r\n@code {\r\n public class Model\r\n {\r\n public int Id { get; set; }\r\n public string Name { get; set; }\r\n public string Abbr { get; set; }\r\n }\r\n\r\n private bool _hasSaved;\r\n private bool _isEditing;\r\n private string _model;\r\n private List _states = new List\r\n {\r\n new Model\r\n {\r\n Name=\"Florida\",\r\n Abbr=\"FL\",\r\n Id=1\r\n },\r\n new Model\r\n {\r\n Name=\"Georgia\",\r\n Abbr=\"GA\",\r\n Id=2\r\n },\r\n new Model\r\n {\r\n Name=\"Nebraska\",\r\n Abbr=\"NE\",\r\n Id=3\r\n },\r\n new Model\r\n {\r\n Name=\"California\",\r\n Abbr=\"CA\",\r\n Id=4\r\n },\r\n new Model\r\n {\r\n Name=\"New York\",\r\n Abbr=\"NY\",\r\n Id=5\r\n }\r\n };\r\n\r\n public bool CustomFilter(Model item, string queryText)\r\n {\r\n var textOne = item.Name.ToLowerInvariant();\r\n var textTwo = item.Abbr.ToLowerInvariant();\r\n var searchText = queryText.ToLowerInvariant();\r\n\r\n return textOne.IndexOf(searchText) > -1 ||\r\n textTwo.IndexOf(searchText) > -1;\r\n }\r\n\r\n public void Save()\r\n {\r\n _isEditing = !_isEditing;\r\n _hasSaved = true;\r\n }\r\n}", + "Type": "Demos.Components.FormInputs.children.Autocomplete.props.Filter", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "itemAndSelection", + "Title": "项目和选择项", + "Description": "

你可以使用插槽自定义被选中时的视觉效果。 在这个示例中,我们为 chipslist-item 添加了头像。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n IsUpdating = true\">\r\n \r\n mdi-cog\r\n \r\n \r\n Update\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n @_name\r\n

\r\n @_title\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n r.Name\"\r\n ItemValue=\"r=>r.Name\"\r\n Multiple>\r\n \r\n Remove(data.Item)\">\r\n \r\n \r\n \r\n @data.Item.Name\r\n \r\n \r\n \r\n @if (data.Item.Header != null)\r\n {\r\n @data.Item.Header\r\n }\r\n else if (data.Item.Divider)\r\n {\r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n \r\n \r\n \r\n @((MarkupString)data.Item.Name)\r\n \r\n \r\n @((MarkupString)data.Item.Group)\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n IsUpdating = true\">\r\n \r\n mdi-update\r\n \r\n Update Now\r\n \r\n \r\n
\r\n
\r\n\r\n@code {\r\n private bool _autoUpdate = true;\r\n private List _friends = new()\r\n {\r\n \"Sandra Adams\",\r\n \"Britta Holt\"\r\n };\r\n private bool _isUpdating;\r\n private string _name = \"Midnight Crew\";\r\n\r\n public class Person\r\n {\r\n public string Header { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public string Group { get; set; }\r\n\r\n public string Avatar { get; set; }\r\n\r\n public bool Divider { get; set; }\r\n }\r\n\r\n private List _people = new List\r\n {\r\n new Person\r\n {\r\n Header=\"Group 1\",\r\n Name=\"Group 1\"\r\n },\r\n new Person\r\n {\r\n Name=\"Sandra Adams\",\r\n Group=\"Group 1\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/1.jpg\"\r\n },\r\n new Person\r\n {\r\n Name=\"Ali Connors\",\r\n Group=\"Group 1\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/2.jpg\"\r\n },\r\n new Person\r\n {\r\n Name=\"Trevor Hansen\",\r\n Group=\"Group 1\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/3.jpg\"\r\n },\r\n new Person\r\n {\r\n Name=\"Tucker Smith\",\r\n Group=\"Group 1\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/2.jpg\"\r\n },\r\n new Person\r\n {\r\n Divider=true,\r\n Name=\"Group 1\"\r\n },\r\n new Person\r\n {\r\n Header=\"Group 2\",\r\n Name=\"Group 1\"\r\n },\r\n new Person\r\n {\r\n Name=\"Britta Holt\",\r\n Group=\"Group 2\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/4.jpg\"\r\n },\r\n new Person\r\n {\r\n Name=\"Jane Smith \",\r\n Group=\"Group 2\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/5.jpg\"\r\n },\r\n new Person\r\n {\r\n Name=\"John Smith\",\r\n Group=\"Group 2\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/1.jpg\"\r\n },\r\n new Person\r\n {\r\n Name=\"Sandra Williams\",\r\n Group=\"Group 2\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/3.jpg\"\r\n }\r\n };\r\n private string _title = \"The summer breeze\";\r\n\r\n protected bool IsUpdating\r\n {\r\n get\r\n {\r\n return _isUpdating;\r\n }\r\n set\r\n {\r\n _isUpdating = value;\r\n _ = Task.Run(async () =>\r\n {\r\n await Task.Delay(3000);\r\n _isUpdating = false;\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n }\r\n\r\n public void Remove(Person item)\r\n {\r\n var index = _friends.IndexOf(item.Name);\r\n if (index >= 0)\r\n {\r\n _friends.RemoveAt(index);\r\n }\r\n }\r\n }\r\n", + "Type": "Demos.Components.FormInputs.children.Autocomplete.contents.ItemAndSelection", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 0, + "Name": "apiSearch", + "Title": "API查找", + "Description": "

轻松绑定动态数据并创建独特的体验。 MAutocomplete 的扩展支持列表使得很容易调节每个方面的输入。

\n", + "Code": "\r\n \r\n Search for Public APIs\r\n \r\n \r\n Explore hundreds of free API's ready for consumption! For more information visit\r\n the GitHub repository.\r\n \r\n \r\n r.Description\"\r\n ItemValue=\"r=>r.API\"\r\n Label=\"Public APIs\"\r\n Placeholder=\"Start typing to Search\"\r\n PrependIcon=\"mdi-database-search\">\r\n \r\n \r\n \r\n \r\n @for (var i = 0; i < Fields.Count; i++)\r\n {\r\n var field = Fields.ElementAt(i);\r\n \r\n \r\n \r\n @field.Value\r\n \r\n \r\n @field.Key\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n Clear\r\n \r\n mdi-close-circle\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Item\r\n {\r\n public string API { get; set; }\r\n\r\n public string Description { get; set; }\r\n\r\n public string Auth { get; set; }\r\n\r\n public string HTPPS { get; set; }\r\n\r\n public string Cors { get; set; }\r\n\r\n public string Link { get; set; }\r\n\r\n public string Category { get; set; }\r\n }\r\n\r\n public class Result\r\n {\r\n public int Count { get; set; }\r\n\r\n public List Entries { get; set; }\r\n }\r\n\r\n private int _descriptionLimit = 60;\r\n private List _entries = new List();\r\n private bool _isLoading;\r\n private Item _model;\r\n private string _value;\r\n private bool _show;\r\n\r\n [Inject]\r\n public HttpClient HttpClient { get; set; }\r\n\r\n protected List Items\r\n {\r\n get\r\n {\r\n return _entries.Select(entry =>\r\n {\r\n var item = new Item();\r\n\r\n item.API = entry.API;\r\n item.Auth = entry.Auth;\r\n item.Category = entry.Category;\r\n item.Cors = entry.Cors;\r\n item.Description = entry.Description.Length > _descriptionLimit ? entry.Description.Substring(0, _descriptionLimit) + \"...\" : entry.Description;\r\n item.HTPPS = entry.HTPPS;\r\n item.Link = entry.Link;\r\n\r\n return item;\r\n }).ToList();\r\n }\r\n }\r\n\r\n protected Dictionary Fields\r\n {\r\n get\r\n {\r\n if (_model == null)\r\n {\r\n return new Dictionary();\r\n }\r\n\r\n return new Dictionary\r\n {\r\n {\"API\",_model.API},\r\n {\"Auth\",_model.Auth},\r\n {\"Category\",_model.Category},\r\n {\"Cors\",_model.Cors},\r\n {\"Description\",_model.Description},\r\n {\"HTPPS\",_model.HTPPS},\r\n {\"Link\",_model.Link}\r\n };\r\n }\r\n }\r\n\r\n public async Task UpdateSearchInputAsync(string val)\r\n {\r\n if (Items.Count > 0)\r\n {\r\n return;\r\n }\r\n\r\n if (_isLoading)\r\n {\r\n return;\r\n }\r\n\r\n _isLoading = true;\r\n\r\n var res = await HttpClient.GetFromJsonAsync(\"https://api.publicapis.org/entries\");\r\n _entries = res.Entries.Take(20).ToList();//We can't process too many items now\r\n\r\n _isLoading = false;\r\n }\r\n\r\n public async Task UpdateItemAsync(Item item)\r\n {\r\n _model = item;\r\n await Task.Delay(100);//We will fix this when transition update to javascript\r\n _show = true;\r\n }\r\n\r\n public void Clear()\r\n {\r\n _model = null;\r\n _value = null;\r\n _show = false;\r\n }\r\n }\r\n", + "Type": "Demos.Components.FormInputs.children.Autocomplete.misc.ApiSearch", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "asynchronousItems", + "Title": "异步项目", + "Description": "

有时您需要基于搜索查询加载外部的数据。 在赋值autocomplete的属性时使用search-input属性与**.sync修饰符 我们还使用新的 cache-items 属性。 这将保持一个唯一的列表,它的所有项目都被传递到items属性。当使用异步项目和 多个 属性时是必须的** 。

\n", + "Code": "\r\n State selection\r\n r\"\r\n ItemText=\"r=>r\"\r\n HideDetails=\"true\"\r\n Label=\"What state are you from?\"\r\n SoloInverted>\r\n \r\n mdi-dots-vertical\r\n \r\n\r\n\r\n@code {\r\n private bool _loading;\r\n private List _items=new List();\r\n private List _states = new List()\r\n {\r\n \"Alabama\", \"Alaska\", \"American Samoa\", \"Arizona\",\r\n \"Arkansas\", \"California\", \"Colorado\", \"Connecticut\",\r\n \"Delaware\", \"District of Columbia\", \"Federated States of Micronesia\",\r\n \"Florida\", \"Georgia\", \"Guam\", \"Hawaii\", \"Idaho\",\r\n \"Illinois\", \"Indiana\", \"Iowa\", \"Kansas\", \"Kentucky\",\r\n \"Louisiana\", \"Maine\", \"Marshall Islands\", \"Maryland\",\r\n \"Massachusetts\", \"Michigan\", \"Minnesota\", \"Mississippi\",\r\n \"Missouri\", \"Montana\", \"Nebraska\", \"Nevada\",\r\n \"New Hampshire\", \"New Jersey\", \"New Mexico\", \"New York\",\r\n \"North Carolina\", \"North Dakota\", \"Northern Mariana Islands\", \"Ohio\",\r\n \"Oklahoma\", \"Oregon\", \"Palau\", \"Pennsylvania\", \"Puerto Rico\",\r\n \"Rhode Island\", \"South Carolina\", \"South Dakota\", \"Tennessee\",\r\n \"Texas\", \"Utah\", \"Vermont\", \"Virgin Island\", \"Virginia\",\r\n \"Washington\", \"West Virginia\", \"Wisconsin\", \"Wyoming\"\r\n };\r\n private string _select;\r\n\r\n private async Task QuerySelections(string v)\r\n {\r\n if (string.IsNullOrEmpty(v) || v == _select)\r\n {\r\n return;\r\n }\r\n\r\n _loading = true;\r\n await Task.Delay(500);\r\n _items = _states.Where(e => e.ToLowerInvariant().IndexOf(v.ToLowerInvariant()) > -1).ToList();\r\n _loading = false;\r\n }\r\n}", + "Type": "Demos.Components.FormInputs.children.Autocomplete.misc.AsynchronousItems", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "cryptocurrencySelector", + "Title": "加密货币选择器", + "Description": "

MAutocomplete 组件非常灵活,可以适合任何使用情况。 为no-data, item和selection插槽创建自定义的显示样式以提供独特的用户体验. 使用 插槽 使您能够轻松自定义您的应用程序所需的外观。

\n", + "Code": "\r\n \r\n \r\n \r\n Cryptocurrency\r\n \r\n r.Name\"\r\n ItemValue=\"r=>r.Symbol\"\r\n Label=\"Search for a coin...\"\r\n Solo>\r\n \r\n \r\n \r\n Search for your favorite\r\n Cryptocurrency\r\n \r\n \r\n \r\n \r\n \r\n \r\n mdi-bitcoin\r\n \r\n \r\n @data.Item.Name\r\n \r\n \r\n \r\n \r\n \r\n @data.Item.Name[0]\r\n \r\n \r\n \r\n @data.Item.Name\r\n \r\n \r\n @data.Item.Symbol\r\n \r\n \r\n \r\n mdi-bitcoin\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n News\r\n \r\n \r\n Trading\r\n \r\n \r\n Blog\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n class Currency\r\n {\r\n public string Id { get; set; }\r\n\r\n public string Symbol { get; set; }\r\n\r\n public string Name { get; set; }\r\n }\r\n\r\n private bool _isLoading;\r\n private List _items = new List();\r\n private string _model;\r\n private StringNumber _tab;\r\n\r\n protected string Model\r\n {\r\n get\r\n {\r\n return _model;\r\n }\r\n set\r\n {\r\n _model = value;\r\n\r\n if (value != null)\r\n {\r\n _tab = 0;\r\n }\r\n else\r\n {\r\n _tab = null;\r\n }\r\n }\r\n }\r\n\r\n [Inject]\r\n public HttpClient HttpClient { get; set; }\r\n\r\n public async Task Search(string val)\r\n {\r\n if (_items.Count > 0)\r\n {\r\n return;\r\n }\r\n\r\n _isLoading = true;\r\n var items = await HttpClient.GetFromJsonAsync>(\"https://api.coingecko.com/api/v3/coins/list\");\r\n _items = items.Take(20).ToList();//TODO:Wait for MSelect update\r\n _isLoading = false;\r\n }\r\n}", + "Type": "Demos.Components.FormInputs.children.Autocomplete.misc.CryptocurrencySelector", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "stateSelector", + "Title": "状态选择器", + "Description": "

结合使用 MAutocomplete 插槽和过渡,您可以创建一个现代的的可切换的自动补全栏,例如这个状态选择器。

\n", + "Code": "\r\n \r\n Profile\r\n \r\n \r\n \r\n Where do you live?\r\n \r\n r\"\r\n ItemText=\"r=>r\"\r\n PrependIcon=\"mdi-city\">\r\n \r\n \r\n _isEditing = !_isEditing\">\r\n @(_isEditing ? \"mdi-check-outline\" : \"mdi-circle-edit-outline\")\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private bool _isEditing;\r\n private string _model;\r\n private List _states = new List()\r\n {\r\n \"Alabama\", \"Alaska\", \"American Samoa\", \"Arizona\",\r\n \"Arkansas\", \"California\", \"Colorado\", \"Connecticut\",\r\n \"Delaware\", \"District of Columbia\", \"Federated States of Micronesia\",\r\n \"Florida\", \"Georgia\", \"Guam\", \"Hawaii\", \"Idaho\",\r\n \"Illinois\", \"Indiana\", \"Iowa\", \"Kansas\", \"Kentucky\",\r\n \"Louisiana\", \"Maine\", \"Marshall Islands\", \"Maryland\",\r\n \"Massachusetts\", \"Michigan\", \"Minnesota\", \"Mississippi\",\r\n \"Missouri\", \"Montana\", \"Nebraska\", \"Nevada\",\r\n \"New Hampshire\", \"New Jersey\", \"New Mexico\", \"New York\",\r\n \"North Carolina\", \"North Dakota\", \"Northern Mariana Islands\", \"Ohio\",\r\n \"Oklahoma\", \"Oregon\", \"Palau\", \"Pennsylvania\", \"Puerto Rico\",\r\n \"Rhode Island\", \"South Carolina\", \"South Dakota\", \"Tennessee\",\r\n \"Texas\", \"Utah\", \"Vermont\", \"Virgin Island\", \"Virginia\",\r\n \"Washington\", \"West Virginia\", \"Wisconsin\", \"Wyoming\"\r\n };\r\n}", + "Type": "Demos.Components.FormInputs.children.Autocomplete.misc.StateSelector", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Autocomplete.svg", + "Cols": 1, + "Related": [ + "/components/combobox", + "/components/forms", + "/components/selects" + ], + "Subtitle": "自动补全", + "Title": "Autocompletes", + "Type": "自动补全" + }, + { + "Desc": "

级联选择器

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-26T16:40:15.5747737+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

级联选择器用于选择省市区

\n", + "Code": " u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n ItemChildren=\"u => u.Children\">\r\n\r\n\r\n@code {\r\n public class CascaderNode\r\n {\r\n public string Value { get; set; }\r\n public string Label { get; set; }\r\n public List Children { get; set; }\r\n }\r\n private string _value;\r\n private List _items = new List() {\r\n new CascaderNode()\r\n {\r\n Value = \"1\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"11\", Label=\"�人\", Children = new List(){\r\n new CascaderNode{ Value = \"111\", Label=\"�����\", Children = new List(){\r\n new CascaderNode{ Value = \"1111\", Label=\"�ƺ�¥�ֵ�\"},\r\n new CascaderNode{ Value = \"1112\", Label=\"��ɳ�޽ֵ�\"}\r\n } },\r\n new CascaderNode{ Value = \"112\", Label=\"��ɽ��\"}\r\n } },\r\n new CascaderNode{ Value = \"12\", Label=\"��ʯ\"},\r\n new CascaderNode{ Value = \"13\", Label=\"�˲�\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"2\",\r\n Label = \"�㽭\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"21\", Label=\"����\"},\r\n new CascaderNode{ Value = \"22\", Label=\"����\"},\r\n new CascaderNode{ Value = \"23\", Label=\"����\"},\r\n new CascaderNode{ Value = \"24\", Label=\"����\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"3\",\r\n Label = \"�Ϻ�\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"31\", Label=\"�����\"},\r\n new CascaderNode{ Value = \"32\", Label=\"������\"},\r\n new CascaderNode{ Value = \"33\", Label=\"�ֶ�����\"},\r\n new CascaderNode{ Value = \"34\", Label=\"������\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"4\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"41\", Label=\"����\"},\r\n new CascaderNode{ Value = \"42\", Label=\"����\"},\r\n new CascaderNode{ Value = \"43\", Label=\"����\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"5\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"51\", Label=\"�Ͼ�\", Children = new List(){\r\n new CascaderNode{ Value = \"511\", Label=\"��¥��\"},\r\n new CascaderNode{ Value = \"512\", Label=\"������\"}\r\n } },\r\n new CascaderNode{ Value = \"52\", Label=\"����\"},\r\n new CascaderNode{ Value = \"53\", Label=\"����\"},\r\n new CascaderNode{ Value = \"54\", Label=\"����\"}\r\n }\r\n }};\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Cascader.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "dense", + "Title": "密集", + "Description": "

Dense 属性用于减少高度

\n", + "Code": "\r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n ItemChildren=\"u => u.Children\">\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class CascaderNode\r\n {\r\n public string Value { get; set; }\r\n public string Label { get; set; }\r\n public List Children { get; set; }\r\n }\r\n private string _value;\r\n private List _items = new List() {\r\n new CascaderNode()\r\n {\r\n Value = \"1\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"11\", Label=\"�人\", Children = new List(){\r\n new CascaderNode{ Value = \"111\", Label=\"�����\", Children = new List(){\r\n new CascaderNode{ Value = \"1111\", Label=\"�ƺ�¥�ֵ�\"},\r\n new CascaderNode{ Value = \"1112\", Label=\"��ɳ�޽ֵ�\"}\r\n } },\r\n new CascaderNode{ Value = \"112\", Label=\"��ɽ��\"}\r\n } },\r\n new CascaderNode{ Value = \"12\", Label=\"��ʯ\"},\r\n new CascaderNode{ Value = \"13\", Label=\"�˲�\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"2\",\r\n Label = \"�㽭\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"21\", Label=\"����\"},\r\n new CascaderNode{ Value = \"22\", Label=\"����\"},\r\n new CascaderNode{ Value = \"23\", Label=\"����\"},\r\n new CascaderNode{ Value = \"24\", Label=\"����\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"3\",\r\n Label = \"�Ϻ�\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"31\", Label=\"�����\"},\r\n new CascaderNode{ Value = \"32\", Label=\"������\"},\r\n new CascaderNode{ Value = \"33\", Label=\"�ֶ�����\"},\r\n new CascaderNode{ Value = \"34\", Label=\"������\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"4\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"41\", Label=\"����\"},\r\n new CascaderNode{ Value = \"42\", Label=\"����\"},\r\n new CascaderNode{ Value = \"43\", Label=\"����\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"5\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"51\", Label=\"�Ͼ�\", Children = new List(){\r\n new CascaderNode{ Value = \"511\", Label=\"��¥��\"},\r\n new CascaderNode{ Value = \"512\", Label=\"������\"}\r\n } },\r\n new CascaderNode{ Value = \"52\", Label=\"����\"},\r\n new CascaderNode{ Value = \"53\", Label=\"����\"},\r\n new CascaderNode{ Value = \"54\", Label=\"����\"}\r\n }\r\n }};\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Cascader.props.Dense", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "loadChildren", + "Title": "加载子项", + "Description": "

LoadChildren 用于动态加载子项

\n", + "Code": " u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n ItemChildren=\"u => u.Children\"\r\n LoadChildren=\"FetchChildrenAsync\">\r\n\r\n\r\n@code {\r\n public class BCascaderNode\r\n {\r\n public int Value { get; set; }\r\n public string Label { get; set; }\r\n public List Children { get; set; } = new();\r\n }\r\n\r\n public class Item\r\n {\r\n public int Id { get; set; }\r\n public string Description { get; set; }\r\n public int ParentId { get; set; }\r\n public int Level { get; set; }\r\n }\r\n\r\n private List _allItems = new()\r\n {\r\n new Item\r\n {\r\n Id = 3,\r\n Description = \"武汉\",\r\n ParentId = 1,\r\n Level = 2\r\n },\r\n new Item\r\n {\r\n Id = 4,\r\n Description = \"武昌区\",\r\n ParentId = 3,\r\n Level = 3\r\n },\r\n new Item\r\n {\r\n Id = 5,\r\n Description = \"黄石\",\r\n ParentId = 1,\r\n Level = 1\r\n }\r\n };\r\n\r\n private List _items = new List\r\n {\r\n new BCascaderNode\r\n {\r\n Value=1,\r\n Label=\"湖北\"\r\n },\r\n new BCascaderNode\r\n {\r\n Value=2,\r\n Label=\"浙江\"\r\n }\r\n };\r\n\r\n private int _vaule = 4;\r\n\r\n public async Task FetchChildrenAsync(BCascaderNode node)\r\n {\r\n await Task.Delay(1000);\r\n var children = _allItems.Where(item => item.ParentId == node.Value)\r\n .Select(item => new BCascaderNode\r\n {\r\n Value = item.Id,\r\n Label = item.Description,\r\n Children = item.Level < 3 ? new() : null//We only load children which count equal 0\r\n });\r\n node.Children = children.Any() ? children.ToList() : null;//Set to null so we will not load any more\r\n }\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Cascader.props.LoadChildren", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "showAllLevels", + "Title": "展示完整路径", + "Description": "

ShowAllLevels 用于控制展示所有层级,默认为 true

\n", + "Code": "\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n ItemChildren=\"u => u.Children\">\r\n \r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n ItemChildren=\"u => u.Children\"\r\n ShowAllLevels=\"false\">\r\n \r\n \r\n\r\n\r\n@code {\r\n public class CascaderNode\r\n {\r\n public string Value { get; set; }\r\n public string Label { get; set; }\r\n public List Children { get; set; }\r\n }\r\n private string _value;\r\n\r\n private List _items = new List() {\r\n new CascaderNode()\r\n {\r\n Value = \"1\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"11\", Label=\"�人\", Children = new List(){\r\n new CascaderNode{ Value = \"111\", Label=\"�����\", Children = new List(){\r\n new CascaderNode{ Value = \"1111\", Label=\"�ƺ�¥�ֵ�\"},\r\n new CascaderNode{ Value = \"1112\", Label=\"��ɳ�޽ֵ�\"}\r\n } },\r\n new CascaderNode{ Value = \"112\", Label=\"��ɽ��\"}\r\n } },\r\n new CascaderNode{ Value = \"12\", Label=\"��ʯ\"},\r\n new CascaderNode{ Value = \"13\", Label=\"�˲�\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"2\",\r\n Label = \"�㽭\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"21\", Label=\"����\"},\r\n new CascaderNode{ Value = \"22\", Label=\"����\"},\r\n new CascaderNode{ Value = \"23\", Label=\"����\"},\r\n new CascaderNode{ Value = \"24\", Label=\"����\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"3\",\r\n Label = \"�Ϻ�\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"31\", Label=\"�����\"},\r\n new CascaderNode{ Value = \"32\", Label=\"������\"},\r\n new CascaderNode{ Value = \"33\", Label=\"�ֶ�����\"},\r\n new CascaderNode{ Value = \"34\", Label=\"������\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"4\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"41\", Label=\"����\"},\r\n new CascaderNode{ Value = \"42\", Label=\"����\"},\r\n new CascaderNode{ Value = \"43\", Label=\"����\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"5\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"51\", Label=\"�Ͼ�\", Children = new List(){\r\n new CascaderNode{ Value = \"511\", Label=\"��¥��\"},\r\n new CascaderNode{ Value = \"512\", Label=\"������\"}\r\n } },\r\n new CascaderNode{ Value = \"52\", Label=\"����\"},\r\n new CascaderNode{ Value = \"53\", Label=\"����\"},\r\n new CascaderNode{ Value = \"54\", Label=\"����\"}\r\n }\r\n }};\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Cascader.props.ShowAllLevels", + "Style": "", + "Debug": false, + "Group": 0 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/treeview", + "/components/forms", + "/components/selects" + ], + "Subtitle": "级联菜单", + "Title": "Cascaders", + "Type": "级联菜单" + }, + { + "Desc": "

MCheckbox组件使用户能够在两个不同的值之间进行选择。它们非常类似于开关,可以用在复杂的表单和检查表中。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.4982453+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

最简单形式的Checkbox提供了两个值之间的切换。

\n", + "Code": "\r\n\r\n@code {\r\n bool checkbox = true;\r\n string label => $\"Checkbox 1: {checkbox.ToString()}\";\r\n}", + "Type": "Demos.Components.FormInputs.children.Checkbox.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "boolean", + "Title": "布尔值", + "Description": "

单个 MChecbox 将有一个布尔值作为其 value

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n bool checkbox1 = true;\r\n bool checkbox2 = false;\r\n\r\n}", + "Type": "Demos.Components.FormInputs.children.Checkbox.props.Boolean", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "color", + "Title": "颜色", + "Description": "

MCheckbox 可以通过使用颜色属性的任何内置颜色和上下文名称来着色。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private bool _value1 = true;\r\n private bool _value2 = true;\r\n private bool _value3 = true;\r\n private bool _value4 = true;\r\n private bool _value5 = true;\r\n private bool _value6 = true;\r\n private bool _value7 = true;\r\n private bool _value8 = true;\r\n private bool _value9 = true;\r\n private bool _value10 = true;\r\n private bool _value11 = true;\r\n private bool _value12 = true;\r\n }\r\n", + "Type": "Demos.Components.FormInputs.children.Checkbox.props.Color", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "state", + "Title": "状态", + "Description": "

MCheckbox 可以有不同的状态,例如 default,disabledindeterminate

\n", + "Code": "\r\n \r\n \r\n on\r\n \r\n \r\n off\r\n \r\n \r\n indeterminate\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n on disabled\r\n \r\n \r\n off disabled\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n bool checkbox1 = true;\r\n bool indeterminate = true;\r\n bool checkbox2 = true;\r\n bool checkbox3 = true;\r\n\r\n void Checkbox2Changed(bool v)\r\n {\r\n checkbox2 = v;\r\n indeterminate = false;\r\n }\r\n\r\n}", + "Type": "Demos.Components.FormInputs.children.Checkbox.props.State", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 5, + "Name": "labelContent", + "Title": "Label", + "Description": "

MCheckbox 文本可以在LabelContent中定义-这将允许使用HTML内容。

\n", + "Code": "\r\n \r\n \r\n
\r\n I agree that\r\n \r\n \r\n MASA.Blazor\r\n \r\n \r\n Opens in new window\r\n \r\n \r\n is awesome\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n bool checkbox = false;\r\n}", + "Type": "Demos.Components.FormInputs.children.Checkbox.contents.LabelContent", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 5, + "Name": "inlineTextField", + "Title": "内联输入文本", + "Description": "

您可以将 MCheckbox 与其他组件(如MTextField)对齐。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n bool includeFiles = true;\r\n bool enabled = false;\r\n\r\n}", + "Type": "Demos.Components.FormInputs.children.Checkbox.misc.InlineTextField", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/switches", + "/components/forms", + "/components/text-fields" + ], + "Subtitle": "复选框", + "Title": "Checkboxes", + "Type": "复选框" + }, + { + "Desc": "

v-file-input是一个定制的输入组件,它提供了一个干净的选择界面,显示详细的选择信息和上传进度。 它意在直接取代标准文件输入。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.5062458+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

MFileInput 组件的核心是一个基于 MTextField 拓展的基本容器。

\n", + "Code": "\r\n\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.FileInput.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "accept", + "Title": "接收格式", + "Description": "

MFileInput 组件可以选择接收你想要的媒体格式/文件类型 查看 accept attribute 文档来获取更多信息。

\n", + "Code": "\r\n\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.FileInput.props.Accept", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "chips", + "Title": "纸片", + "Description": "

上传的文件可以作为 chip(纸片) 显示。同时启用 Chips(纸片)Multiple(多选) 属性时,每个文件作为一个纸片显示(与选中文件数相反)。

\n", + "Code": "\r\n
\r\n \"\r\n Chips\r\n Multiple\r\n Label=\"File input w/ chips\">\r\n \"\r\n SmallChips\r\n Multiple\r\n Label=\"File input w/ small chips\">\r\n
\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.FileInput.props.Chips", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "counter", + "Title": "计数器", + "Description": "

ShowSize属性和Counter一同启用时,会下输入框下方显示文件总数和大小。

\n", + "Code": "\r\n
\r\n \"\r\n ShowSize\r\n Multiple\r\n Counter=true\r\n Label=\"File input\">\r\n
\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.FileInput.props.Counter", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "dense", + "Title": "密集", + "Description": "

您可以使用Dense属性降低文件输入高度。

\n", + "Code": "\r\n
\r\n \r\n
\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.FileInput.props.Dense", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "multiple", + "Title": "多选", + "Description": "

启用 Multiple(多选) 属性可以使MFileInput同时包含多个文件。

\n", + "Code": "\r\n
\r\n \"\r\n Multiple\r\n Label=\"File input\">\r\n
\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.FileInput.props.Multiple", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "prependIcon", + "Title": "前置图标", + "Description": "

MFileInput拥有一个默认PrependIcon可以设置在组件上或在全局调整。 More information on changing global components can be found on the customizing icons page.

\n", + "Code": "\r\n
\r\n \r\n
\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.FileInput.props.PrependIcon", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "showSize", + "Title": "显示大小", + "Description": "

ShowSize(显示大小) 属性可以配置显示所选文件的尺寸 显示文件大小可以选择_1024_进位(提供true时默认使用)或_1000_进位。

\n", + "Code": "\r\n
\r\n \r\n
\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.FileInput.props.ShowSize", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "validation", + "Title": "验证", + "Description": "

与其他输入类似,您可以使用rules 属性来创建您自己的自定义验证参数。

\n", + "Code": "\r\n\r\n\r\n@code {\r\n private List> _rules = new List>()\r\n {\r\n value=>(value==null||value.Size<2000000)?true:\"Avatar size should be less than 2 MB!\"\r\n };\r\n}", + "Type": "Demos.Components.FormInputs.children.FileInput.props.Validation", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "selection", + "Title": "选项", + "Description": "

使用 SelectionContent,您可以自定义输入选择的外观。 通常使用 chips完成,但您可以使用任何组件或标记。

\n", + "Code": "\r\n \r\n \r\n @_files[context.index].Name\r\n \r\n \r\n\r\n\r\n@code {\r\n private List _files = new();\r\n}", + "Type": "Demos.Components.FormInputs.children.FileInput.contents.Selection", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 1, + "Name": "complexSelectionContent", + "Title": "复杂选项插槽", + "Description": "

选项插槽的灵活性使其可以容纳复杂的用途。 在本示例中我们展示了如何只显示前两个文件并将剩余数量以计数器显示(当选中三个以上的文件时)。

\n", + "Code": "\r\n \r\n @if (context.index < 2)\r\n {\r\n \r\n @context.text\r\n \r\n }\r\n else if (context.index == 2)\r\n {\r\n \r\n +@(_files.Count - 2) File(s)\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n private List _files = new();\r\n}", + "Type": "Demos.Components.FormInputs.children.FileInput.misc.ComplexSelectionContent", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/FileInput.svg", + "Cols": 1, + "Related": [ + "/components/text-fields", + "/components/forms", + "/components/icons" + ], + "Subtitle": "文件上传", + "Title": "File inputs", + "Type": "文件上传" + }, + { + "Desc": "

表单验证,使用DataAnnotation。Value改变或者表单提交的时候触发验证,也可以手动触发。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-12-02T18:38:45.5140733+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "basic", + "Title": "使用", + "Description": "

内部 MForm 组件使得很容易添加验证到表单输入。 所有输入组件都有一个 规则 prop,它接受不同类型的组 函数, 布尔值 和 字符串。 这些允许您指定输入无效的 __ 或 __ 的条件。 每当输入值被更改时,数组中的每个函数将收到新的值,每个数组元素将被评分。 如果函数或数组元素返回 fals 或 字符串, 验证失败, 字符串 值将作为错误信息显示。

\n", + "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n@code {\r\n public class Form\r\n {\r\n [Required(ErrorMessage = \"Name is required\")]\r\n [MaxLength(10, ErrorMessage = \"Name must be less than 10 characters\")]\r\n public string Firstname { get; set; }\r\n\r\n [Required(ErrorMessage = \"Name is required\")]\r\n [MaxLength(10, ErrorMessage = \"Name must be less than 10 characters\")]\r\n public string Lastname { get; set; }\r\n\r\n [Required(ErrorMessage = \"E-mail is required\")]\r\n [EmailAddress(ErrorMessage = \"E-mail must be valid\")]\r\n public string Email { get; set; }\r\n }\r\n\r\n private Form _form = new();\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Form.usage.Basic", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "rules", + "Title": "规则", + "Description": "

规则允许您在所有表单组件上应用自定义验证。 这些都是按顺序验证的,每次会显示一个 个最大 个错误,所以请确保你相应地排序规则。

\n", + "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private MForm _form;\r\n private string _model;\r\n private string _match;\r\n private bool _allowSpaces;\r\n private double _max;\r\n\r\n protected string Match\r\n {\r\n get\r\n {\r\n return _match;\r\n }\r\n set\r\n {\r\n _match = value;\r\n _ = _form.ValidateAsync();\r\n }\r\n }\r\n\r\n protected double Max\r\n {\r\n get\r\n {\r\n return _max;\r\n }\r\n set\r\n {\r\n _max = value;\r\n _ = _form.ValidateAsync();\r\n }\r\n }\r\n\r\n protected string Model\r\n {\r\n get\r\n {\r\n return _model;\r\n }\r\n set\r\n {\r\n _model = value;\r\n _ = _form.ValidateAsync();\r\n }\r\n }\r\n\r\n protected List> ModelRules\r\n {\r\n get\r\n {\r\n var rules = new List>();\r\n\r\n if (Max > 0)\r\n {\r\n Func rule = v => v?.Length <= Max ? true : $\"A maximum of {Max} characters is allowed\";\r\n rules.Add(rule);\r\n }\r\n\r\n if (!_allowSpaces)\r\n {\r\n Func rule = v => v?.IndexOf(' ') < 0 ? true : \"No spaces are allowed\";\r\n rules.Add(rule);\r\n }\r\n\r\n if (!string.IsNullOrEmpty(Match))\r\n {\r\n Func rule = v => !string.IsNullOrEmpty(v) && v == Match ? true : \"Values do not match\";\r\n rules.Add(rule);\r\n }\r\n\r\n return rules;\r\n }\r\n }\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Form.props.Rules", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "validationEnumerable", + "Title": "验证集合", + "Description": "

验证集合属性,注意添加[EnumerableValidation]

\n", + "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n\r\n \r\n \r\n @foreach (var person in _order.Persons)\r\n {\r\n \r\n Person:@person.Id\r\n \r\n \r\n \r\n \r\n \r\n }\r\n SubmitOrder(context)\" Color=\"success\">Validate\r\n\r\n\r\n@code {\r\n public class Order\r\n {\r\n public int Id { get; set; }\r\n [Required]\r\n public string Title { get; set; }\r\n [Range(0, 20.00)]\r\n public decimal Price { get; set; }\r\n\r\n [EnumerableValidation]\r\n public List Persons { get; set; }\r\n }\r\n\r\n public class Person\r\n {\r\n public int Id { get; set; }\r\n\r\n [Required]\r\n public string Name { get; set; }\r\n\r\n [Range(25, 100)]\r\n public int Age { get; set; }\r\n }\r\n\r\n private Order _order = new()\r\n {\r\n Persons = new List\r\n {\r\n new Person\r\n {\r\n Id=1\r\n },\r\n new Person\r\n {\r\n Id=2\r\n }\r\n }\r\n };\r\n\r\n public void SubmitOrder(EditContext context)\r\n {\r\n var success = context.Validate();\r\n if (success)\r\n {\r\n //验证成功,操作业务\r\n }\r\n }\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Form.misc.ValidationEnumerable", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "validationWithSubmitAndClear", + "Title": "提交与验证 & 清除", + "Description": "

MForm 组件有三个功能,可以通过在组件上设置ref来访问。 ref允许我们访问组件的内部方法,例如 <MForm @ref="_form">。 _form.Validate() 将验证所有输入并返回它们是否都有效。 _form.Reset() 将清除所有输入并重置验证错误。 _form.ResetValidation() 将只重置输入验证,不改变他们的状态。

\n", + "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n\r\n \r\n \r\n u\"\r\n ItemValue=\"u => u\">\r\n \r\n Validate\r\n Reset Form\r\n Reset Validation\r\n\r\n\r\n@code {\r\n class Model\r\n {\r\n [Required]\r\n [MaxLength(10, ErrorMessage = \"Name must be less than 10 characters\")]\r\n public string Name { get; set; }\r\n [Required]\r\n [EmailAddress]\r\n public string Email { get; set; }\r\n [Required]\r\n public string Item { get; set; }\r\n [RegularExpression(\"True\", ErrorMessage = \"You must agree to continue!\")]\r\n public bool Agree { get; set; }\r\n }\r\n private bool _valid = true;\r\n private MForm _form;\r\n private Model _model = new();\r\n\r\n List _items = new()\r\n {\r\n \"Item 1\",\r\n \"Item 2\",\r\n \"Item 3\",\r\n \"Item 4\"\r\n };\r\n\r\n async Task ValidateAsync()\r\n {\r\n await _form.ValidateAsync();\r\n }\r\n\r\n async Task ResetAsync()\r\n {\r\n await _form.ResetAsync();\r\n }\r\n\r\n async Task ResetValidationAsync()\r\n {\r\n await _form.ResetValidationAsync();\r\n }\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Form.misc.ValidationWithSubmitAndClear", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Form.svg", + "Cols": 1, + "Related": [ + "/components/selects", + "/components/selection-controls", + "/components/text-fields" + ], + "Subtitle": "表单", + "Title": "Forms", + "Type": "表单" + }, + { + "Desc": "

MRadio 组件是一个简单的单选按钮。 与 MRadioGroup 组件结合时,您可以提供分组的功能,允许用户从一组预定义的选项中进行选择。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-12-07T16:28:44.1691529+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

虽然 MRadio 可以单独使用,但它最好与 MRadioGroup 一起使用。 在 MRadioGroup 上使用 @bind-Value,您可以访问组内所选单选按钮的值。

\n", + "Code": "\r\n \r\n @for (var i = 0; i < 3; i++)\r\n {\r\n var n = i + 1;\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n private int _radioGroup = 1;\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Radio.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "color", + "Title": "颜色", + "Description": "

单选按钮可以使用 Color 属性设置颜色,颜色可以是内置颜色和或其上下文名称。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n string ex7 = \"red\";\r\n string ex8 = \"primary\";\r\n}", + "Type": "Demos.Components.FormInputs.children.Radio.props.Color", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "direction", + "Title": "布局", + "Description": "

单选框组可以使用 column 或者 row 属性设置为一列或者一行的形式。 默认设置为列。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n string column;\r\n string row;\r\n}", + "Type": "Demos.Components.FormInputs.children.Radio.props.Direction", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "mandatory", + "Title": "必填项", + "Description": "

默认情况下,按钮组不是必填的。 可以使用 Mandatory 属性改变这种状态。

\n", + "Code": "\r\n

@radios

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string radios;\r\n\r\n}", + "Type": "Demos.Components.FormInputs.children.Radio.props.Mandatory", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "labelContent", + "Title": "标签", + "Description": "

单选组标签可以在 LabelContent 中定义,允许使用 HTML 内容。

\n", + "Code": "\r\n \r\n \r\n
Your favourite search engine
\r\n
\r\n \r\n \r\n \r\n
Of course it's Google
\r\n
\r\n
\r\n \r\n \r\n
Definitely Duckduckgo
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n\r\n string radios;\r\n\r\n}", + "Type": "Demos.Components.FormInputs.children.Radio.contents.LabelContent", + "Style": "", + "Debug": false, + "Group": 2 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Radio.svg", + "Cols": 1, + "Related": [ + "/components/button-groups", + "/components/forms", + "/components/checkboxes" + ], + "Subtitle": "单选按钮", + "Title": "Radio", + "Type": "单选按钮" + }, + { + "Desc": "

MRangeSlider 组件是一个更好的可视化数字输入工具。 它用于收集数字数据。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.5142452+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

滑块表示一根条上的一系列值,用户可以从中选择一个值。 滑块组件适用于调节音量、亮度,或者图像滤镜的强度。

\n", + "Code": "
\r\n \r\n
\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.RangeSlider.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "disabled", + "Title": "禁用", + "Description": "

您不能与 Disabled 滑块交互。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private IList _value = new List\r\n {\r\n 30,\r\n 60\r\n };\r\n}\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.RangeSlider.props.Disabled", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "minAndMax", + "Title": "最大值和最小值", + "Description": "

您可以通过 MinMax 设置滑块的最小值和最大值。

\n", + "Code": "\r\n Min and max range slider\r\n\r\n \r\n \r\n \r\n \r\n \r\n _range[0]=val\">\r\n \r\n \r\n _range[1]=val\">\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private IList _range = new List\r\n {\r\n 30,\r\n 60\r\n };\r\n private double _min = -50;\r\n private double _max = 90;\r\n}\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.RangeSlider.props.MinAndMax", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "step", + "Title": "步长", + "Description": "

MRangeSlider 可以有1以外的步长。 这对您需要更准确地调整值的应用程序可能有帮助。

\n", + "Code": "\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private IList _value = new List\r\n {\r\n 20,\r\n 40\r\n };\r\n }", + "Type": "Demos.Components.FormInputs.children.RangeSlider.props.Step", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "verticalSliders", + "Title": "垂直滑块", + "Description": "

您可以使用 Vertical 属性将滑块切换为垂直方向。 如果您需要更改滑块的高度,请使用 CSS。

\n", + "Code": "\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private IList _value = new List\r\n {\r\n 20,\r\n 40\r\n };\r\n }", + "Type": "Demos.Components.FormInputs.children.RangeSlider.props.VerticalSliders", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "thumbLabel", + "Title": "Thumb标签", + "Description": "

使用 TickLabels 属性和 ThumbLabelContent,您可以创建一个非常自定义的解决方案。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n @($\" {_icons[Convert.ToInt32(context)]} \")\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private IList _value = new List\r\n {\r\n 0,\r\n 1\r\n };\r\n private List _seasons = new List\r\n {\r\n \"Winter\",\r\n \"Spring\",\r\n \"Summer\",\r\n \"Fall\"\r\n };\r\n private List _icons = new List\r\n {\r\n \"mdi-snowflake\",\r\n \"mdi-leaf\",\r\n \"mdi-fire\",\r\n \"mdi-water\"\r\n };\r\n}\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.RangeSlider.contents.ThumbLabel", + "Style": "", + "Debug": false, + "Group": 2 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/RangeSliders.svg", + "Cols": 1, + "Related": [ + "/components/forms", + "/components/selects", + "/components/sliders" + ], + "Subtitle": "范围滑块", + "Title": "Range sliders", + "Type": "范围滑块" + }, + { + "Desc": "

选择器组件用于从选项列表中收集用户提供的信息。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "注意": "\n \n

浏览器自动补全默认设置为关闭,可能因不同的浏览器而变化或忽略。 MDN

\n \n \n

MenuPropsAuto 属性只支持默认输入样式。

\n \n \n

当使用一个Object(对象) 作为Items的属性时,你必须使用ItemTextItemValue与传入的对象关联起来。 这些值默认为 TextValue 且可以更改。

\n \n" + }, + "LastWriteTime": "2021-11-09T10:30:56.8009066+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "", + "Code": "\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n MenuProps=\"props => props.OffsetY = true\">\r\n \r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Filled>\r\n \r\n \r\n\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\">\r\n \r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\">\r\n \r\n \r\n\r\n\r\n@code {\r\n private string value1;\r\n private string value2;\r\n private string value3;\r\n private string value4;\r\n\r\n public class Item\r\n {\r\n public string Label { get; set; }\r\n public string Value { get; set; }\r\n\r\n public Item(string label, string value)\r\n {\r\n Label = label;\r\n Value = value;\r\n }\r\n }\r\n\r\n List items = new()\r\n {\r\n new Item(\"Foo\", \"1\"),\r\n new Item(\"Bar\", \"2\"),\r\n new Item(\"Fizz\", \"3\"),\r\n new Item(\"Buzz\", \"4\"),\r\n };\r\n\r\n}", + "Type": "Demos.Components.FormInputs.children.Select.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "customTextAndValue", + "Title": "自定义选项的文本和值", + "Description": "

您可以在您的项目中指定特定属性的值和文本字段相对应。 默认情况下,将是属性 text 和 value相对应。 而在这个示例中,我们将应用 return-object 属性的方式来返回所选项目的整个对象值。

\n", + "Code": "\r\n \r\n \r\n \r\n Custom items\r\n \r\n \r\n\r\n \r\n r.State\"\r\n ItemValue=\"r=>r.Abbr\"\r\n Label=\"Select\"\r\n PersistentHint\r\n OnSelectedItemUpdate=\"item=>_selected=item\"\r\n SingleLine>\r\n \r\n \r\n\r\n\r\n @code {\r\n public class Model\r\n {\r\n public int Id { get; set; }\r\n public string State { get; set; }\r\n public string Abbr { get; set; }\r\n }\r\n\r\n private Model _selected = new Model()\r\n {\r\n State = \"Florida\",\r\n Abbr = \"FL\"\r\n };\r\n private List _states = new List\r\n {\r\n new Model\r\n {\r\n State=\"Florida\",\r\n Abbr=\"FL\",\r\n Id=1\r\n },\r\n new Model\r\n {\r\n State=\"Georgia\",\r\n Abbr=\"GA\",\r\n Id=2\r\n },\r\n new Model\r\n {\r\n State=\"Nebraska\",\r\n Abbr=\"NE\",\r\n Id=3\r\n },\r\n new Model\r\n {\r\n State=\"California\",\r\n Abbr=\"CA\",\r\n Id=4\r\n },\r\n new Model\r\n {\r\n State=\"New York\",\r\n Abbr=\"NY\",\r\n Id=5\r\n }\r\n };\r\n }", + "Type": "Demos.Components.FormInputs.children.Select.props.CustomTextAndValue", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "dense", + "Title": "密集", + "Description": "

你可以使用Dense属性来降低自动完成的高度和缩小列表项的最大高度。

\n", + "Code": "\r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Label=\"Standard\"\r\n Dense>\r\n \r\n\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Filled\r\n Label=\"Filled style\"\r\n Dense>\r\n \r\n\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Label=\"Outlined style\"\r\n Dense\r\n Outlined>\r\n \r\n\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Label=\"Solo field\"\r\n Dense\r\n Solo>\r\n \r\n \r\n\r\n\r\n@code {\r\n private string value1;\r\n private string value2;\r\n private string value3;\r\n private string value4;\r\n\r\n public class Item\r\n {\r\n public string Label { get; set; }\r\n public string Value { get; set; }\r\n public Item(string label, string value)\r\n {\r\n Label = label;\r\n Value = value;\r\n }\r\n }\r\n\r\n List _items = new()\r\n {\r\n new Item(\"Foo\", \"1\"),\r\n new Item(\"Bar\", \"2\"),\r\n new Item(\"Fizz\", \"3\"),\r\n new Item(\"Buzz\", \"4\"),\r\n };\r\n}", + "Type": "Demos.Components.FormInputs.children.Select.props.Dense", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "disabled", + "Title": "禁用", + "Description": "

Disabled 的属性应用于 MSelect 将阻止用户与组件交互。

\n", + "Code": "\r\n \r\n u\"\r\n ItemValue=\"u => u\"\r\n Disabled\r\n Label=\"Disabled\">\r\n \r\n \r\n u.Key\"\r\n ItemValue=\"u => u.Key\"\r\n ItemDisabled=\"u => u.Value\"\r\n Label=\"Disabled Item\">\r\n \r\n\r\n\r\n@code {\r\n List items = new() { \"Foo\", \"Bar\", \"Fizz\", \"Buzz\" };\r\n string _value;\r\n\r\n List> items2 = new Dictionary\r\n {\r\n { \"Foo\", false },\r\n { \"Bar\", false },\r\n { \"Fizz\", true },\r\n { \"Buzz\", false }\r\n }.ToList();\r\n}", + "Type": "Demos.Components.FormInputs.children.Select.props.Disabled", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "icon", + "Title": "图标", + "Description": "

使用自定义前置或者后置图标。

\n", + "Code": "\r\n \r\n \r\n \r\n Prepended icon\r\n \r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n HideDetails=\"true\"\r\n PrependIcon=\"mdi-map\"\r\n SingleLine>\r\n \r\n \r\n \r\n Appended icon\r\n \r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Items=\"_items\"\r\n AppendOuterIcon=\"mdi-map\"\r\n HideDetails=\"true\"\r\n Label=\"Select\"\r\n SingleLine>\r\n \r\n \r\n\r\n\r\n@code{\r\n private string e1;\r\n private string e2;\r\n\r\n List _items = new()\r\n {\r\n new Item(\"Foo\", \"1\"),\r\n new Item(\"Bar\", \"2\"),\r\n new Item(\"Fizz\", \"3\"),\r\n new Item(\"Buzz\", \"4\"),\r\n };\r\n\r\n public class Item\r\n {\r\n public string Label { get; set; }\r\n public string Value { get; set; }\r\n public Item(string label, string value)\r\n {\r\n Label = label;\r\n Value = value;\r\n }\r\n }\r\n}", + "Type": "Demos.Components.FormInputs.children.Select.props.Icon", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "light", + "Title": "浅色主题", + "Description": "

标准的单选有多种配置选项。

\n", + "Code": "\r\n \r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Label=\"Chips\"\r\n Multiple>\r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Label=\"Chips\"\r\n Multiple>\r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Multiple\r\n Outlined>\r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Label=\"Chips\"\r\n Multiple\r\n Solo>\r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private List values = new List { \"1\" };\r\n\r\n public class Item\r\n {\r\n public string Label { get; set; }\r\n public string Value { get; set; }\r\n public Item(string label, string value)\r\n {\r\n Label = label;\r\n Value = value;\r\n }\r\n }\r\n\r\n List _items = new()\r\n {\r\n new Item(\"Foo\", \"1\"),\r\n new Item(\"Bar\", \"2\"),\r\n new Item(\"Fizz\", \"3\"),\r\n new Item(\"Buzz\", \"4\"),\r\n };\r\n}", + "Type": "Demos.Components.FormInputs.children.Select.props.Light", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "menuProps", + "Title": "菜单属性", + "Description": "

在这个示例中,菜单被指定向上打开并移动至顶部。

\n", + "Code": "\r\n \r\n { props.Top = true; props.OffsetY = true; })\"\r\n Label=\"Label\"\r\n ItemValue=\"r => r\"\r\n ItemText=\"r => r\">\r\n \r\n \r\n\r\n\r\n@code{\r\n string _value;\r\n List _items = new() { \"Foo\", \"Bar\", \"Fizz\", \"Buzz\" };\r\n}", + "Type": "Demos.Components.FormInputs.children.Select.props.MenuProps", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "multiple", + "Title": "多选", + "Description": "

多选择器可以使用 MChip 组件来显示已选项。

\n", + "Code": "@using System.Collections.Generic;\r\n\r\n\r\n \r\n \r\n Multiple with persistent hint\r\n \r\n \r\n u\"\r\n ItemValue=\"u => u\"\r\n Label=\"Select\"\r\n Multiple\r\n Clearable\r\n Hint=\"@($\"selected values: {string.Join(',', e6)}\")\">\r\n \r\n \r\n\r\n \r\n Multiple (Chips) with persistent hint\r\n \r\n\r\n \r\n u\"\r\n ItemValue=\"u => u\"\r\n Label=\"Select\"\r\n Multiple\r\n Chips\r\n Hint=\"@($\"selected values: {string.Join(',', e7)}\")\"\r\n PersistentHint>\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n List e6 = new List() { \"Alaska\" };\r\n List e7 = new List() { \"Alaska\" };\r\n\r\n string[] states =\r\n {\r\n \"Alabama\", \"Alaska\", \"American Samoa\", \"Arizona\",\r\n \"Arkansas\", \"California\", \"Colorado\", \"Connecticut\",\r\n \"Delaware\", \"District of Columbia\", \"Federated States of Micronesia\",\r\n \"Florida\", \"Georgia\", \"Guam\", \"Hawaii\", \"Idaho\",\r\n \"Illinois\", \"Indiana\", \"Iowa\", \"Kansas\", \"Kentucky\",\r\n \"Louisiana\", \"Maine\", \"Marshall Islands\", \"Maryland\",\r\n \"Massachusetts\", \"Michigan\", \"Minnesota\", \"Mississippi\",\r\n \"Missouri\", \"Montana\", \"Nebraska\", \"Nevada\",\r\n \"New Hampshire\", \"New Jersey\", \"New Mexico\", \"New York\",\r\n \"North Carolina\", \"North Dakota\", \"Northern Mariana Islands\", \"Ohio\",\r\n \"Oklahoma\", \"Oregon\", \"Palau\", \"Pennsylvania\", \"Puerto Rico\",\r\n \"Rhode Island\", \"South Carolina\", \"South Dakota\", \"Tennessee\",\r\n \"Texas\", \"Utah\", \"Vermont\", \"Virgin Island\", \"Virginia\",\r\n \"Washington\", \"West Virginia\", \"Wisconsin\", \"Wyoming\"\r\n };\r\n\r\n}", + "Type": "Demos.Components.FormInputs.children.Select.props.Multiple", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "readonly", + "Title": "只读", + "Description": "

您可以在 MSelect 上应用 Readonly 属性来防止用户更改其值。

\n", + "Code": "\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Readonly\r\n Label=\"Read-only\">\r\n \r\n\r\n\r\n@code{\r\n private string e1;\r\n public class Item\r\n {\r\n public string Label { get; set; }\r\n public string Value { get; set; }\r\n public Item(string label, string value)\r\n {\r\n Label = label;\r\n Value = value;\r\n }\r\n }\r\n\r\n List _items = new()\r\n {\r\n new Item(\"Foo\", \"1\"),\r\n new Item(\"Bar\", \"2\"),\r\n new Item(\"Fizz\", \"3\"),\r\n new Item(\"Buzz\", \"4\"),\r\n };\r\n}", + "Type": "Demos.Components.FormInputs.children.Select.props.Readonly", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "appendAndPrependItem", + "Title": "附加代码", + "Description": "

MSelect 组件可以通过预定和附加项目进行扩展。 这完全适合自定义的 选择所有 功能。

\n", + "Code": "\r\n r\"\r\n ItemText=\"r=>r\"\r\n Multiple>\r\n \r\n \r\n \r\n 0 ? \"indigo darken-4\" : \"\")\">\r\n @Icon\r\n \r\n \r\n \r\n \r\n Select All\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n mdi-food-apple\r\n \r\n \r\n @if (LikesAllFruit)\r\n {\r\n \r\n \r\n Holy smokes, someone call the fruit police!\r\n \r\n \r\n }\r\n else if (LikesSomeFruit)\r\n {\r\n \r\n \r\n Fruit Count\r\n \r\n \r\n {{ _selectedFruits.length }}\r\n \r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n How could you not like fruit?\r\n \r\n \r\n Go ahead, make a selection above!\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private List _fruits = new List\r\n\r\n {\r\n \"Apples\",\r\n \"Apricots\",\r\n \"Avocado\",\r\n \"Bananas\",\r\n \"Blueberries\",\r\n \"Blackberries\",\r\n \"Boysenberries\",\r\n \"Bread fruit\",\r\n \"Cantaloupes (cantalope)\",\r\n \"Cherries\",\r\n \"Cranberries\",\r\n \"Cucumbers\",\r\n \"Currants\",\r\n \"Dates\",\r\n \"Eggplant\",\r\n \"Figs\",\r\n \"Grapes\",\r\n \"Grapefruit\",\r\n \"Guava\",\r\n \"Honeydew melons\",\r\n \"Huckleberries\",\r\n \"Kiwis\",\r\n \"Kumquat\",\r\n \"Lemons\",\r\n \"Limes\",\r\n \"Mangos\",\r\n \"Mulberries\",\r\n \"Muskmelon\",\r\n \"Nectarines\",\r\n \"Olives\",\r\n \"Oranges\",\r\n \"Papaya\",\r\n \"Peaches\",\r\n \"Pears\",\r\n \"Persimmon\",\r\n \"Pineapple\",\r\n \"Plums\",\r\n \"Pomegranate\",\r\n \"Raspberries\",\r\n \"Rose Apple\",\r\n \"Starfruit\",\r\n \"Strawberries\",\r\n \"Tangerines\",\r\n \"Tomatoes\",\r\n \"Watermelons\",\r\n \"Zucchini\"\r\n };\r\n private List _selectedFruits = new List();\r\n\r\n public bool LikesAllFruit => _selectedFruits.Count == _fruits.Count;\r\n\r\n public bool LikesSomeFruit => _selectedFruits.Count > 0 && !LikesAllFruit;\r\n\r\n public string Icon\r\n {\r\n get\r\n {\r\n if (LikesAllFruit)\r\n {\r\n return \"mdi-close-box\";\r\n }\r\n\r\n if (LikesSomeFruit)\r\n {\r\n return \"mdi-minus-box\";\r\n }\r\n\r\n return \"mdi-checkbox-blank-outline\";\r\n }\r\n }\r\n\r\n public void Toggle()\r\n {\r\n if (LikesAllFruit)\r\n {\r\n _selectedFruits = new List();\r\n }\r\n else\r\n {\r\n _selectedFruits = new List();\r\n _selectedFruits.AddRange(_fruits);\r\n }\r\n }\r\n }", + "Type": "Demos.Components.FormInputs.children.Select.contents.AppendAndPrependItem", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 2, + "Name": "selection", + "Title": "选择", + "Description": "

SelectionContent 可用于自定义选中值在输入中显示的方式。 当您想要像 foo (+20 others) 或不想让选区占用多行时,这是很棒的。

\n", + "Code": "\r\n r\"\r\n ItemText=\"r=>r\"\r\n Multiple>\r\n \r\n @if (data.Index == 0)\r\n {\r\n \r\n @data.Item\r\n \r\n }\r\n else if (data.Index == 1)\r\n {\r\n \r\n (+@(_value.Count - 1) others)\r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n private List _items = new List{\r\n \"foo\", \"bar\", \"fizz\", \"buzz\", \"fizzbuzz\", \"foobar\"\r\n };\r\n private List _value = new List{\r\n \"foo\", \"bar\", \"fizz\"\r\n };\r\n }\r\n", + "Type": "Demos.Components.FormInputs.children.Select.contents.Selection", + "Style": "", + "Debug": false, + "Group": 2 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/autocompletes", + "/components/combobox", + "/components/forms" + ], + "Subtitle": "下拉框", + "Title": "Selects", + "Type": "下拉框" + }, + { + "Desc": "

MSlider 组件是一个更好的可视化数字输入工具。 它用于收集数字数据。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.5302456+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

滑块表示一根条上的一系列值,用户可以从中选择一个值。 滑块组件适用于调节音量、亮度,或者图像滤镜的强度。

\n", + "Code": "
\r\n \r\n
\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.Slider.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "colors", + "Title": "颜色", + "Description": "

您可以使用 ColorTrackColorThumbColor 属性设置滑块的颜色。

\n", + "Code": "
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n @code {\r\n public class Slider\r\n {\r\n public string Label { get; set; }\r\n\r\n public double Val { get; set; }\r\n\r\n public string Color { get; set; }\r\n }\r\n\r\n private Slider _ex1 = new Slider\r\n {\r\n Label = \"color\",\r\n Val = 25,\r\n Color = \"orange darken-3\"\r\n };\r\n\r\n private Slider _ex2 = new Slider\r\n {\r\n Label = \"track-color\",\r\n Val = 75,\r\n Color = \"green lighten-1\"\r\n };\r\n\r\n private Slider _ex3 = new Slider\r\n {\r\n Label = \"thumb-color\",\r\n Val = 50,\r\n Color = \"red\"\r\n };\r\n }\r\n\r\n", + "Type": "Demos.Components.FormInputs.children.Slider.props.Colors", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "disabled", + "Title": "禁用", + "Description": "

您不能与 Disabled 滑块交互。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n ", + "Type": "Demos.Components.FormInputs.children.Slider.props.Disabled", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "discrete", + "Title": "离散的", + "Description": "

离散滑块提供一个显示当前准确数量的标签。 您可以使用 Step 属性让滑块只能选择部分值。

\n", + "Code": "\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _value = 0;\r\n }", + "Type": "Demos.Components.FormInputs.children.Slider.props.Discrete", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "icons", + "Title": "图标", + "Description": "

您可以使用 AppendIconPrependIcon 属性添加图标到滑块。 您可以使用 OnAppendClickOnPrependClick 绑定图标点击事件回调函数。

\n", + "Code": "\r\n Media volume\r\n \r\n \r\n \r\n\r\n Alarm volume\r\n\r\n \r\n \r\n \r\n\r\n Icon click callback\r\n\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _media = 0;\r\n private double _alarm = 0;\r\n private double _zoom = 0;\r\n\r\n private void ZoomOut()\r\n {\r\n _zoom = _zoom - 10;\r\n if (_zoom < 0)\r\n {\r\n _zoom = 0;\r\n }\r\n }\r\n\r\n private void ZoomIn()\r\n {\r\n _zoom = _zoom + 10;\r\n if (_zoom > 100)\r\n {\r\n _zoom = 100;\r\n }\r\n }\r\n }", + "Type": "Demos.Components.FormInputs.children.Slider.props.Icons", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "inverseLabel", + "Title": "反向标签", + "Description": "

带有 InverseLabel 属性的 MSlider 的标签显示在末尾。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.FormInputs.children.Slider.props.InverseLabel", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "minAndMax", + "Title": "最小值和最大值", + "Description": "

您可以通过 MinMax 设置滑块的最小值和最大值。

\n", + "Code": "\r\n Min and max default slider\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n @code{\r\n private double _min = -50;\r\n private double _max = 90;\r\n private double _slider = 40;\r\n }", + "Type": "Demos.Components.FormInputs.children.Slider.props.MinAndMax", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "readonly", + "Title": "只读", + "Description": "

您不能与 Readonly 滑块交互,但它们看起来与普通滑块一样。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n ", + "Type": "Demos.Components.FormInputs.children.Slider.props.Readonly", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "step", + "Title": "步长", + "Description": "

MSlider 可以有1以上的步长。 这对您需要更准确地调整值的应用程序可能有帮助。

\n", + "Code": "\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _value = 10;\r\n }", + "Type": "Demos.Components.FormInputs.children.Slider.props.Step", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "thumb", + "Title": "缩略图标签", + "Description": "

您可以使用 ThumbLabel 属性让滑块在滑动时始终显示缩略图标签。 可以通过 ThumbColor 属性设置缩略图颜色,通过 ThumbSize 属性设置大小。 使用 AlwaysDirty 属性可使其颜色保持不变,即使在 Min 值上也是如此。

\n", + "Code": "\r\n \r\n \r\n \r\n Show thumb when using _slider\r\n \r\n \r\n \r\n\r\n \r\n \r\n Always show thumb label\r\n \r\n \r\n \r\n\r\n \r\n \r\n Custom thumb size\r\n \r\n \r\n \r\n\r\n \r\n \r\n Custom thumb label\r\n \r\n \r\n \r\n @_satisfactionEmojis[Convert.ToInt32(Math.Min(Math.Floor(value / 10), 9D))]\r\n \r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _slider = 45;\r\n private List _satisfactionEmojis = new List\r\n {\r\n \"😭\", \"😢\", \"☹️\", \"🙁\", \"😐\", \"🙂\", \"😊\", \"😁\", \"😄\", \"😍\"\r\n };\r\n }", + "Type": "Demos.Components.FormInputs.children.Slider.props.Thumb", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "ticks", + "Title": "刻度", + "Description": "

刻度线决定了用户能将滑块移动到的预定值。

\n", + "Code": "\r\n Show ticks when using slider\r\n\r\n \r\n \r\n \r\n\r\n Always show ticks\r\n\r\n \r\n \r\n \r\n\r\n Tick size\r\n\r\n \r\n \r\n \r\n\r\n Tick labels\r\n\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _value = 0;\r\n private double _fruits = 0;\r\n private List _ticksLabels = new List\r\n {\r\n \"Figs\",\r\n \"Lemon\",\r\n \"Pear\",\r\n \"Apple\"\r\n };\r\n }", + "Type": "Demos.Components.FormInputs.children.Slider.props.Ticks", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "validation", + "Title": "验证", + "Description": "

支持外部验证。

\n", + "Code": "\r\n Rules\r\n\r\n \r\n \r\n \r\n\r\n Persistent hint\r\n\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _value = 30;\r\n private List _errorMessages = new List();\r\n\r\n public void HandleOnChange(double val)\r\n {\r\n _value = val;\r\n if (_value <= 40)\r\n {\r\n _errorMessages = new List();\r\n }\r\n else\r\n {\r\n _errorMessages = new List\r\n {\r\n \"Only 40 in stock\"\r\n };\r\n }\r\n }\r\n }", + "Type": "Demos.Components.FormInputs.children.Slider.props.Validation", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "verticalSliders", + "Title": "垂直滑块", + "Description": "

您可以使用 Vertical 属性将滑块切换为垂直方向。 如果您需要更改滑块的高度,请使用 CSS。

\n", + "Code": "\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _value = 10;\r\n }", + "Type": "Demos.Components.FormInputs.children.Slider.props.VerticalSliders", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "appendAndPrepend", + "Title": "附加代码", + "Description": "

使用 PrependContentAppendContent 插槽来轻松自定义 MSlider 以便适应任何情况。

\n", + "Code": "\r\n \r\n \r\n METRONOME\r\n \r\n \r\n \r\n mdi-share-variant\r\n \r\n \r\n\r\n \r\n \r\n \r\n @_bpm\r\n BPM\r\n @if (_isPlaying)\r\n {\r\n \r\n }\r\n \r\n \r\n \r\n \r\n @(_isPlaying ? \"mdi-pause\" : \"mdi-play\")\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n mdi-minus\r\n \r\n \r\n\r\n \r\n \r\n mdi-plus\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private double _bpm = 40;\r\n private bool _isPlaying;\r\n\r\n public string Color\r\n {\r\n get\r\n {\r\n if (_bpm < 100)\r\n {\r\n return \"indigo\";\r\n }\r\n\r\n if (_bpm < 125)\r\n {\r\n return \"teal\";\r\n }\r\n\r\n if (_bpm < 140) return \"green\";\r\n\r\n if (_bpm < 175) return \"orange\";\r\n\r\n return \"red\";\r\n }\r\n }\r\n\r\n public string AnimationDuration => $\"{60 / _bpm}s\";\r\n\r\n public void Decrement()\r\n {\r\n _bpm--;\r\n }\r\n\r\n public void Increment()\r\n {\r\n _bpm++;\r\n }\r\n\r\n public void Toggle()\r\n {\r\n _isPlaying = !_isPlaying;\r\n }\r\n}", + "Type": "Demos.Components.FormInputs.children.Slider.contents.AppendAndPrepend", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 1, + "Name": "appendTextField", + "Title": "追加文本字段", + "Description": "

滑块可以与它的 AppendContent**** 插槽中的其他组件合并,例如 MTextField,以便为组件添加额外的功能。

\n", + "Code": "\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _red = 64;\r\n private double _green = 128;\r\n private double _blue = 0;\r\n }", + "Type": "Demos.Components.FormInputs.children.Slider.contents.AppendTextField", + "Style": "", + "Debug": false, + "Group": 2 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Sliders.svg", + "Cols": 1, + "Related": [ + "/components/forms", + "/components/selects", + "/components/range-sliders" + ], + "Subtitle": "滑块", + "Title": "Sliders", + "Type": "滑块" + }, + { + "Desc": "

MSwitch 组件使用户能够在两个不同的值之间进行选择。 它们非常类似于一个切换,或开关,虽然视觉上不同于一个复选框。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-23T18:21:16.3588668+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

最简单形式的 MSwitch 提供两个值之间的切换。

\n", + "Code": "
\r\n \r\n
\r\n\r\n@code{\r\n private bool _show = true;\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Switch.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "color", + "Title": "颜色", + "Description": "

开关可以使用任何内置颜色和上下文名称使用 Color 属性进行着色。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private bool _ex1 = true;\r\n private bool _ex2 = true;\r\n private bool _ex3 = true;\r\n private bool _ex4 = true;\r\n private bool _ex5 = true;\r\n private bool _ex6 = true;\r\n private bool _ex7 = true;\r\n private bool _ex8 = true;\r\n private bool _ex9 = true;\r\n private bool _ex10 = true;\r\n private bool _ex11 = true;\r\n private bool _ex12 = true;\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Switch.props.Color", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "flat", + "Title": "扁平", + "Description": "

您可以使用 Flat 属性渲染没有高度(z轴)的开关。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private bool _switch1=true;\r\n private bool _switch2;\r\n}", + "Type": "Demos.Components.FormInputs.children.Switch.props.Flat", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "inset", + "Title": "嵌入", + "Description": "

您可以在 Inset 模式下使开关渲染。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private bool _switch1=true;\r\n private bool _switch2;\r\n}", + "Type": "Demos.Components.FormInputs.children.Switch.props.Inset", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "state", + "Title": "状态", + "Description": "

MSwitch 可以有不同的状态,例如defaultDisabled,以及 Loading

\n", + "Code": "\r\n \r\n \r\n on\r\n \r\n \r\n off\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n on disabled\r\n \r\n \r\n off disabled\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n on loading\r\n \r\n \r\n off loading\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool switch1 = true;\r\n bool switch2 = true;\r\n bool switch3 = true;\r\n StringBoolean warning = \"warning\";\r\n}", + "Type": "Demos.Components.FormInputs.children.Switch.props.State", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "label", + "Title": "LabelContent", + "Description": "

文本字段标签可以在 LabelContent 中定义。

\n", + "Code": "\r\n \r\n \r\n Turn on the progress:\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool switchMe;\r\n}", + "Type": "Demos.Components.FormInputs.children.Switch.contents.Label", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 0, + "Name": "customText", + "Title": "自定义文本", + "Description": "

switch可以自定义文本

\n", + "Code": "
\r\n \r\n
\r\n\r\n@code {\r\n private bool _show = true;\r\n}\r\n", + "Type": "Demos.Components.FormInputs.children.Switch.misc.CustomText", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Switch.svg", + "Cols": 1, + "Related": [ + "/components/checkboxes", + "/components/forms", + "/components/radio" + ], + "Subtitle": "开关", + "Title": "Switches", + "Type": "开关" + }, + { + "Desc": "

多行文本框组件用于收集大量文本数据。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.5422448+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

MTextarea 最简单的形式是多行文本字段,对于大量文本非常有用。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n string value1 = \"The Woodman set to work at once, and so sharp was his axe that the tree was soon chopped nearly through.\";\r\n string value3 = \"The Woodman set to work at once, and so sharp was his axe that the tree was soon chopped nearly through.\";\r\n string value4 = \"The Woodman set to work at once, and so sharp was his axe that the tree was soon chopped nearly through.\";\r\n}", + "Type": "Demos.Components.FormInputs.children.TextArea.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "autoGrow", + "Title": "自动增长", + "Description": "

当使用 AutoGrow 时,当包含的文本超过其大小时,多行文本框的大小将自动增加。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private string _value = \"The Woodman set to work at once, and so sharp was his axe that the tree was soon chopped nearly through.\";\r\n}", + "Type": "Demos.Components.FormInputs.children.TextArea.props.AutoGrow", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "backgroundColor", + "Title": "背景色", + "Description": "

BackgroundColorColor 让您更多地控制 MTextarea 的样式。

\n", + "Code": "\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n", + "Type": "Demos.Components.FormInputs.children.TextArea.props.BackgroundColor", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "browserAutocomplete", + "Title": "浏览器自动补全", + "Description": "

Autocomplete 让您可以启用浏览器预测用户输入的选项。

\n", + "Code": "\r\n \r\n \r\n", + "Type": "Demos.Components.FormInputs.children.TextArea.props.BrowserAutocomplete", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "clearable", + "Title": "可清除", + "Description": "

您可以使用 ClearableMTextarea 清除文本,并使用 ClearableIcon 自定义清除图标。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private string _value = \"This is clearable text.\";\r\n}", + "Type": "Demos.Components.FormInputs.children.TextArea.props.Clearable", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "counter", + "Title": "计数器", + "Description": "

Counter 通知用户 MTextarea 的字符限制。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private string _value = \"Hello!\";\r\n private List> _rules = new()\r\n {\r\n v => v.Length <= 25 ? true : \"Max 25 characters\"\r\n };\r\n}", + "Type": "Demos.Components.FormInputs.children.TextArea.props.Counter", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "icon", + "Title": "图标", + "Description": "

AppendIconPrependIcon 帮助将上下文添加到 MTextarea.

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.FormInputs.children.TextArea.props.Icon", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "noResize", + "Title": "禁止缩放", + "Description": "

MTextarea 可以选择使用NoResize 保持相同的大小,而不管其内容大小。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private string _value = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n}", + "Type": "Demos.Components.FormInputs.children.TextArea.props.NoResize", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "row", + "Title": "行数", + "Description": "

Rows 允许您定义textarea有多少行,当与 RowHeight 结合使用时,您可以通过定义行的高度来进一步自定义行。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.FormInputs.children.TextArea.props.Row", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "signupForm", + "Title": "注册表单", + "Description": "

利用替代的输入样式,您可以创建易于构建和使用的惊人界面。

\n", + "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n\r\n \r\n \r\n \r\n mdi-square\r\n \r\n \r\n mdi-circle\r\n \r\n \r\n mdi-triangle\r\n \r\n \r\n \r\n \r\n mdi-arrow-left\r\n \r\n \r\n Sign up\r\n \r\n \r\n \r\n mdi-magnify\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n I agree to the\r\n dialog = true\" @onclick:stopPropagation>\r\n Terms of Service\r\n \r\n and\r\n dialog = true\" @onclick:stopPropagation>\r\n Privacy Policy\r\n *\r\n\r\n \r\n \r\n \r\n \r\n \r\n model.Clear())\">\r\n Clear\r\n \r\n \r\n form.EditContext.Validate()\">\r\n Submit\r\n \r\n \r\n \r\n \r\n \r\n Legal\r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\r\n \r\n \r\n \r\n {model.Agreement = false; dialog = false;}\">\r\n No\r\n \r\n \r\n {model.Agreement = true; dialog = false;}\">\r\n Yes\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n static string bio = \"Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts\";\r\n\r\n bool dialog;\r\n MForm form;\r\n Signup model = new() {Bio = bio};\r\n\r\n bool IsValid => form != null && form.EditContext.IsModified() && form.EditContext.Validate(); // is right usage?\r\n\r\n public class Signup\r\n {\r\n [Required]\r\n [MaxLength(6)]\r\n [MinLength(6)]\r\n public string Password { get; set; }\r\n\r\n [Required]\r\n [Phone]\r\n public string Phone { get; set; }\r\n\r\n [Required]\r\n [EmailAddress]\r\n public string Email { get; set; }\r\n\r\n public string Bio { get; set; }\r\n\r\n [Required]\r\n [Range(typeof(bool), \"true\", \"true\", ErrorMessage = \"The field is required\")] // just for demo\r\n public bool Agreement { get; set; }\r\n\r\n public void Clear()\r\n {\r\n Password = null;\r\n Phone = null;\r\n Email = null;\r\n Bio = null;\r\n Agreement = false;\r\n }\r\n }\r\n\r\n}", + "Type": "Demos.Components.FormInputs.children.TextArea.misc.SignupForm", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Textareas.svg", + "Cols": 1, + "Related": [ + "/components/forms", + "/components/selects", + "/components/text-fields" + ], + "Subtitle": "多行文本框", + "Title": "Textareas", + "Type": "多行文本框" + }, + { + "Desc": "

文本框组件用于收集用户提供的信息。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.5582455+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

具有占位符 和/或 标签的简单文本字段。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.FormInputs.children.TextField.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "clearable", + "Title": "可清除", + "Description": "

Clearable 时,您可以使用 ClearIcon 自定义清晰的图标。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string _message1 = \"Hey!\";\r\n private string _message2 = \"Hey!\";\r\n private string _message3 = \"Hey!\";\r\n private string _message4 = \"Hey!\";\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.props.Clearable", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": -1, + "Name": "counter", + "Title": "计数器", + "Description": "

使用 Counter 通知用户字符限制。计数器本身不执行任何验证—您需要将其与内部验证系统或第三方库配对。计数器可以定制 CounterValueCounterContent

\n", + "Code": "@using BlazorComponent\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n v.Trim().Split(' ').Length\"\r\n Label=\"Custom counter from prop\">\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private string _title = \"Preliminary report\";\r\n private string _description = \"California is a state in the western United States\";\r\n private List> _rules = new()\r\n {\r\n v => v.Length <= 25 ? true : \"Max 25 characters\"\r\n };\r\n private List> _wordsRules = new()\r\n {\r\n v => v.Trim().Split(' ').Length <= 5 ? true : \"Max 5 words\"\r\n };\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.props.Counter", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "customColors", + "Title": "自定义颜色", + "Description": "

您可以选择性地将文本字段更改为材料设计色板中的任何颜色。 下面是验证的自定义表单的执行示例。

\n", + "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n\r\n \r\n Registration successful!\r\n \r\n mdi-checkbox-marked-circle\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Bio (optional)\r\n
\r\n
\r\n \r\n
\r\n \r\n item\"\r\n ItemValue=\"item => item\"\r\n Color=\"pink\"\r\n Label=\"Favorite animal\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Do you accept the\r\n terms = true\">\r\n terms\r\n \r\n and\r\n conditions = true\">\r\n conditions?\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n Register\r\n \r\n \r\n
\r\n \r\n \r\n \r\n Terms\r\n \r\n @foreach (var n in Enumerable.Range(0, 5))\r\n {\r\n \r\n @content\r\n \r\n }\r\n \r\n \r\n terms = false\">\r\n Ok\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Conditions\r\n \r\n @foreach (var n in Enumerable.Range(0, 5))\r\n {\r\n \r\n @content\r\n \r\n }\r\n \r\n \r\n conditions = false\">\r\n Ok\r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code{\r\n\r\n static List animals = new() {\"Dog\", \"Cat\", \"Rabbit\", \"Turtle\", \"Snake\"};\r\n\r\n MForm form;\r\n bool terms;\r\n bool conditions;\r\n bool snackbar;\r\n string content = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur sodales ligula in libero. Sed dignissim lacinia nunc.\";\r\n\r\n Model model = new();\r\n\r\n bool FormIsValid => form != null && form.EditContext.IsModified() && form.EditContext.Validate();\r\n\r\n void ResetForm()\r\n {\r\n model.Reset();\r\n }\r\n\r\n void Submit()\r\n {\r\n snackbar = true;\r\n model.Reset();\r\n }\r\n\r\n public class Model\r\n {\r\n [Required]\r\n public string first { get; set; }\r\n\r\n [Required]\r\n public string last { get; set; }\r\n\r\n [Required]\r\n [Range(0, 10, ErrorMessage = \"I don't believe you!\")]\r\n public double age { get; set; }\r\n\r\n public string bio { get; set; }\r\n\r\n [Required]\r\n public string favoriteAnimal { get; set; }\r\n\r\n [Required]\r\n [Range(typeof(bool), \"true\", \"true\", ErrorMessage = \"The field is required\")] // just for demo\r\n public bool terms { get; set; }\r\n\r\n public void Reset()\r\n {\r\n first = default;\r\n last = default;\r\n age = default;\r\n bio = default;\r\n favoriteAnimal = default;\r\n terms = default;\r\n }\r\n }\r\n\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.props.CustomColors", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "dense", + "Title": "密集", + "Description": "

您可以使用 Dense 属性降低文件输入高度。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.FormInputs.children.TextField.props.Dense", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "disabledAndReadonly", + "Title": "禁用且只读", + "Description": "

文本字段可以是 DisabledReadonly

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string _value = \"John Doe\";\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.props.DisabledAndReadonly", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "filled", + "Title": "填充", + "Description": "

文本字段可以与其他(布局)盒子一起使用。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n string first = \"John\";\r\n string last = \"Doe\";\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.props.Filled", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "hideDetails", + "Title": "隐藏详细信息", + "Description": "

HideDetails 设置为 auto 时,只有在有信息(提示、错误信息等)显示的情况下,才会显示信息。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code{\r\n private Order _order =new Order();\r\n public class Order\r\n {\r\n public int? Id { get; set; }\r\n [System.ComponentModel.DataAnnotations.Required]\r\n public string Title { get; set; }\r\n [System.ComponentModel.DataAnnotations.Range(0,25.00)]\r\n public decimal? Price { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.props.HideDetails", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "hint", + "Title": "提示", + "Description": "

文本字段上的 Hint 属性添加了文本字段下方提供的字符串。 使用 PersistentHint 在文本字段未被焦点时显示提示。Solo 模式不支持提示。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.FormInputs.children.TextField.props.Hint", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "icons", + "Title": "图标", + "Description": "

您可以添加图标到文本字段使用 PrependIcon, AppendIconAppendOuterIcon

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.FormInputs.children.TextField.props.Icons", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "outlined", + "Title": "轮廓", + "Description": "

文本字段可以与其他轮廓设计一起使用。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string _first;\r\n private string _last;\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.props.Outlined", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "prefixesAndSuffixes", + "Title": "前缀和后缀", + "Description": "

PrefixSuffix 属性允许您在文本字段旁边添加和附加不可更改的内联文本。

\n", + "Code": "\r\n \r\n \r\n Prefix for dollar currency\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Suffix for weight\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Suffix for email domain\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Suffix for time zone\r\n \r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.FormInputs.children.TextField.props.PrefixesAndSuffixes", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "shaped", + "Title": "形状", + "Description": "

Shaped 文本字段如果是 Outlined 则是圆角的;如果是 Filled,则具有更大的 border-radius

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string _first;\r\n private string _last;\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.props.Shaped", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "singleLine", + "Title": "单行亮色主题", + "Description": "

SingleLine 文本框的标签不会浮动到焦点或数据之上。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.FormInputs.children.TextField.props.SingleLine", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "solo", + "Title": "单独", + "Description": "

文本字段可以与其他 Solo 设计一起使用。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string _first = \"John\";\r\n private string _last = \"Doe\";\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.props.Solo", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "validation", + "Title": "验证", + "Description": "

MASA Blazor 包括通过 规则 prop 进行简单的验证。 prop 接受了各种类型 函数, 布尔值 和 字符串 的组合。 当输入值发生变化时,数组中的每个元素将被验证。 函数传递当前的 Value 作为参数,必须返回 true / false 或 字符串 包含错误消息。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private string _title = \"Preliminary report\";\r\n private string _email = \"\";\r\n private Func _requiredRule = value => !string.IsNullOrEmpty(value) ? true : \"Required.\";\r\n private Func _counterRule = value => value.Length <= 20 ? true : \"Max 20 characters\";\r\n private Func _emailRule = value => System.Text.RegularExpressions.Regex.Match(value, \"^[\\\\w-]+@[\\\\w-]+\\\\.(com|net|org|edu|mil|tv|biz|info)$\").Success ? true : \"Invalid e-mail.\";\r\n private IEnumerable> _titleRules => new List>\r\n {\r\n _requiredRule,\r\n _counterRule\r\n };\r\n private IEnumerable> _emailRules => new List>\r\n {\r\n _requiredRule,\r\n _emailRule\r\n };\r\n }", + "Type": "Demos.Components.FormInputs.children.TextField.props.Validation", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "iconEvents", + "Title": "图标事件", + "Description": "

OnPrependClick, OnAppendClick, OnAppendOuterClickOnClearClick 将在点击相应的图标时发出。 请注意,如果使用图标插槽,将不会触发这些事件。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private string _message = \"Hey!\";\r\n private bool _marker = true;\r\n\r\n private List _icons = new List\r\n {\r\n \"mdi-emoticon\",\r\n \"mdi-emoticon-cool\",\r\n \"mdi-emoticon-dead\",\r\n \"mdi-emoticon-excited\",\r\n \"mdi-emoticon-happy\",\r\n \"mdi-emoticon-neutral\",\r\n \"mdi-emoticon-sad\",\r\n \"mdi-emoticon-tongue\",\r\n };\r\n\r\n private int _iconIndex = 0;\r\n\r\n public string Icon => _icons[_iconIndex];\r\n\r\n public void ToggleMarker()\r\n {\r\n _marker = !_marker;\r\n }\r\n\r\n public void ChangeIcon()\r\n {\r\n if (_iconIndex == _icons.Count - 1)\r\n {\r\n _iconIndex = 0;\r\n }\r\n else\r\n {\r\n _iconIndex++;\r\n }\r\n }\r\n\r\n public void SendMessage()\r\n {\r\n _iconIndex = 0;\r\n _message = \"\";\r\n }\r\n\r\n public void ClearMessage()\r\n {\r\n _message = \"\";\r\n }\r\n\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.events.IconEvents", + "Style": "", + "Debug": false, + "Group": 1 + }, + { + "Order": 2, + "Name": "iconSlots", + "Title": "图标插槽", + "Description": "

可以使用插槽来扩展输入的功能,而不是使用 Prepend/Append/AppendOuter 图标。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n mdi-help-circle-outline\r\n \r\n \r\n \r\n I'm a tooltip\r\n \r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n \r\n \r\n \r\n \r\n mdi-menu\r\n \r\n Menu\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n mdi-target\r\n Click me\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private string _message = \"Hey!\";\r\n\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.contents.IconSlots", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 2, + "Name": "label", + "Title": "标签", + "Description": "

文本字段标签可以在 LabelContent 中定义。

\n", + "Code": "\r\n \r\n \r\n \r\n What about icon here?\r\n \r\n mdi-file-find\r\n \r\n \r\n \r\n \r\n \r\n *姓名\r\n \r\n \r\n \r\n", + "Type": "Demos.Components.FormInputs.children.TextField.contents.Label", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 2, + "Name": "progress", + "Title": "进度条", + "Description": "

您可以显示进度条而不是底线。 您可以使用与文本字段相同的默认不可确定的进度或使用 ProgressContent 指定一个自定义的进度。

\n", + "Code": "\r\n \r\n \r\n @if (_custom)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n }\r\n\r\n\r\n@code {\r\n private string _value = \"\";\r\n private bool _custom = true;\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.contents.Progress", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 3, + "Name": "customValidation", + "Title": "自定义验证", + "Description": "

虽然内置的 MForm 组件可以帮助你简化验证过程,但你仍可以简单的自行控制它。(TODO: 等待表单验证进一步完善)

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r=>r\"\r\n Label=\"Country\"\r\n Placeholder=\"Select...\"\r\n required>\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n @if (_formHasErrors)\r\n {\r\n \r\n \r\n \r\n mdi-refresh\r\n \r\n \r\n \r\n Refresh form\r\n \r\n \r\n }\r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public static class Rules\r\n {\r\n public static IEnumerable> Name => new List>()\r\n {\r\n v => !string.IsNullOrEmpty(v) ? true : \"This field is required\"\r\n };\r\n\r\n public static IEnumerable> Address => new List>()\r\n {\r\n v => !string.IsNullOrEmpty(v) ? true : \"This field is required\",\r\n v => !string.IsNullOrEmpty(v) && v.Length <= 25 ? true : \"Address must be less than 25 characters\"\r\n };\r\n\r\n public static IEnumerable> City => new List>()\r\n {\r\n v => !string.IsNullOrEmpty(v) ? true : \"This field is required\"\r\n };\r\n\r\n public static IEnumerable> State => new List>()\r\n {\r\n v => !string.IsNullOrEmpty(v) ? true : \"This field is required\"\r\n };\r\n\r\n public static IEnumerable> Zip => new List>()\r\n {\r\n v => !string.IsNullOrEmpty(v) ? true : \"This field is required\"\r\n };\r\n\r\n public static IEnumerable> Country => new List>()\r\n {\r\n v => !string.IsNullOrEmpty(v) ? true : \"This field is required\"\r\n };\r\n }\r\n\r\n private string _name;\r\n private string _address;\r\n private string _city;\r\n private string _state;\r\n private string _zip;\r\n private string _country;\r\n private List _errorMessages = new();\r\n private bool _formHasErrors;\r\n private List _countries = new List()\r\n {\r\n \"Afghanistan\", \"Albania\", \"Algeria\", \"Andorra\", \"Angola\", \"Anguilla\", \"Antigua & Barbuda\", \"Argentina\", \"Armenia\", \"Aruba\", \"Australia\", \"Austria\", \"Azerbaijan\", \"Bahamas\", \"Bahrain\", \"Bangladesh\", \"Barbados\", \"Belarus\", \"Belgium\", \"Belize\", \"Benin\", \"Bermuda\", \"Bhutan\", \"Bolivia\", \"Bosnia & Herzegovina\", \"Botswana\", \"Brazil\", \"British Virgin Islands\", \"Brunei\", \"Bulgaria\", \"Burkina Faso\", \"Burundi\", \"Cambodia\", \"Cameroon\", \"Cape Verde\", \"Cayman Islands\", \"Chad\", \"Chile\", \"China\", \"Colombia\", \"Congo\", \"Cook Islands\", \"Costa Rica\", \"Cote D Ivoire\", \"Croatia\", \"Cruise Ship\", \"Cuba\", \"Cyprus\", \"Czech Republic\", \"Denmark\", \"Djibouti\", \"Dominica\", \"Dominican Republic\", \"Ecuador\", \"Egypt\", \"El Salvador\", \"Equatorial Guinea\", \"Estonia\", \"Ethiopia\", \"Falkland Islands\", \"Faroe Islands\", \"Fiji\", \"Finland\", \"France\", \"French Polynesia\", \"French West Indies\", \"Gabon\", \"Gambia\", \"Georgia\", \"Germany\", \"Ghana\", \"Gibraltar\", \"Greece\", \"Greenland\", \"Grenada\", \"Guam\", \"Guatemala\", \"Guernsey\", \"Guinea\", \"Guinea Bissau\", \"Guyana\", \"Haiti\", \"Honduras\", \"Hong Kong\", \"Hungary\", \"Iceland\", \"India\", \"Indonesia\", \"Iran\", \"Iraq\", \"Ireland\", \"Isle of Man\", \"Israel\", \"Italy\", \"Jamaica\", \"Japan\", \"Jersey\", \"Jordan\", \"Kazakhstan\", \"Kenya\", \"Kuwait\", \"Kyrgyz Republic\", \"Laos\", \"Latvia\", \"Lebanon\", \"Lesotho\", \"Liberia\", \"Libya\", \"Liechtenstein\", \"Lithuania\", \"Luxembourg\", \"Macau\", \"Macedonia\", \"Madagascar\", \"Malawi\", \"Malaysia\", \"Maldives\", \"Mali\", \"Malta\", \"Mauritania\", \"Mauritius\", \"Mexico\", \"Moldova\", \"Monaco\", \"Mongolia\", \"Montenegro\", \"Montserrat\", \"Morocco\", \"Mozambique\", \"Namibia\", \"Nepal\", \"Netherlands\", \"Netherlands Antilles\", \"New Caledonia\", \"New Zealand\", \"Nicaragua\", \"Niger\", \"Nigeria\", \"Norway\", \"Oman\", \"Pakistan\", \"Palestine\", \"Panama\", \"Papua New Guinea\", \"Paraguay\", \"Peru\", \"Philippines\", \"Poland\", \"Portugal\", \"Puerto Rico\", \"Qatar\", \"Reunion\", \"Romania\", \"Russia\", \"Rwanda\", \"Saint Pierre & Miquelon\", \"Samoa\", \"San Marino\", \"Satellite\", \"Saudi Arabia\", \"Senegal\", \"Serbia\", \"Seychelles\", \"Sierra Leone\", \"Singapore\", \"Slovakia\", \"Slovenia\", \"South Africa\", \"South Korea\", \"Spain\", \"Sri Lanka\", \"St Kitts & Nevis\", \"St Lucia\", \"St Vincent\", \"St. Lucia\", \"Sudan\", \"Suriname\", \"Swaziland\", \"Sweden\", \"Switzerland\", \"Syria\", \"Taiwan\", \"Tajikistan\", \"Tanzania\", \"Thailand\", \"Timor L\\\"Este\", \"Togo\", \"Tonga\", \"Trinidad & Tobago\", \"Tunisia\", \"Turkey\", \"Turkmenistan\", \"Turks & Caicos\", \"Uganda\", \"Ukraine\", \"United Arab Emirates\", \"United Kingdom\", \"United States\", \"Uruguay\", \"Uzbekistan\", \"Venezuela\", \"Vietnam\", \"Virgin Islands (US)\", \"Yemen\", \"Zambia\", \"Zimbabwe\"\r\n };\r\n\r\n public void ResetForm()\r\n {\r\n _formHasErrors = false;\r\n }\r\n\r\n public void Submit()\r\n {\r\n\r\n }\r\n }\r\n", + "Type": "Demos.Components.FormInputs.children.TextField.misc.CustomValidation", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 3, + "Name": "fullWidthWithCounter", + "Title": "带计数器的全宽度", + "Description": "

全宽文本字段允许您创建无限输入。 在此示例中,我们使用 MDivider 分隔字段。

\n", + "Code": "\r\n item\"\r\n ItemValue=\"item => item\"\r\n Chips\r\n Label=\"To\"\r\n FullWidth\r\n HideDetails=true\r\n HideNoData\r\n HideSelected\r\n Multiple\r\n SingleLine>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n readonly List items = new() { \"Trevor Handsen\", \"Alex Nelson\" };\r\n\r\n List selected = new() { \"Trevor Handsen\" };\r\n\r\n string subject = \"Plans for the weekend\";\r\n\r\n string title = \"Hi,\\nI just wanted to check in and see if you had any plans the upcoming weekend. We are thinking of heading up to Napa\";\r\n\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.misc.FullWidthWithCounter", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 3, + "Name": "passwordInput", + "Title": "密码输入", + "Description": "

使用password类型可以与附加图标和回调一起使用,以控制可见性。

\n", + "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n \r\n \r\n \r\n _show1 = !_show1\">\r\n \r\n \r\n\r\n \r\n _show2 = !_show2\">\r\n \r\n \r\n\r\n \r\n _show3 = !_show3\">\r\n \r\n \r\n\r\n \r\n _show4 = !_show4\">\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private bool _show1 = false;\r\n private bool _show2 = true;\r\n private bool _show3 = false;\r\n private bool _show4 = false;\r\n private Model _model = new()\r\n {\r\n Password1 = \"Password\",\r\n Password2 = \"wqfasds\",\r\n Password3 = \"wqfasds\",\r\n Password4 = \"Pa\"\r\n };\r\n\r\n public class Model\r\n {\r\n [Required(ErrorMessage =\"Required.\")]\r\n [MinLength(8,ErrorMessage =\"Min 8 characters\")]\r\n public string Password1 { get; set; }\r\n [Required(ErrorMessage =\"Required.\")]\r\n [MinLength(8,ErrorMessage =\"Min 8 characters\")]\r\n public string Password2 { get; set; }\r\n [Required(ErrorMessage =\"Required.\")]\r\n [MinLength(8,ErrorMessage =\"Min 8 characters\")]\r\n public string Password3 { get; set; }\r\n [Required(ErrorMessage =\"Required.\")]\r\n public string Password4 { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.FormInputs.children.TextField.misc.PasswordInput", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/TextField.svg", + "Cols": 1, + "Related": [ + "/components/forms", + "/components/selects", + "/components/textarea" + ], + "Subtitle": "文本框", + "Title": "Text fields", + "Type": "文本框" + }, + { + "Desc": "

MASA.Blazor 配备了一个使用 flexbox 构建的 12 格网格系统。 网格用于在应用的内容中创建特定的布局。 它包含 5 种类型的媒体断点,用于针对特定的屏幕尺寸或方向,xs、sm、md、lg 和 xl。 这些分辨率在视口断点表中定义如下,可以通过自定义断点进行修改。

\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Material Design 断点\n
设备代码类型像素范围
\n \n Extra small (超小号)\n xs小型号到大型号的手机< 600px
\n \n Small (小号)\n sm小型号到中型号的平板600px > < 960px
\n \n Medium (中号)\n md大型号平板到手提电脑960px > < 1264px*
\n \n Large (大号)\n lg桌面端1264px > < 1904px*
\n \n Extra large (超大号)\n xl4K 和超宽屏幕> 1904px*
\n 桌面端上浏览器滚动条的宽度为 * -16px \n
\n \n 规格\n
\n
\n
\n
\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "功能组件": "\n
    \n
  • MContainerMContainer 提供了将你的网站内容居中和水平填充的功能。 你还可以使用 Fluid 属性将容器在所有视口和设备尺寸上完全扩展。
  • \n
  • MColMCol 包裹内容,它必须是 MRow 的直接子集。
  • \n
  • MRowMRowMCol 的容器组件。 它使用 Flex 属性来控制其内栏的布局和流。 它使用的是 24px 的标准间隔。 这可以用 Dense 属性来减小,或者用 NoGutters\n来完全去除。
  • \n
  • MSpacerMSpacer 是一个基本而又通用的间隔组件,用于分配父子组件之间的剩余宽度。 当一个 MSpacer 放置在子组件之前或之后时,组件将推到其容器的左右两侧。 当多个组件之间使用多个 MSpacer 时,剩余的宽度将均匀地分布在每个 spacer 之间。
  • \n
\n", + "Helper Classes": "\n

FillHeight applies height: 100% to an element. When applied to MContainer it will also align-items: center.

\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.5722435+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

MASA.Blazor 网格深受 Bootstrap 网格 的启发。 它使用一系列的容器、行、列来整合内容的布局和排列。 如果你不熟悉\nflexbox,阅读 CSS Tricks flexbox 指南,了解背景、术语、指南和代码片段。

\n", + "Code": "\r\n \r\n @for (var i = 0; i < 3; i++)\r\n {\r\n \r\n \r\n One of three columns\r\n \r\n \r\n }\r\n \r\n\r\n", + "Type": "Demos.Components.Grid.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "align", + "Title": "垂直对齐", + "Description": "

使用 AlignAlignSelf 属性来改变 flex 项目及其父项的垂直对齐方式。

\n", + "Code": "
\r\n @foreach (var align in _alignments)\r\n {\r\n \r\n \r\n @for (int i = 0; i < 3; i++)\r\n {\r\n \r\n \r\n One of three columns\r\n \r\n \r\n }\r\n \r\n \r\n }\r\n\r\n \r\n \r\n @foreach (var align in _alignments)\r\n {\r\n \r\n \r\n One of three columns\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var align in _alignments)\r\n {\r\n \r\n \r\n One of three columns\r\n \r\n \r\n }\r\n \r\n \r\n
\r\n\r\n@code{\r\n private string[] _alignments = new string[]\r\n {\r\n \"start\",\r\n \"center\",\r\n \"end\"\r\n };\r\n}\r\n", + "Type": "Demos.Components.Grid.props.Align", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "breakpointSizing", + "Title": "断点尺寸", + "Description": "

列将自动占用其父容器内相等的空间。 这可以使用 Cols 属性来修改。 你还可以使用 SmMdLgXl 属性来进一步定义不同视口尺寸下的列占用空间。

\n", + "Code": "\r\n @for (int i = 1; i <= 2; i++)\r\n {\r\n var n = i + 1;\r\n \r\n @for (int j = 0; j < n + 1; j++)\r\n {\r\n var k = j + 1;\r\n \r\n \r\n @($\"{ k } of { n + 1 }\")\r\n \r\n \r\n }\r\n \r\n }\r\n", + "Type": "Demos.Components.Grid.props.BreakpointSizing", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "justify", + "Title": "水平对齐", + "Description": "

使用 Justify 属性改变 flex 项目的水平对齐方式。

\n", + "Code": "\r\n @foreach (var j in _justify)\r\n {\r\n \r\n @for (int i = 0; i < 2; i++)\r\n {\r\n \r\n \r\n One of two columns\r\n \r\n \r\n }\r\n \r\n }\r\n\r\n\r\n@code{\r\n private string[] _justify = new string[]\r\n {\r\n \"start\",\r\n \"center\",\r\n \"end\",\r\n \"space-around\",\r\n \"space-between\"\r\n };\r\n}", + "Type": "Demos.Components.Grid.props.Justify", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "noGutters", + "Title": "无间隔", + "Description": "

你可以使用 NoGutters 属性从 MRow 中移除负值外边距,从其直接子 MCol 中移除内边距。

\n", + "Code": "\r\n \r\n \r\n \r\n .col-12 .col-sm-6 .col-md-8\r\n \r\n \r\n \r\n \r\n .col-6 .col-md-4\r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Grid.props.NoGutters", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "offset", + "Title": "偏移", + "Description": "

偏移对于控制元素不可见或控制内容位置很有用。 就像断点一样,你可以为任何可用的尺寸设置一个偏移。 这使你可以根据自己的需求精确地调整应用布局。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n .col-md-4\r\n \r\n \r\n \r\n \r\n .col-md-4 .offset-md-4\r\n \r\n \r\n \r\n \r\n \r\n \r\n .col-md-3 .offset-md-3\r\n \r\n \r\n \r\n \r\n .col-md-3 .offset-md-3\r\n \r\n \r\n \r\n \r\n \r\n \r\n .col-md-6 .offset-md-3\r\n \r\n \r\n \r\n \r\n
", + "Type": "Demos.Components.Grid.props.Offset", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "offsetBreakpoint", + "Title": "偏移断点", + "Description": "

偏移也可以在每个断点的基础上设置。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n .col-sm-5 .col-md-6\r\n \r\n \r\n \r\n \r\n .col-sm-5 .offset-sm-2 .col-md-6 .offset-md-0\r\n \r\n \r\n \r\n \r\n \r\n \r\n .col-sm-6 .col-md-5 .col-lg-6\r\n \r\n \r\n \r\n \r\n .col-sm-6 .col-md-5 .offset-md-2 .col-lg-6 .offset-lg-0\r\n \r\n \r\n \r\n \r\n
", + "Type": "Demos.Components.Grid.props.OffsetBreakpoint", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "order", + "Title": "排序", + "Description": "

你可以控制网格项目的排序。 与偏移一样,你可以为不同的尺寸设置不同的顺序。 设计专门的屏幕布局,以适应任何应用。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n First, but unordered\r\n \r\n \r\n \r\n \r\n Second, but last\r\n \r\n \r\n \r\n \r\n Third, but first\r\n \r\n \r\n \r\n \r\n
", + "Type": "Demos.Components.Grid.props.Order", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "orderFirstAndLast", + "Title": "先后排序", + "Description": "

你也可以明确指定 FirstLast,这将分别为 order CSS 属性分配 -113 值。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n First, but last\r\n \r\n \r\n \r\n \r\n Second, but unordered\r\n \r\n \r\n \r\n \r\n Third, but first\r\n \r\n \r\n \r\n \r\n
", + "Type": "Demos.Components.Grid.props.OrderFirstAndLast", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "columnWrapping", + "Title": "换行列", + "Description": "

当在给定的行中放置了超过 12 个列时(没有使用 .flex-nowrap),每一组额外的列都将被包入新的行。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n .col-9\r\n \r\n \r\n \r\n \r\n .col-4
Since 9 + 4 = 13 > 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.\r\n
\r\n
\r\n \r\n \r\n .col-6
Subsequent columns continue along the new line.\r\n
\r\n
\r\n
\r\n
\r\n
", + "Type": "Demos.Components.Grid.misc.ColumnWrapping", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 3, + "Name": "equalWidthColumns", + "Title": "等宽列", + "Description": "

你可以把等宽列分成多行。\n虽然旧版本的浏览器有解决办法,但仍有一个 Safari flexbox 问题。\n如果你是最新的 Safari,无需担心这个问题。

\n", + "Code": "
\r\n \r\n \r\n @for (int index = 0; index < 4; index++)\r\n {\r\n \r\n \r\n Column\r\n \r\n \r\n if (index == 1)\r\n {\r\n \r\n }\r\n }\r\n \r\n \r\n
", + "Type": "Demos.Components.Grid.misc.EqualWidthColumns", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 4, + "Name": "growAndShrink", + "Title": "增长与收缩", + "Description": "

默认情况下,flex 组件将自动填充行或列中的可用空间。 没有指定具体尺寸时,它们也会相对于 flex 容器中的其他 flex 项目收缩。 你可以使用 cols 属性定义 MCol 的列宽,并提供 1 到 12 的值

\n", + "Code": "
\r\n \r\n \r\n @for (var index = 0; index < 4; index++)\r\n {\r\n \r\n \r\n col\r\n \r\n \r\n }\r\n \r\n \r\n @for (int index = 0; index < 2; index++)\r\n {\r\n \r\n \r\n col-@(index == 0 ? 8 : 4)\r\n \r\n \r\n }\r\n \r\n \r\n
", + "Type": "Demos.Components.Grid.misc.GrowAndShrink", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 5, + "Name": "marginHelpers", + "Title": "外边距辅助", + "Description": "

使用外边距工具类可以强行把同级列分开。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n .col-md-4\r\n \r\n \r\n \r\n \r\n .col-md-4 .ml-auto\r\n \r\n \r\n \r\n \r\n \r\n \r\n .col-md-3 .ml-md-auto\r\n \r\n \r\n \r\n \r\n .col-md-3 .ml-md-auto\r\n \r\n \r\n \r\n \r\n \r\n \r\n .col-auto .mr-auto\r\n \r\n \r\n \r\n \r\n .col-auto\r\n \r\n \r\n \r\n \r\n
\r\n", + "Type": "Demos.Components.Grid.misc.MarginHelpers", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 5, + "Name": "nested", + "Title": "嵌套网格", + "Description": "

与其他框架类似,网格可以被嵌套,以实现非常自定义的布局。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n Level 1: .col-sm-9\r\n \r\n \r\n \r\n \r\n Level 2: .col-8 .col-sm-6\r\n \r\n \r\n \r\n \r\n Level 3: .col-4 .col-sm-6\r\n \r\n \r\n \r\n \r\n \r\n \r\n
", + "Type": "Demos.Components.Grid.misc.Nested", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 5, + "Name": "oneColumnWidth", + "Title": "一列宽度", + "Description": "

使用自动布局时,你可以只定义一列的宽度,并且仍然可以让它的同级元素围绕它自动调整大小。

\n", + "Code": "
\r\n \r\n \r\n @for (var index = 0; index < 3; index++)\r\n {\r\n var localVariable = index + 1;\r\n \r\n \r\n @localVariable of 3 @(localVariable == 2 ? \"(wider)\" : \"\")\r\n \r\n \r\n }\r\n \r\n \r\n @for (int index = 0; index < 3; index++)\r\n {\r\n var localVariable = index + 1;\r\n \r\n \r\n @localVariable of 3 @(localVariable == 2 ? \"(wider)\" : \"\")\r\n \r\n \r\n }\r\n \r\n \r\n
", + "Type": "Demos.Components.Grid.misc.OneColumnWidth", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 5, + "Name": "rowAndColumnBreakpoints", + "Title": "行和列断点", + "Description": "

根据分辨率动态地改变你的布局。 (调整你的屏幕大小,并观看顶部 row 布局在 sm、md 和 lg 断点上的变化)

\n", + "Code": "\r\n \r\n @for (int index = 0; index < 2; index++)\r\n {\r\n \r\n \r\n col-6\r\n \r\n \r\n }\r\n \r\n \r\n @for (int index = 0; index < 3; index++)\r\n {\r\n \r\n \r\n col\r\n \r\n \r\n }\r\n \r\n", + "Type": "Demos.Components.Grid.misc.RowAndColumnBreakpoints", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 5, + "Name": "spacers", + "Title": "空白", + "Description": "

MSpacer 组件在你想要填充可用空间或在两个组件之间留出空间时非常有用。

\n", + "Code": "\r\n \r\n \r\n \r\n .col\r\n \r\n \r\n \r\n \r\n \r\n .col\r\n \r\n \r\n \r\n \r\n \r\n \r\n .col-auto\r\n \r\n \r\n \r\n \r\n \r\n .col\r\n \r\n \r\n \r\n \r\n \r\n .col-md-5\r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Grid.misc.Spacers", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 5, + "Name": "uniqueLayouts", + "Title": "独特的布局", + "Description": "

Masa.Blazor 网格系统的强大和灵活性使你能够创建出色的用户界面。

\n", + "Code": "\r\n \r\n \r\n \r\n .col-12 .col-md-8\r\n \r\n \r\n \r\n \r\n .col-6 .col-md-4\r\n \r\n \r\n \r\n\r\n \r\n @for (int index = 0; index < 3; index++)\r\n {\r\n \r\n \r\n .col-6 .col-md-4\r\n \r\n \r\n }\r\n \r\n\r\n \r\n @for (int index = 0; index < 2; index++)\r\n {\r\n \r\n \r\n .col-6\r\n \r\n \r\n }\r\n \r\n", + "Type": "Demos.Components.Grid.misc.UniqueLayouts", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 5, + "Name": "variableContentWidth", + "Title": "可变内容宽度", + "Description": "

为列分配断点宽度可以根据其内容的性质宽度来配置调整大小。

\n", + "Code": "\r\n \r\n \r\n \r\n 1 of 3\r\n \r\n \r\n \r\n \r\n Variable width content\r\n \r\n \r\n \r\n \r\n 3 of 3\r\n \r\n \r\n \r\n \r\n \r\n \r\n 1 of 3\r\n \r\n \r\n \r\n \r\n Variable width content\r\n \r\n \r\n \r\n \r\n 3 of 3\r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Grid.misc.VariableContentWidth", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Grid.svg", + "Cols": 1, + "Related": [ + "/styles/flex", + "/features/breakpoints", + "/styles/display" + ], + "Subtitle": "网格", + "Title": "Grid system", + "Type": "网格" + }, + { + "Desc": "

MButtonGroup 组件是专门针对 MButton 构建的 MItemGroup 的简单包装器。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-09T15:11:03.9854873+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

切换按钮允许您创建一个样式化的按钮组,可以使用 @bind-Value(s) 下选择或切换。

\n", + "Code": "\r\n \r\n

Exclusive

\r\n \r\n \r\n mdi-format-align-left\r\n \r\n \r\n mdi-format-align-center\r\n \r\n \r\n mdi-format-align-right\r\n \r\n \r\n mdi-format-align-justify\r\n \r\n \r\n
\r\n \r\n

Multiple

\r\n \r\n \r\n mdi-format-bold\r\n \r\n \r\n mdi-format-italic\r\n \r\n \r\n mdi-format-underline\r\n \r\n \r\n mdi-format-color-fill\r\n \r\n \r\n
\r\n \r\n

No Options Selected

\r\n \r\n \r\n mdi-format-align-left\r\n \r\n \r\n mdi-format-align-center\r\n \r\n \r\n mdi-format-align-right\r\n \r\n \r\n mdi-format-align-justify\r\n \r\n \r\n
\r\n \r\n

Mandatory

\r\n \r\n \r\n mdi-format-align-left\r\n \r\n \r\n mdi-format-align-center\r\n \r\n \r\n mdi-format-align-right\r\n \r\n \r\n mdi-format-align-justify\r\n \r\n \r\n
\r\n \r\n

Text Options

\r\n \r\n \r\n Left\r\n \r\n \r\n Center\r\n \r\n \r\n Right\r\n \r\n \r\n Justify\r\n \r\n \r\n
\r\n \r\n

Text & Icon Options

\r\n \r\n \r\n Left\r\n \r\n mdi-format-align-left\r\n \r\n \r\n \r\n Center\r\n \r\n mdi-format-align-center\r\n \r\n \r\n \r\n Right\r\n \r\n mdi-format-align-right\r\n \r\n \r\n \r\n Justify\r\n \r\n mdi-format-align-justify\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n@code {\r\n StringNumber text = \"center\";\r\n StringNumber icon = \"justify\";\r\n StringNumber toggleNone;\r\n StringNumber toggleOne = 0;\r\n StringNumber toggleExclusive = 2;\r\n List toggleMultiple = new() { 0, 1, 2 };\r\n}\r\n", + "Type": "Demos.Components.Groups.children.ButtonGroup.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "mandatory", + "Title": "必填项", + "Description": "

MButtonGroup 带有 mandatory 属性将总是有一个(被选中的)值。

\n", + "Code": "\r\n \r\n \r\n \r\n

\r\n Mandatory\r\n

\r\n
\r\n \r\n \r\n mdi-format-align-left\r\n \r\n \r\n mdi-format-align-center\r\n \r\n \r\n mdi-format-align-right\r\n \r\n \r\n mdi-format-align-justify\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n@code {\r\n StringNumber value;\r\n}", + "Type": "Demos.Components.Groups.children.ButtonGroup.props.Mandatory", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "multiple", + "Title": "多选", + "Description": "

MButtonGroup 带有 multiple 属性将允许用户选中多个值并以数组的形式返回。

\n", + "Code": "\r\n \r\n \r\n \r\n

\r\n Multiple\r\n

\r\n
\r\n \r\n \r\n mdi-format-align-left\r\n \r\n \r\n mdi-format-align-center\r\n \r\n \r\n mdi-format-align-right\r\n \r\n \r\n mdi-format-align-justify\r\n \r\n \r\n \r\n Values: [@(string.Join(',', values))]\r\n \r\n
\r\n
\r\n
\r\n\r\n@code {\r\n List values = new();\r\n}", + "Type": "Demos.Components.Groups.children.ButtonGroup.props.Multiple", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "rounded", + "Title": "圆角", + "Description": "

你可以使用 rounded 属性让 MButtonGroup 变成圆角样式。

\n", + "Code": "\r\n \r\n \r\n \r\n

\r\n Rounded\r\n

\r\n
\r\n \r\n \r\n mdi-format-align-left\r\n \r\n \r\n mdi-format-align-center\r\n \r\n \r\n mdi-format-align-right\r\n \r\n \r\n mdi-format-align-justify\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n@code {\r\n StringNumber value = \"left\";\r\n}", + "Type": "Demos.Components.Groups.children.ButtonGroup.props.Rounded", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "toolbar", + "Title": "工具栏(TODO:OverflowButton)", + "Description": "

可与 MToolbar 轻松集成自定义按钮方案。

\n", + "Code": "\r\n @* TODO: v-overflow-btn *@\r\n @* *@\r\n\r\n\r\n \r\n\r\n @* *@\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n mdi-format-bold\r\n \r\n\r\n \r\n mdi-format-italic\r\n \r\n\r\n \r\n mdi-format-underline\r\n \r\n\r\n \r\n mdi-format-color-fill\r\n \r\n \r\n\r\n
\r\n\r\n \r\n \r\n mdi-format-align-left\r\n \r\n\r\n \r\n mdi-format-align-center\r\n \r\n\r\n \r\n mdi-format-align-right\r\n \r\n\r\n \r\n mdi-format-align-justify\r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n List dropdownFont = new() {\"Arial\", \"Calibri\", \"Courier\", \"Verdana\"};\r\n List dropdownEdit = new() {\"100%\", \"75%\", \"50%\", \"0%\"};\r\n StringNumber toggleExclusive = 2;\r\n List toggleMultiple = new() {1, 2, 3};\r\n\r\n}", + "Type": "Demos.Components.Groups.children.ButtonGroup.misc.Toolbar", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 5, + "Name": "wysiwyg", + "Title": "WYSIWYG/所见即所得", + "Description": "

对类似的操作进行分组,并设计自己的 WYSIWYG 组件。

\n", + "Code": "\r\n \r\n \r\n\r\n \r\n \r\n \r\n mdi-format-italic\r\n \r\n\r\n \r\n mdi-format-bold\r\n \r\n\r\n \r\n mdi-format-underline\r\n \r\n\r\n \r\n \r\n \r\n mdi-format-color-text\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n mdi-format-align-center\r\n \r\n\r\n \r\n mdi-format-align-left\r\n \r\n\r\n \r\n mdi-format-align-right\r\n \r\n \r\n \r\n\r\n \r\n \r\n @foreach (var n in numbers)\r\n {\r\n @n\r\n }\r\n\r\n \r\n\r\n \r\n @foreach (var l in letters)\r\n {\r\n @l\r\n }\r\n \r\n \r\n\r\n\r\n\r\n@code {\r\n\r\n StringNumber alignment = 1;\r\n List formatting = new();\r\n List numbers = new() {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};\r\n List letters = \"q w e r t y u i o p\".Split(\" \").ToList();\r\n string value = \"Toggle button requirements.\\r\\rHave at least three toggle buttons in a group\\rLabel buttons with text, an icon, or\";\r\n\r\n}", + "Type": "Demos.Components.Groups.children.ButtonGroup.misc.WYSIWYG", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ButtonGroup.svg", + "Cols": 1, + "Related": [ + "/components/buttons", + "/components/icons", + "/components/selection-controls" + ], + "Subtitle": "按钮组", + "Title": "Button groups", + "Type": "按钮组" + }, + { + "Desc": "

MChipGroup 通过提供可分组的功能来增强 MChip 组件。 它使用纸片来创建选择组。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-09T10:30:56.8128962+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "column", + "Title": "列", + "Description": "

使用 Column 属性的纸片组可以包装它们的纸片。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n mdi-content-save-cog-outline\r\n \r\n\r\n \r\n mdi-check-bold\r\n \r\n \r\n\r\n
\r\n \r\n @foreach (var tag in _tags)\r\n {\r\n \r\n @tag\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n@code{\r\n private string[] _tags = new string[]\r\n {\r\n \"Work\",\r\n \"Home Improvement\",\r\n \"Vacation\",\r\n \"Food\",\r\n \"Drawers\",\r\n \"Shopping\",\r\n \"Art\",\r\n \"Tech\",\r\n \"Creative Writing\"\r\n };\r\n}", + "Type": "Demos.Components.Groups.children.ChipGroup.props.Column", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "filterResults", + "Title": "过滤结果", + "Description": "

使用 Filter 属性轻松创建提供额外反馈的纸片组。 这就与用户选中的纸片产生了一种可供选择的视觉样式。

\n", + "Code": "\r\n \r\n \r\n mdi-close\r\n \r\n Filter results\r\n \r\n\r\n \r\n

\r\n Choose amenities\r\n

\r\n\r\n \r\n \r\n Elevator\r\n \r\n \r\n Washer / Dryer\r\n \r\n \r\n Fireplace\r\n \r\n \r\n Wheelchair access\r\n \r\n \r\n Dogs ok\r\n \r\n \r\n Cats ok\r\n \r\n \r\n
\r\n\r\n \r\n

\r\n Choose neighborhoods\r\n

\r\n\r\n \r\n \r\n Snowy Rock Place\r\n \r\n \r\n Honeylane Circle\r\n \r\n \r\n Donna Drive\r\n \r\n \r\n Elaine Street\r\n \r\n \r\n Court Street\r\n \r\n \r\n Kennedy Park\r\n \r\n \r\n
\r\n\r\n\r\n@code {\r\n\r\n List amenities = new() {1, 4};\r\n List neighborhoods = new() {1};\r\n\r\n}", + "Type": "Demos.Components.Groups.children.ChipGroup.props.FilterResults", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "mandatory", + "Title": "必填项", + "Description": "

具有 Mandatory 属性的纸片组必须始终选择一个值。

\n", + "Code": "\r\n \r\n \r\n \r\n @foreach (var tag in _tags)\r\n {\r\n \r\n @tag\r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string[] _tags = new string[]\r\n {\r\n \"Work\",\r\n \"Home Improvement\",\r\n \"Vacation\",\r\n \"Food\",\r\n \"Drawers\",\r\n \"Shopping\",\r\n \"Art\",\r\n \"Tech\",\r\n \"Creative Writing\"\r\n };\r\n}", + "Type": "Demos.Components.Groups.children.ChipGroup.props.Mandatory", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "multiple", + "Title": "多选", + "Description": "

具有 Multiple prop的纸片组可以选择多个值。

\n", + "Code": "\r\n \r\n \r\n \r\n @foreach (var tag in _tags)\r\n {\r\n \r\n @tag\r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string[] _tags = new string[]\r\n {\r\n \"Work\",\r\n \"Home Improvement\",\r\n \"Vacation\",\r\n \"Food\",\r\n \"Drawers\",\r\n \"Shopping\",\r\n \"Art\",\r\n \"Tech\",\r\n \"Creative Writing\"\r\n };\r\n}", + "Type": "Demos.Components.Groups.children.ChipGroup.props.Multiple", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "productCard", + "Title": "产品卡", + "Description": "

MChip 组件可以有一个用于其model的明确值。 这会传递到 MChipGroup 组件并且在您不想使用纸片索引作为其值时非常有用。

\n", + "Code": "\r\n \r\n

\r\n Shirt Blouse\r\n

\r\n \r\n $44.50\r\n
\r\n\r\n \r\n Our blouses are available in 8 colors. You can custom order a built-in arch support for any of the models.\r\n \r\n\r\n \r\n\r\n \r\n Select size\r\n\r\n \r\n @foreach (var size in sizes)\r\n {\r\n \r\n @size\r\n \r\n }\r\n \r\n \r\n\r\n \r\n \r\n Add to Cart\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber selection = \"08\";\r\n\r\n List sizes = new() {\"04\", \"06\", \"08\", \"10\", \"12\", \"14\"};\r\n\r\n}", + "Type": "Demos.Components.Groups.children.ChipGroup.misc.ProductCard", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 1, + "Name": "toothbrushCard", + "Title": "牙刷卡", + "Description": "

纸片组允许创建自定义接口,这些接口执行与项组或单选控件相同的操作,但在风格上有所不同。

\n", + "Code": "\r\n \r\n

\r\n Toothbrush\r\n

\r\n \r\n $4.99\r\n
\r\n\r\n \r\n Our company takes pride in making handmade brushes.\r\n Our toothbrushes are available in 4 different bristel types, from extra soft to hard.\r\n \r\n\r\n \r\n\r\n \r\n Select type\r\n\r\n \r\n Extra Soft\r\n Soft\r\n Medium\r\n Hard\r\n \r\n \r\n\r\n \r\n \r\n Add to Cart\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber selection = 2;\r\n\r\n}", + "Type": "Demos.Components.Groups.children.ChipGroup.misc.ToothbrushCard", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Chip.svg", + "Cols": 1, + "Related": [ + "/components/chips", + "/components/slide-groups", + "/components/item-groups" + ], + "Subtitle": "纸片组", + "Title": "Chip groups", + "Type": "纸片组" + }, + { + "Desc": "

MItemGroup 提供从任何组件中创建一组可选项的功能。 这是 MTabsMcarousel 等组件的基本功能。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-09T10:30:56.8178968+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

MItemGroup 的核心用法是创建由 Value 控制的任何对象的组。

\n", + "Code": "\r\n \r\n \r\n @foreach (var i in Enumerable.Range(0, 3))\r\n {\r\n \r\n \r\n @{\r\n \r\n \r\n \r\n Active\r\n \r\n \r\n \r\n }\r\n \r\n \r\n }\r\n \r\n \r\n", + "Type": "Demos.Components.Groups.children.ItemGroup.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "activeClass", + "Title": "激活类", + "Description": "

The ActiveClass property allows you to set custom CSS class on active items.

\n", + "Code": "\r\n \r\n \r\n @foreach (var n in Enumerable.Range(0, 3))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n Active\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n", + "Type": "Demos.Components.Groups.children.ItemGroup.props.ActiveClass", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "mandatory", + "Title": "必填项", + "Description": "

Mandatory 项目组必须至少选择一个项目。

\n", + "Code": "\r\n \r\n \r\n @foreach (var i in Enumerable.Range(0, 3))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n Active\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n", + "Type": "Demos.Components.Groups.children.ItemGroup.props.Mandatory", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "multiple", + "Title": "多选", + "Description": "

项目组可以选择 多个 个项目。

\n", + "Code": "\r\n \r\n \r\n @foreach (var i in Enumerable.Range(0, 3))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n Active\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n", + "Type": "Demos.Components.Groups.children.ItemGroup.props.Multiple", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "chips", + "Title": "Chips(纸片)", + "Description": "

轻松绑定自定义纸片组。

\n", + "Code": "\r\n \r\n Submit a post\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Tags\r\n\r\n @foreach (var i in Enumerable.Range(1, 8))\r\n {\r\n \r\n \r\n @($\"Tag {i}\")\r\n \r\n \r\n }\r\n \r\n\r\n \r\n\r\n \r\n \r\n Post\r\n \r\n \r\n\r\n\r\n@code {\r\n string title = \"My new post\";\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\";\r\n}", + "Type": "Demos.Components.Groups.children.ItemGroup.misc.Chips", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 4, + "Name": "selection", + "Title": "选择", + "Description": "

当图标允许选择或取消选择单个选项(例如将项目标记为收藏)时,它们可以用作切换按钮。

\n", + "Code": "\r\n \r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n \r\n @(context.Active ? \"mdi-heart\" : \"mdi-heart-outline\")\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n \"backgrounds/bg.jpg\",\r\n \"backgrounds/md.jpg\",\r\n \"backgrounds/bg-2.jpg\",\r\n \"backgrounds/md2.jpg\",\r\n };\r\n\r\n List selected = new();\r\n\r\n}", + "Type": "Demos.Components.Groups.children.ItemGroup.misc.Selection", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ItemGroup.svg", + "Cols": 1, + "Related": [ + "/components/button-groups", + "/components/carousels", + "/components/tabs" + ], + "Subtitle": "项目组", + "Title": "Item groups", + "Type": "项目组" + }, + { + "Desc": "

MListItemGroup 提供创建一组可选择的 MListItem 的能力。MListItemGroup 组件利用其核心的 MItemGroup 来为交互式列表提供一个简洁的接口。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-09T15:11:04.0310546+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

默认情况下,ListItemGroup 操作类似于 ItemGroup 。如果没有提供 Value,则该群组将基于其索引提供默认值。

\n", + "Code": "\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n static readonly Item[] items =\r\n {\r\n new()\r\n {\r\n Icon = \"mdi-inbox\",\r\n Text = \"Inbox\"\r\n },\r\n new()\r\n {\r\n Icon = \"mdi-star\",\r\n Text = \"Star\"\r\n },\r\n new()\r\n {\r\n Icon = \"mdi-send\",\r\n Text = \"Send\"\r\n },\r\n new()\r\n {\r\n Icon = \"mdi-email-open\",\r\n Text = \"Drafts\"\r\n }\r\n };\r\n\r\n StringNumber selected = 1;\r\n\r\n public class Item\r\n {\r\n public string Icon { get; set; }\r\n public string Text { get; set; }\r\n }\r\n\r\n}", + "Type": "Demos.Components.Groups.children.ListItemGroup.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "activeClass", + "Title": "激活类", + "Description": "

您可以设置一个在选择项目时将添加的类。

\n", + "Code": "\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @item.icon\r\n \r\n\r\n \r\n @item.text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n\r\n\r\n@code {\r\n\r\n List<(string icon, string text)> items = new()\r\n {\r\n (\"mdi-wifi\", \"Wifi\"),\r\n (\"mdi-bluetooth\", \"Bluetooth\"),\r\n (\"mdi-chart-donut\", \"Data Usage\"),\r\n };\r\n\r\n StringNumber model = 1;\r\n\r\n}", + "Type": "Demos.Components.Groups.children.ListItemGroup.props.ActiveClass", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "mandatory", + "Title": "必填项", + "Description": "

必须至少选定一项。

\n", + "Code": "\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @item.icon\r\n \r\n\r\n \r\n @item.text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List<(string icon, string text)> items = new()\r\n {\r\n (\"mdi-wifi\", \"Wifi\"),\r\n (\"mdi-bluetooth\", \"Bluetooth\"),\r\n (\"mdi-chart-donut\", \"Data Usage\"),\r\n };\r\n\r\n StringNumber model = 1;\r\n\r\n}", + "Type": "Demos.Components.Groups.children.ListItemGroup.props.Mandatory", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "multiple", + "Title": "多选", + "Description": "

您可以一次选择多个项目。

\n", + "Code": "\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @item.icon\r\n \r\n\r\n \r\n @item.text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List<(string icon, string text)> items = new()\r\n {\r\n (\"mdi-wifi\", \"Wifi\"),\r\n (\"mdi-bluetooth\", \"Bluetooth\"),\r\n (\"mdi-chart-donut\", \"Data Usage\"),\r\n };\r\n\r\n List model = new() {1};\r\n\r\n}", + "Type": "Demos.Components.Groups.children.ListItemGroup.props.Multiple", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "flatList", + "Title": "扁平列表", + "Description": "

您可以轻松禁用所选 MListItem 的默认高亮显示。 这为用户的选择创建了一个较低的配置文件。

\n", + "Code": "\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @item.icon\r\n \r\n\r\n \r\n @item.text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List<(string icon, string text)> items = new()\r\n {\r\n (\"mdi-wifi\", \"Wifi\"),\r\n (\"mdi-bluetooth\", \"Bluetooth\"),\r\n (\"mdi-chart-donut\", \"Data Usage\"),\r\n };\r\n\r\n StringNumber model = 1;\r\n\r\n}", + "Type": "Demos.Components.Groups.children.ListItemGroup.misc.FlatList", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 1, + "Name": "selectionControls", + "Title": "选择控件", + "Description": "

使用默认插槽,您可以访问项目内部状态并进行切换。 因为 Active 属性是一个布尔值, 我们使用复选框上的 IsActive prop 将其状态链接到 MListItem

\n", + "Code": "\r\n \r\n \r\n @foreach (var (item,i) in items.Select((v, i) => (v,i)))\r\n {\r\n if (item == \"\")\r\n {\r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n \"Dog Photos\",\r\n \"Cat Photos\",\r\n \"\",\r\n \"Potatoes\",\r\n \"Carrots\",\r\n };\r\n\r\n List model = new() {\"Carrots\"};\r\n\r\n}", + "Type": "Demos.Components.Groups.children.ListItemGroup.misc.SelectionControls", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/lists", + "/components/item-groups", + "/components/cards" + ], + "Subtitle": "列表项目组", + "Title": "List item groups", + "Type": "列表项目组" + }, + { + "Desc": "

MSlideGroup 组件用于显示伪分页信息。它以 MItemGroup 为核心,为 MTabs\n和 MChipGroup 等组件提供基础。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-09T15:11:04.0260553+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

类似于 MWindow 组件,MSideGroup 允许项目根据需要占用尽可能多的空间,允许用户在提供的信息中水平移动。

\n", + "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 25))\r\n {\r\n \r\n \r\n Options @item\r\n \r\n \r\n }\r\n \r\n", + "Type": "Demos.Components.Groups.children.SlideGroup.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "activeClass", + "Title": "激活类", + "Description": "

ActiveClass 属性允许您在激活的项上设置自定义的 CSS 类。

\n", + "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 15))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n", + "Type": "Demos.Components.Groups.children.SlideGroup.props.ActiveClass", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "centerActive", + "Title": "激活项居中", + "Description": "

使用 CenterActive 参数将使活动的项目永远居中。

\n", + "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 15))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n StringNumber model;\r\n}", + "Type": "Demos.Components.Groups.children.SlideGroup.props.CenterActive", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "customIcons", + "Title": "自定义图标", + "Description": "

您可以使用 NextIconPrevIcon 添加自定义分页图标代替箭头。

\n", + "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 15))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n StringNumber model;\r\n}", + "Type": "Demos.Components.Groups.children.SlideGroup.props.CustomIcons", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "mandatory", + "Title": "必填项", + "Description": "

Mandatory 将使幻灯片组需要至少选择一个项目。

\n", + "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 15))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n StringNumber model;\r\n}", + "Type": "Demos.Components.Groups.children.SlideGroup.props.Mandatory", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "multiple", + "Title": "多选", + "Description": "

您可以通过设置 Multiple 来选择多个项目。

\n", + "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 15))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n List model = new();\r\n\r\n}", + "Type": "Demos.Components.Groups.children.SlideGroup.props.Multiple", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 5, + "Name": "pseudoCarousel", + "Title": "伪轮播", + "Description": "

自定义幻灯片组以在图表上创造性地显示信息。 使用此选项,可以方便地为用户显示辅助信息。

\n", + "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 15))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n @if (model != null)\r\n {\r\n \r\n \r\n

\r\n Selected @model\r\n

\r\n
\r\n
\r\n }\r\n
\r\n\r\n@code {\r\n\r\n StringNumber model;\r\n\r\n}", + "Type": "Demos.Components.Groups.children.SlideGroup.misc.PseudoCarousel", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/icons", + "/components/carousels", + "/components/tabs" + ], + "Subtitle": "幻灯片组", + "Title": "Slide groups", + "Type": "幻灯片组" + }, + { + "Desc": "

MWindow 组件提供了将内容从一个窗格过渡到另一个窗格的基础功能。 其他组件如MTabsMCarouselMStepper 使用此组件作为其核心。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-09T15:11:03.9940545+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

MWindow 被设计成可以轻松地循环浏览内容,它提供了一个简单的接口来创建真正的自定义实现。

\n", + "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, length))\r\n {\r\n \r\n
\r\n \r\n mdi-record\r\n \r\n
\r\n
\r\n }\r\n
\r\n\r\n \r\n \r\n @foreach (var item in Enumerable.Range(1, length))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n Title @item\r\n \r\n \r\n mdi-account\r\n \r\n \r\n\r\n

\r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\r\n

\r\n\r\n

\r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\r\n

\r\n\r\n

\r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\r\n

\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n\r\n StringNumber window;\r\n\r\n int length = 3;\r\n}", + "Type": "Demos.Components.Groups.children.Windows.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 3, + "Name": "customizedArrows", + "Title": "自定义箭头按钮", + "Description": "

可以用 PrevContentNextContent 槽来自定义窗口中的箭头部分。

\n", + "Code": "\r\n \r\n Previous slide\r\n \r\n \r\n Next slide\r\n \r\n \r\n @foreach (var item in Enumerable.Range(1, 5))\r\n {\r\n \r\n \r\n \r\n

Slide @item

\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
", + "Type": "Demos.Components.Groups.children.Windows.props.CustomizedArrows", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "reverse", + "Title": "反转", + "Description": "

反转 MWindow 总是显示反向过渡。

\n", + "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(0, length))\r\n {\r\n \r\n \r\n \r\n

Slide @(item + 1)

\r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n \r\n \r\n mdi-chevron-left\r\n \r\n \r\n @foreach (var item in Enumerable.Range(0, length))\r\n {\r\n \r\n \r\n mdi-record\r\n \r\n \r\n }\r\n \r\n \r\n mdi-chevron-right\r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n int _onboarding = 0;\r\n\r\n StringNumber Onboarding\r\n {\r\n get => _onboarding;\r\n set => _onboarding = value.AsT1;\r\n }\r\n\r\n int length = 3;\r\n\r\n private void HandleNext()\r\n {\r\n _onboarding = _onboarding + 1 == length ? 0 : _onboarding + 1;\r\n }\r\n\r\n private void HandlePrev()\r\n {\r\n _onboarding = _onboarding - 1 < 0 ? length - 1 : _onboarding - 1;\r\n }\r\n\r\n}", + "Type": "Demos.Components.Groups.children.Windows.props.Reverse", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "vertical", + "Title": "垂直", + "Description": "

MWindow 可以是垂直的。 垂直窗口有 Y 轴过渡而不是 X 轴过渡。

\n", + "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(0, length))\r\n {\r\n \r\n \r\n \r\n

Slide @(item + 1)

\r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n \r\n \r\n mdi-chevron-left\r\n \r\n \r\n @foreach (var item in Enumerable.Range(0, length))\r\n {\r\n \r\n \r\n mdi-record\r\n \r\n \r\n }\r\n \r\n \r\n mdi-chevron-right\r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n int _onboarding = 0;\r\n\r\n StringNumber Onboarding\r\n {\r\n get => _onboarding;\r\n set => _onboarding = value.AsT1;\r\n }\r\n\r\n int length = 3;\r\n\r\n private void HandleNext()\r\n {\r\n _onboarding = _onboarding + 1 == length ? 0 : _onboarding + 1;\r\n }\r\n\r\n private void HandlePrev()\r\n {\r\n _onboarding = _onboarding - 1 < 0 ? length - 1 : _onboarding - 1;\r\n }\r\n\r\n}", + "Type": "Demos.Components.Groups.children.Windows.props.Vertical", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "accountCreation", + "Title": "创建账户", + "Description": "

创建具有平滑动画的丰富表单。 MWindow 能够自动跟踪当前的选择索引,来改变过渡动画的方向。 这可以通过 Reverse 参数来手动控制。

\n", + "Code": "\r\n \r\n @currentTitle\r\n @step\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n This is the email you will use to login to your MASA.Blazor account\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Please enter a password for your account\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n

\r\n Welcome to MASA.Blazor\r\n

\r\n Thanks for signing up!\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n step--\">\r\n Back\r\n \r\n \r\n step++\">\r\n Next\r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string email = \"john@vuetifyjs.com\";\r\n int step = 1;\r\n\r\n StringNumber Step\r\n {\r\n get => step;\r\n set => step = value.ToInt32();\r\n }\r\n\r\n public string currentTitle\r\n {\r\n get => step switch\r\n {\r\n 1 => \"Sign-Up\",\r\n 2 => \"Create a password\",\r\n _ => \"Account Created\"\r\n };\r\n }\r\n\r\n}", + "Type": "Demos.Components.Groups.children.Windows.misc.AccountCreation", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 5, + "Name": "onboarding", + "Title": "新手教学", + "Description": "

MWindow 使创建自定义组件(如不同样式的幻灯片)变得很轻松。

\n", + "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(0, length))\r\n {\r\n \r\n \r\n \r\n \r\n Transparent themed, for background-imaged slides. Background color black added for demonstration purposes.\r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n \r\n \r\n mdi-chevron-left\r\n \r\n \r\n @foreach (var item in Enumerable.Range(0, length))\r\n {\r\n \r\n \r\n mdi-record\r\n \r\n \r\n }\r\n \r\n \r\n mdi-chevron-right\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n \r\n int onboarding = 0;\r\n\r\n StringNumber OnBoarding\r\n {\r\n get => onboarding;\r\n set => onboarding = value.AsT1;\r\n }\r\n\r\n int length = 3;\r\n\r\n private void Next()\r\n {\r\n onboarding = onboarding + 1 == length ? 0 : onboarding + 1;\r\n }\r\n\r\n private void Prev()\r\n {\r\n onboarding = onboarding - 1 < 0 ? length - 1 : onboarding - 1;\r\n }\r\n\r\n}", + "Type": "Demos.Components.Groups.children.Windows.misc.Onboarding", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/carousels", + "/components/steppers", + "/components/tabs" + ], + "Subtitle": "窗口", + "Title": "Windows", + "Type": "窗口" + }, + { + "Desc": "

MHover组件为处理任何组件的悬停状态提供了一个干净的接口。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.5762437+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "disabled", + "Title": "禁用", + "Description": "

设置 Disabled 属性可以禁用悬停功能。

\n", + "Code": "\r\n \r\n \r\n \r\n Hover over me!\r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Hover.props.Disabled", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "open", + "Title": "打开和关闭延迟", + "Description": "

通过组合或单独使用 OpenDelayCloseDelay 属性延迟 MHover 事件。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n Open Delay (Mouse enter)\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Close Delay (Mouse leave)\r\n \r\n \r\n \r\n \r\n\r\n\r\n", + "Type": "Demos.Components.Hover.props.Open", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "list", + "Title": "悬停列表", + "Description": "

MHover 可以与 for 结合使用,以便在用户与列表交互时突出单个项目。

\n", + "Code": "\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n

@item.Title

\r\n\r\n
\r\n

@item.Text

\r\n

@item.SubText

\r\n
\r\n\r\n
\r\n @foreach (var icon in _icons)\r\n {\r\n \r\n \r\n @icon\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n@code\r\n{\r\n private string[] _icons = new string[3] { \"mdi-rewind\", \"mdi-play\", \"mdi-fast-forward\" };\r\n private string _transparent = \"rgba(255, 255, 255, 0)\";\r\n\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Text { get; set; }\r\n public string SubText { get; set; }\r\n public string Img { get; set; }\r\n }\r\n\r\n private List _items = new List\r\n {\r\n new ItemDemo\r\n {\r\n Title = \"New Releases\",\r\n Text = \"It's New Release Friday\",\r\n SubText = \"Newly released songs. Updated daily.\",\r\n Img = \"https://images.unsplash.com/photo-1429514513361-8fa32282fd5f?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=3264&q=80\"\r\n },\r\n new ItemDemo\r\n {\r\n Title = \"Rock\",\r\n Text = \"Greatest Rock Hits\",\r\n SubText = \"Lose yourself in rock tunes.\",\r\n Img = \"https://images.unsplash.com/photo-1498038432885-c6f3f1b912ee?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2100&q=80\"\r\n },\r\n new ItemDemo\r\n {\r\n Title = \"Mellow Moods\",\r\n Text = \"Ambient Bass\",\r\n SubText = \"Chill beats to mellow you out.\",\r\n Img = \"https://images.unsplash.com/photo-1542320868-f4d80389e1c4?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=3750&q=80\"\r\n }\r\n };\r\n}\r\n\r\n", + "Type": "Demos.Components.Hover.misc.List", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 2, + "Name": "transition", + "Title": "过渡", + "Description": "

创建高度定制的组件以响应用户交互。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n $14.99\r\n \r\n \r\n \r\n \r\n \r\n mdi-cart\r\n \r\n
\r\n For the perfect meal\r\n
\r\n

\r\n QW cooking utensils\r\n

\r\n
\r\n Our Vintage kitchen utensils delight any chef.
\r\n Made of bamboo by hand\r\n
\r\n
\r\n
\r\n
\r\n\r\n", + "Type": "Demos.Components.Hover.misc.Transition", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/cards", + "/components/images", + "/components/tooltips" + ], + "Subtitle": "悬停", + "Title": "Hover", + "Type": "悬停" + }, + { + "Desc": "

MIcon 组件提供了一系列用于为您的应用程序的各个方面提供上下文的胶卷。 对于所有可用图标的列表, 请访问官方的 Material Design 图标 页面。\n要使用任何这些图标,只需使用 mdi- 前缀,然后是图标名称。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.5812427+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "color", + "Title": "颜色", + "Description": "

使用色彩辅助器,您可以改变标准的暗黑和明亮的主题的图标的颜色。

\n", + "Code": "\r\n \r\n mdi-domain\r\n \r\n\r\n \r\n mdi-message-text\r\n \r\n\r\n \r\n mdi-dialpad\r\n \r\n\r\n \r\n mdi-email\r\n \r\n\r\n \r\n mdi-call-split\r\n \r\n\r\n \r\n mdi-arrow-up-bold-box-outline\r\n \r\n\r\n", + "Type": "Demos.Components.Icon.props.Color", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "click", + "Title": "单击", + "Description": "

将任何单击事件绑定到 MIcon 将自动将光标更改为指针。

\n", + "Code": "\r\n \r\n \r\n Upcoming Changes\r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\r\n \r\n\r\n \r\n \r\n \r\n mdi-chevron-right\r\n \r\n \r\n\r\n\r\n\r\n You clicked next!\r\n\r\n\r\n@code {\r\n\r\n bool show;\r\n\r\n void Next()\r\n {\r\n show = true;\r\n }\r\n\r\n}", + "Type": "Demos.Components.Icon.events.Click", + "Style": "", + "Debug": false, + "Group": 1 + }, + { + "Order": 0, + "Name": "button", + "Title": "按钮", + "Description": "

图标可以在按钮内部使用,以增加动作的重点。

\n", + "Code": "
\r\n
\r\n \r\n Accept\r\n \r\n mdi-checkbox-marked-circle\r\n \r\n \r\n\r\n \r\n Decline\r\n \r\n mdi-cancel\r\n \r\n \r\n\r\n \r\n \r\n mdi-minus-circle\r\n Cancel\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n mdi-arrow-left\r\n Back\r\n \r\n\r\n \r\n \r\n mdi-wrench\r\n \r\n \r\n\r\n \r\n \r\n mdi-cloud-upload\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n mdi-thumb-up\r\n \r\n\r\n \r\n mdi-thumb-down\r\n \r\n
\r\n
", + "Type": "Demos.Components.Icon.misc.Button", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "fontAwesome", + "Title": "Font Awesome", + "Description": "

同样支持 Font Awesome。 只需使用 fa- 预定图标名称。 请注意,您仍然需要在您的项目中包含Font Awesome 图标。

\n", + "Code": "\r\n fas fa-lock\r\n\r\n fas fa-search\r\n\r\n fas fa-list\r\n\r\n fas fa-edit\r\n\r\n fas fa-tachometer-alt\r\n\r\n fas fa-circle-notch fa-spin\r\n", + "Type": "Demos.Components.Icon.misc.FontAwesome", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "materialDesign", + "Title": "Material Design", + "Description": "

Material Design 也是支持的。

\n", + "Code": "\r\n \r\n \r\n home\r\n event\r\n info\r\n \r\n\r\n \r\n \r\n folder_open\r\n \r\n \r\n widgets\r\n \r\n \r\n gavel\r\n \r\n \r\n \r\n\r\n \r\n \r\n home\r\n event\r\n info\r\n \r\n\r\n \r\n folder_open\r\n widgets\r\n gavel\r\n \r\n \r\n\r\n \r\n \r\n home\r\n event\r\n info\r\n \r\n\r\n \r\n \r\n folder_open\r\n \r\n \r\n widgets\r\n \r\n \r\n gavel\r\n \r\n \r\n \r\n\r\n \r\n \r\n home\r\n event\r\n info\r\n \r\n\r\n \r\n \r\n folder_open\r\n \r\n \r\n widgets\r\n \r\n \r\n gavel\r\n \r\n \r\n \r\n\r\n\r\n", + "Type": "Demos.Components.Icon.misc.MaterialDesign", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "svg", + "Title": "SVG", + "Description": "

如果您想要在 MIcon 组件中使用SVG图标,仅支持传入SVG的 path

\n", + "Code": "\r\n @mdiAccount\r\n
\r\n @mdiPencil\r\n
\r\n @mdiShareVariant\r\n
\r\n \r\n \r\n @mdiDelete\r\n \r\n Delete\r\n \r\n\r\n\r\n@code {\r\n string mdiAccount = \"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z\";\r\n string mdiPencil = \"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\";\r\n string mdiShareVariant = \"M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12C9,11.76 8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8A3,3 0 0,0 21,5A3,3 0 0,0 18,2A3,3 0 0,0 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9A3,3 0 0,0 3,12A3,3 0 0,0 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91C19.61,21.91 20.92,20.61 20.92,19A2.92,2.92 0 0,0 18,16.08Z\";\r\n string mdiDelete = \"M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z\";\r\n}", + "Type": "Demos.Components.Icon.misc.Svg", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Cols": 1, + "Related": [ + "/features/icon-fonts", + "/components/buttons", + "/components/cards" + ], + "Subtitle": "图标", + "Title": "Icons", + "Type": "图标" + }, + { + "Desc": "

MImage组件包含支持丰富媒体的功能。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.5862436+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

MImage 组件用于显示具有延迟加载和占位符的响应图像。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private string _src = \"https://picsum.photos/id/11/500/300\";\r\n}", + "Type": "Demos.Components.Image.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "aspectRatio", + "Title": "宽高比", + "Description": "

如果你想改变图像的长宽比,你可以设置一个固定的宽高比。

\n", + "Code": "
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n@code {\r\n private double _width = 300;\r\n}", + "Type": "Demos.Components.Image.props.AspectRatio", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "contain", + "Title": "包含", + "Description": "

如果提供的长宽比与实际图像不匹配,则默认行为是填充尽可能多的空间,裁剪图像的边。启用 Contain 属性可以防止这种情况,但会导致两边出现空白。

\n", + "Code": "\r\n \r\n \r\n
\r\n Default (cover)\r\n
\r\n
\r\n Matching\r\n
\r\n \r\n \r\n
\r\n Too high\r\n
\r\n \r\n \r\n
\r\n Too low\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n Contain\r\n
\r\n
\r\n Matching\r\n
\r\n \r\n \r\n
\r\n Too high\r\n
\r\n \r\n \r\n
\r\n Too low\r\n
\r\n \r\n \r\n
\r\n
\r\n
", + "Type": "Demos.Components.Image.props.Contain", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "gradients", + "Title": "渐变", + "Description": "

Gradient 属性可用于对图像应用简单的渐变叠加。更复杂的渐变应该作为一个class写在内容插槽上。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n", + "Type": "Demos.Components.Image.props.Gradients", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "height", + "Title": "高度", + "Description": "

MImage 将自动增长到 Src 的大小,保持正确的纵横比。你可以用HeightMaxHeight的属性来限制。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n height\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n height with contain\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n max-height\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n max-height with contain\r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Image.props.Height", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "placeholder", + "Title": "占位符", + "Description": "

MImage 有一个特别的 PlaceholderContent 插槽,在图像加载时占位显示。 注意:下面的例子有一个错误的 Src,因此图片不会加载,以方便你观察占位符。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Image.contents.Placeholder", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 3, + "Name": "grid", + "Title": "栅格", + "Description": "

您可以使用 MImage 来制作图片库。

\n", + "Code": "
\r\n \r\n @for (var index = 0; index < 9; index++)\r\n {\r\n var localVariable = index;\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
", + "Type": "Demos.Components.Image.misc.Grid", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/grid-system", + "/components/aspect-ratios", + "/components/parallax" + ], + "Subtitle": "图像", + "Title": "Images", + "Type": "图像" + }, + { + "Desc": "

MList 组件用于显示信息。 它可以包含头像、内容、操作、列表组标题等等。 列表以易于在集合中识别特定项目的方式显示内容。 它们为组织一组文本和图像提供了一致的样式。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "注意": "\n\n

如果您要查找有状态列表项,请查看 MListItemGroup

\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.5872434+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

列表有三种基本形式。 单行 (默认), 双行 和 三行. 行声明指定了项目的最小高度,也可以使用相同的属性从 MList 中进行控制。

\n", + "Code": "\r\n \r\n \r\n Single-line item\r\n \r\n \r\n\r\n \r\n \r\n Two-line item\r\n Secondary text\r\n \r\n \r\n\r\n \r\n \r\n Three-line item\r\n \r\n Secondary line text Lorem ipsum dolor sit amet,\r\n \r\n \r\n consectetur adipiscing elit.\r\n \r\n \r\n \r\n\r\n", + "Type": "Demos.Components.List.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "dense", + "Title": "密集", + "Description": "

List 可以通过 Dense 属性变密集。

\n", + "Code": "\r\n \r\n REPORTS\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n \r\n @item.Icon\r\n \r\n \r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n private StringNumber _selectedItem = 1;\r\n private Item[] _items = new Item[]\r\n {\r\n new Item { Text= \"Real-Time\", Icon= \"mdi-clock\" },\r\n new Item { Text= \"Audience\", Icon= \"mdi-account\" },\r\n new Item { Text= \"Conversions\", Icon= \"mdi-flag\" }\r\n };\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.List.props.Dense", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "disabled", + "Title": "禁用", + "Description": "

您不能与已禁用的 MList 交互。

\n", + "Code": "\r\n \r\n REPORTS\r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item.Icon\r\n \r\n \r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n StringNumber selectedItem = 1;\r\n Item[] items = new Item[]\r\n {\r\n new Item { Text= \"Real-Time\", Icon= \"mdi-clock\" },\r\n new Item { Text= \"Audience\", Icon= \"mdi-account\" },\r\n new Item { Text= \"Conversions\", Icon= \"mdi-flag\" }\r\n };\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.List.props.Disabled", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "flat", + "Title": "扁平", + "Description": "

Flat 属性的 MList 中选择时,项目不会发生变化。

\n", + "Code": "\r\n \r\n REPORTS\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n \r\n @item.Icon\r\n \r\n \r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n private StringNumber _selectedItem = 1;\r\n private Item[] _items = new Item[]\r\n {\r\n new Item { Text= \"Real-Time\", Icon= \"mdi-clock\" },\r\n new Item { Text= \"Audience\", Icon= \"mdi-account\" },\r\n new Item { Text= \"Conversions\", Icon= \"mdi-flag\" }\r\n };\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.List.props.Flat", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "nav", + "Title": "导航列表", + "Description": "

列表可以接受一个替代的 Nav 样式,它减少了 MListItem 的宽度,并增加了一个边框半径。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n John Leider\r\n \r\n john@vuetifyjs.com\r\n \r\n\r\n \r\n mdi-menu-down\r\n \r\n \r\n \r\n \r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private StringNumber _selectedItem = 0;\r\n private Item[] _items = new Item[]\r\n {\r\n new Item { Text= \"My Files\", Icon= \"mdi-folder\" },\r\n new Item { Text= \"Shared with me\", Icon= \"mdi-account-multiple\" },\r\n new Item { Text= \"Starred\", Icon= \"mdi-star\" },\r\n new Item { Text= \"Recent\", Icon= \"mdi-history\" },\r\n new Item { Text= \"Offline\", Icon= \"mdi-check-circle\" },\r\n new Item { Text= \"Uploads\", Icon= \"mdi-upload\" },\r\n new Item { Text= \"Backups\", Icon= \"mdi-cloud-upload\" }\r\n\r\n };\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.List.props.Nav", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 5, + "Name": "rounded", + "Title": "圆角", + "Description": "

你可以让 MList 项变成圆角。

\n", + "Code": "\r\n \r\n REPORTS\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n \r\n @item.Icon\r\n \r\n \r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n private StringNumber _selectedItem = 1;\r\n private Item[] _items = new Item[]\r\n {\r\n new Item { Text= \"Real-Time\", Icon= \"mdi-clock\" },\r\n new Item { Text= \"Audience\", Icon= \"mdi-account\" },\r\n new Item { Text= \"Conversions\", Icon= \"mdi-flag\" }\r\n };\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.List.props.Rounded", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 6, + "Name": "shapedLists", + "Title": "形状列表", + "Description": "

形状列表在 MListItem 的一侧具有圆形边界。

\n", + "Code": "\r\n \r\n REPORTS\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n \r\n @item.Icon\r\n \r\n \r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n private StringNumber _selectedItem = 1;\r\n private Item[] _items = new Item[]\r\n {\r\n new Item { Text= \"Real-Time\", Icon= \"mdi-clock\" },\r\n new Item { Text= \"Audience\", Icon= \"mdi-account\" },\r\n new Item { Text= \"Conversions\", Icon= \"mdi-flag\" }\r\n };\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.List.props.ShapedLists", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 7, + "Name": "subGroup", + "Title": "嵌套列表", + "Description": "

使用 MListGroup 组件,您可以使用 SubGroup 属性创建多达 2 级的深度。

\n", + "Code": "\r\n \r\n \r\n \r\n mdi-home\r\n \r\n\r\n Home\r\n \r\n\r\n \r\n \r\n Users\r\n \r\n \r\n \r\n \r\n \r\n Admin\r\n \r\n \r\n \r\n @foreach (var item in _admins)\r\n {\r\n \r\n @item.Text\r\n\r\n \r\n @item.Icon\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n \r\n \r\n Actions\r\n \r\n \r\n \r\n @foreach (var item in _cruds)\r\n {\r\n \r\n @item.Text\r\n\r\n \r\n @item.Icon\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n readonly Item[] _admins = new Item[]\r\n {\r\n new Item { Text= \"Management\", Icon= \"mdi-account-multiple-outline\" },\r\n new Item { Text= \"Settings\", Icon= \"mdi-cog-outline\" }\r\n };\r\n\r\n readonly Item[] _cruds = new Item[]\r\n {\r\n new Item { Text= \"Create\", Icon= \"mdi-plus-outline\" },\r\n new Item { Text= \"Read\", Icon= \"mdi-file-outline\" },\r\n new Item { Text= \"Update\", Icon= \"mdi-update\" },\r\n new Item { Text= \"Delete\", Icon= \"mdi-delete\" }\r\n };\r\n\r\n bool userExpanded = true;\r\n bool adminExpanded = true;\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.List.props.SubGroup", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 8, + "Name": "threeLine", + "Title": "三行", + "Description": "

对于三行列表,字幕将垂直夹在 2 行,然后省略。

\n", + "Code": "\r\n \r\n \r\n\r\n Inbox\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n @if (item.Header != null)\r\n {\r\n @item.Header\r\n }\r\n else if (item.Divider)\r\n {\r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n \r\n \r\n\r\n \r\n @((MarkupString)item.Title)\r\n @((MarkupString)item.SubTitle)\r\n \r\n \r\n }\r\n }\r\n \r\n\r\n\r\n@code{\r\n private Item[] _items = new Item[]\r\n {\r\n new Item { Header=\"Today\" },\r\n new Item\r\n {\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/1.jpg\",\r\n Title=\"Brunch this weekend?\",\r\n SubTitle=\"Ali Connors — I'll be in your neighborhood doing errands this weekend. Do you want to hang out?\"\r\n },\r\n new Item\r\n {\r\n Divider=true,\r\n Inset=true\r\n },\r\n new Item\r\n {\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/2.jpg\",\r\n Title=\"Summer BBQ 4\",\r\n SubTitle=\"to Alex, Scott, Jennifer — Wish I could come, but I'm out of town this weekend.\"\r\n },\r\n new Item\r\n {\r\n Divider=true,\r\n Inset=true\r\n },\r\n new Item\r\n {\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/3.jpg\",\r\n Title=\"Oui oui\",\r\n SubTitle=\"Sandra Adams — Do you have Paris recommendations? Have you ever been?\"\r\n },\r\n new Item\r\n {\r\n Divider=true,\r\n Inset=true\r\n },\r\n new Item\r\n {\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/4.jpg\",\r\n Title=\"Birthday gift\",\r\n SubTitle=\"Trevor Hansen — Have any ideas about what we should get Heidi for her birthday?\"\r\n },\r\n new Item\r\n {\r\n Divider=true,\r\n Inset=true\r\n },\r\n new Item\r\n {\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/5.jpg\",\r\n Title=\"Recipe to try\",\r\n SubTitle=\"Britta Holt — We should eat this: Grate, Squash, Corn, and tomatillo Tacos.\"\r\n }\r\n };\r\n\r\n class Item\r\n {\r\n public string Header { get; set; }\r\n public string Avatar { get; set; }\r\n public string Title { get; set; }\r\n public string SubTitle { get; set; }\r\n public bool Divider { get; set; }\r\n public bool Inset { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.List.props.ThreeLine", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 9, + "Name": "twoLinesAndSubheader", + "Title": "两行和副标题", + "Description": "

列表组件可以包含列表组标题,分割线,以及1行或者更多行,如果副标题文本溢出则会以省略号的形式截断文本。

\n", + "Code": "\r\n \r\n \r\n\r\n My files\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-view-module\r\n \r\n \r\n\r\n \r\n Folders\r\n\r\n @foreach (var item in _folders)\r\n {\r\n \r\n \r\n \r\n mdi-folder\r\n \r\n \r\n\r\n \r\n @item.Title\r\n\r\n @item.SubTitle\r\n \r\n\r\n \r\n \r\n mdi-information\r\n \r\n \r\n \r\n\r\n }\r\n\r\n\r\n \r\n\r\n Files\r\n\r\n @foreach (var item in _files)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n\r\n @item.SubTitle\r\n \r\n\r\n \r\n \r\n mdi-information\r\n \r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code{\r\n private Item[] _files = new Item[]\r\n {\r\n new Item \r\n {\r\n Color= \"blue\",\r\n Icon= \"mdi-clipboard-text\",\r\n SubTitle= \"Jan 20, 2014\",\r\n Title= \"Vacation itinerary\",\r\n },\r\n new Item \r\n {\r\n Color= \"amber\",\r\n Icon= \"mdi-gesture-tap-button\",\r\n SubTitle= \"Jan 10, 2014\",\r\n Title= \"Kitchen remodel\",\r\n }\r\n };\r\n\r\n private Item[] _folders = new Item[]\r\n {\r\n new Item \r\n {\r\n SubTitle= \"Jan 9, 2014\",\r\n Title= \"Photos\",\r\n },\r\n new Item \r\n {\r\n SubTitle= \"Jan 17, 2014\",\r\n Title= \"Recipes\",\r\n },\r\n new Item\r\n {\r\n SubTitle= \"Jan 28, 2014\",\r\n Title= \"Work\",\r\n },\r\n };\r\n\r\n class Item\r\n {\r\n public string Color { get; set; }\r\n public string Icon { get; set; }\r\n public string Title { get; set; }\r\n public string SubTitle { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.List.props.TwoLinesAndSubheader", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 10, + "Name": "expansionLists", + "Title": "可展开的列表", + "Description": "

列表可以包含一组项目,这些项目将在单击MListGroupActivatorContent时显示。扩展列表也用于 MNavigationDrawer 组件中。

\n", + "Code": "\r\n \r\n \r\n\r\n Topics\r\n\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item.Title\r\n \r\n \r\n\r\n \r\n @foreach (var subItem in item.Items)\r\n {\r\n \r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n List items = new List()\r\n {\r\n new Item()\r\n {\r\n Action = \"mdi-ticket\",\r\n Items = new List() {new Item(\"List Item\")},\r\n Title = \"Attractions\"\r\n },\r\n new Item()\r\n {\r\n Action = \"mdi-silverware-fork-knife\",\r\n Active = true,\r\n Items = new List() {new Item(\"Breakfast & brunch\"), new Item(\"New American\"), new Item(\"Sushi\")},\r\n Title = \"Dining\"\r\n },\r\n new Item()\r\n {\r\n Action = \"mdi-school\",\r\n Items = new List() {new Item(\"List Item\")},\r\n Title = \"Education\"\r\n },\r\n new Item()\r\n {\r\n Action = \"mdi-run\",\r\n Items = new List() {new Item(\"List Item\")},\r\n Title = \"Family\"\r\n },\r\n new Item()\r\n {\r\n Action = \"mdi-bottle-tonic-plus\",\r\n Items = new List() {new Item(\"List Item\")},\r\n Title = \"Health\"\r\n },\r\n new Item()\r\n {\r\n Action = \"mdi-content-cut\",\r\n Items = new List() {new Item(\"List Item\")},\r\n Title = \"Attractions\"\r\n },\r\n new Item()\r\n {\r\n Action = \"mdi-tag\",\r\n Items = new List() {new Item(\"List Item\")},\r\n Title = \"Attractions\"\r\n },\r\n };\r\n\r\n class Item\r\n {\r\n public string Title { get; set; }\r\n\r\n public string Action { get; set; }\r\n\r\n public bool Active { get; set; }\r\n\r\n public List Items { get; set; } = new List();\r\n\r\n public Item()\r\n {\r\n }\r\n\r\n public Item(string title)\r\n {\r\n Title = title;\r\n }\r\n }\r\n\r\n}", + "Type": "Demos.Components.List.contents.ExpansionLists", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 11, + "Name": "actionsAndItemGroups", + "Title": "操作和项目组", + "Description": "

可操作的 ThreeLine 列表。 利用 MListItemGroup,轻松将动作连接到图块。

\n", + "Code": "\r\n \r\n \r\n\r\n Settings\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n User Controls\r\n\r\n \r\n \r\n Content filtering\r\n Set the content filtering level to restrict appts that can be downloaded\r\n \r\n \r\n\r\n \r\n \r\n Password\r\n Require password for purchase or use password to restrict purchase\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n General\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Notifications\r\n Notify me about updates to apps or games that I downloaded\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Sound\r\n Auto-update apps at any time. Data charges may apply\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Auto-add widgets\r\n Automatically add home screen widgets when downloads complete\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List settings = new();\r\n\r\n}", + "Type": "Demos.Components.List.misc.ActionsAndItemGroups", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 12, + "Name": "actionStack", + "Title": "操作栈", + "Description": "

列表组件可以包含一个操作栈。当你需要在你的动作项目旁边显示数据文本时,这是非常有用的。

\n", + "Code": "\r\n \r\n \r\n\r\n Inbox\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-checkbox-marked-circle\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var (item, index) in items.Select((item, index) => (item, index)))\r\n {\r\n \r\n \r\n \r\n @item.title\r\n @item.headline\r\n @item.subtitle\r\n \r\n\r\n \r\n @item.action\r\n\r\n @if (!context.Active)\r\n {\r\n \r\n mdi-star-outline\r\n \r\n }\r\n else\r\n {\r\n \r\n mdi-star\r\n \r\n }\r\n \r\n \r\n \r\n\r\n @if (index < items.Count - 1)\r\n {\r\n \r\n }\r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List selected = new();\r\n\r\n List<(string action, string headline, string subtitle, string title)> items = new List<(string action, string headline, string subtitle, string title)>()\r\n {\r\n (\"15 min\", \"Brunch this weekend?\",\"I'll be in your neighborhood doing errands this weekend. Do you want to hang out?\", \"Ali Connors\"),\r\n (\"hr\",\"Summer BBQ\",\"Wish I could come, but I'm out of town this weekend.\", \"me, Scrott, Jennifer\"),\r\n (\"6 hr\", \"Oui oui\",\"Do you have Paris recommendations? Have you ever been?\", \"Sandra Adams\"),\r\n (\"12 hr\", \"Birthday gift\",\"Have any ideas about what we should get Heidi for her birthday?\", \"Trevor Hansen\"),\r\n (\"18hr\",\"Recipe to try\",\"We should eat this: Grate, Squash, Corn, and tomatillo Tacos.\", \"Britta Holt\"),\r\n };\r\n\r\n}", + "Type": "Demos.Components.List.misc.ActionStack", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 13, + "Name": "cardList", + "Title": "卡片列表", + "Description": "

一个列表可以和一张卡片结合起来。

\n", + "Code": " \r\n \r\n \r\n \r\n \r\n mdi-chevron-left\r\n \r\n\r\n \r\n\r\n \r\n mdi-pencil\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n Ali Conners\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n mdi-phone\r\n \r\n \r\n\r\n \r\n (650) 555-1234\r\n Mobile\r\n \r\n\r\n \r\n mdi-message-text\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n (323) 555-6789\r\n Work\r\n \r\n\r\n \r\n mdi-message-text\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n mdi-email\r\n \r\n \r\n\r\n \r\n aliconnors@example.com\r\n Personal\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n ali_connors@example.com\r\n Work\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n mdi-map-marker\r\n \r\n \r\n\r\n \r\n 1400 Main Street\r\n Orlando, FL 79938\r\n \r\n \r\n \r\n ", + "Type": "Demos.Components.List.misc.CardList", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 14, + "Name": "simpleAvatarList", + "Title": "简单头像列表", + "Description": "

一个简单的列表利用 MistItemIcon, MListItemTitleMListItemAvatar

\n", + "Code": "\r\n \r\n \r\n\r\n Inbox\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @if (item.icon)\r\n {\r\n \r\n mdi-star\r\n \r\n }\r\n \r\n\r\n \r\n @item.title\r\n \r\n\r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n List<(bool icon, string title, string avatar)> items = new List<(bool icon, string title, string avatar)>()\r\n {\r\n new(true, \"Jason Oner\", \"https://cdn.vuetifyjs.com/images/lists/1.jpg\"),\r\n new(false, \"Travis Howard\", \"https://cdn.vuetifyjs.com/images/lists/2.jpg\"),\r\n new(false, \"Ali Connors\", \"https://cdn.vuetifyjs.com/images/lists/3.jpg\"),\r\n new(false, \"Cindy Baker\", \"https://cdn.vuetifyjs.com/images/lists/4.jpg\"),\r\n };\r\n\r\n}", + "Type": "Demos.Components.List.misc.SimpleAvatarList", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 15, + "Name": "singleLineList", + "Title": "单行列表", + "Description": "

在这里,我们结合了单行列表中的 MListItemAvatarMLlistItemIcon

\n", + "Code": "\r\n \r\n \r\n\r\n New Chat\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n Recent chat\r\n\r\n @foreach (var chat in recent)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n @chat.title\r\n \r\n\r\n \r\n \r\n mdi-message-outline\r\n \r\n \r\n \r\n }\r\n \r\n\r\n \r\n\r\n \r\n Previous chats\r\n\r\n @foreach (var chat in previous)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n @chat.title\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n List<(bool active, string avatar, string title)> recent = new List<(bool active, string avatar, string title)>()\r\n {\r\n new(true, \"https://cdn.vuetifyjs.com/images/lists/1.jpg\", \"Jason Oner\"),\r\n new(true, \"https://cdn.vuetifyjs.com/images/lists/2.jpg\", \"Mike Carlson\"),\r\n new(false, \"https://cdn.vuetifyjs.com/images/lists/3.jpg\", \"Cindy Baker\"),\r\n new(false, \"https://cdn.vuetifyjs.com/images/lists/4.jpg\", \"Ali Connors\"),\r\n };\r\n\r\n List<(string title, string avatar)> previous = new List<(string title, string avatar)>()\r\n {\r\n new(\"Travis Howard\", \"https://cdn.vuetifyjs.com/images/lists/5.jpg\")\r\n };\r\n\r\n}", + "Type": "Demos.Components.List.misc.SingleLineList", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 16, + "Name": "subheadingsAndDividers", + "Title": "列表组标题和分割线", + "Description": "

列表可以包含多个子标头和分隔符。

\n", + "Code": "\r\n \r\n \r\n\r\n Settings\r\n \r\n\r\n \r\n General\r\n\r\n \r\n \r\n Profile photo\r\n Change your Google+ profile photo\r\n \r\n \r\n\r\n \r\n \r\n Show your status\r\n Your status is visible to everyone\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n Hangout notifications\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Notifications\r\n Allow notifications\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Sound\r\n Hangouts message\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Video sounds\r\n Hangouts video call\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Invites\r\n Notify when receiving invites\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List settings = new();\r\n\r\n}", + "Type": "Demos.Components.List.misc.SubheadingsAndDividers", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/List.svg", + "Cols": 1, + "Related": [ + "/components/item-groups", + "/components/list-item-groups", + "/components/subheaders" + ], + "Subtitle": "列表", + "Title": "Lists", + "Type": "列表" + }, + { + "Desc": "

MMenu 组件在激活它的元素的位置上展示一个菜单。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-09T10:30:56.8818969+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

请记住将激活菜单的元素放置在 ActivatorContent 中。

\n", + "Code": "
\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n}", + "Type": "Demos.Components.Menu.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "absolute", + "Title": "绝对定位", + "Description": "

菜单可以使用 Absolute 属性,将其绝对放置在激活器元素的顶部。 尝试点击图像上的任意位置。

\n", + "Code": "\r\n \r\n \r\n { }\" @attributes=\"@context.Attrs\">\r\n \r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n}", + "Type": "Demos.Components.Menu.props.Absolute", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "absoluteWithoutActivator", + "Title": "没有激活器的绝对定位", + "Description": "

菜单也可以通过使用 Absolute 以及 PositionXPositionY 参数来在没有激活器的情况下使用。 尝试右键点击图像上的任何地方。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n
\r\n\r\n\r\n\r\n@code {\r\n\r\n bool showMenu = false;\r\n double X = 0;\r\n double Y = 0;\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n private async Task Show(MouseEventArgs args)\r\n {\r\n showMenu = false;\r\n StateHasChanged();\r\n await Task.Delay(16);\r\n \r\n X = args.ClientX;\r\n Y = args.ClientY;\r\n showMenu = true;\r\n StateHasChanged();\r\n }\r\n}", + "Type": "Demos.Components.Menu.props.AbsoluteWithoutActivator", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "closeOnClick", + "Title": "点击关闭", + "Description": "

失去焦点时可以关闭菜单。

\n", + "Code": "
\r\n \r\n\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n [Inject]\r\n NavigationManager NavigationManager { get; set; }\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n bool closeOnClick = true;\r\n}", + "Type": "Demos.Components.Menu.props.CloseOnClick", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "closeOnContentClick", + "Title": "点击内容关闭", + "Description": "

您可以配置在点击内容后是否关闭 MMenu

\n", + "Code": "
\r\n \r\n\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n bool closeOnContentClick = true;\r\n}", + "Type": "Demos.Components.Menu.props.CloseOnContentClick", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 5, + "Name": "disabled", + "Title": "禁用", + "Description": "

您可以禁用菜单。禁用的菜单无法打开。

\n", + "Code": "
\r\n \r\n\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n bool disabled = true;\r\n}", + "Type": "Demos.Components.Menu.props.Disabled", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 6, + "Name": "offsetX", + "Title": "X偏移", + "Description": "

菜单可以被X轴偏移,以使激活器可见。

\n", + "Code": "
\r\n \r\n\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n bool offset = true;\r\n}", + "Type": "Demos.Components.Menu.props.OffsetX", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 7, + "Name": "offsetY", + "Title": "Y偏移", + "Description": "

菜单可以被Y轴偏移,以使激活器可见。

\n", + "Code": "
\r\n \r\n\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n bool offset = true;\r\n}", + "Type": "Demos.Components.Menu.props.OffsetY", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 8, + "Name": "openOnHover", + "Title": "悬停", + "Description": "

设置使用 OpenOnHover 属性时,菜单会悬停时打开而不是点击时打开。

\n", + "Code": "
\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n}", + "Type": "Demos.Components.Menu.props.OpenOnHover", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 13, + "Name": "rounded", + "Title": "圆角", + "Description": "

菜单可以通过 Rounded 属性设置为圆角。关于圆角样式的其他信息在 Border Radius 页。

\n", + "Code": "\r\n @foreach (var item in _btns)\r\n {\r\n var index = Array.IndexOf(_btns, item);\r\n \r\n \r\n \r\n @item.text Radius\r\n \r\n \r\n \r\n \r\n @for (int i = 0; i < 4; i++)\r\n {\r\n \r\n @($\"Item {i}\")\r\n \r\n }\r\n \r\n \r\n \r\n }\r\n\r\n\r\n@code {\r\n\r\n (string text, string rounded)[] _btns =\r\n {\r\n (\"Removed\", \"0\"),\r\n (\"Large\", \"lg\"),\r\n (\"Custom\", \"b-xl\"),\r\n };\r\n\r\n string[] _colors =\r\n {\r\n \"deep-purple accent-4\", \"error\", \"teal darken-1\"\r\n };\r\n\r\n}", + "Type": "Demos.Components.Menu.props.Rounded", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 10, + "Name": "activatorAndTooltip", + "Title": "同时使用激活器和提示", + "Description": "

RenderFragment 语法中,嵌套的激活器,例如用 MMenuMTooltip 附加到同一激活按钮,需要特定的设置才能正常运行。注意:此语法同样用于其他嵌套激活器,例如 MDialog\n/ MTooltip

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n @{\r\n var attrs = new Dictionary();\r\n m.Attrs.ToList().ForEach(item => attrs[item.Key] = item.Value);\r\n c.Attrs.ToList().ForEach(item => attrs[item.Key] = item.Value);\r\n }\r\n \r\n Dropdown w/ Tooltip\r\n \r\n \r\n \r\n Im A ToolTip\r\n \r\n \r\n \r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n}", + "Type": "Demos.Components.Menu.contents.ActivatorAndTooltip", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 11, + "Name": "customTransitions", + "Title": "自定义过渡", + "Description": "

MASA.Blazor 有三个标准过渡,scaleslide-xslide-y。您也可以创建自己的过渡并作为过渡参数传递。

\n", + "Code": "\r\n \r\n \r\n \r\n Scale Transition\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Slide X Transition\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Slide Y Transition\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n}", + "Type": "Demos.Components.Menu.misc.CustomTransitions", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 12, + "Name": "popoverMenu", + "Title": "弹出菜单", + "Description": "

菜单可以配置为在打开时为静态菜单,使其充当弹出菜单。当菜单内容中有多个交互式项目时,这很有用。

\n", + "Code": "
\r\n \r\n \r\n POPOVER MENU\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \"John\"\r\n \r\n\r\n \r\n John Leider\r\n Founder of Vuetify\r\n \r\n\r\n \r\n fav = !fav\">\r\n mdi-heart\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Enable messages\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Enable hints\r\n \r\n \r\n \r\n\r\n \r\n \r\n menu = false\">Cacnel\r\n menu = false\">Save\r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n bool fav = true;\r\n bool menu = false;\r\n bool message = false;\r\n bool hints = true;\r\n}", + "Type": "Demos.Components.Menu.misc.PopoverMenu", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 13, + "Name": "useInComponents", + "Title": "在组件中使用", + "Description": "

菜单可以放在几乎任何组件中。

\n", + "Code": "\r\n \r\n \r\n \r\n Menu\r\n\r\n \r\n\r\n \r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n\r\n Lorem Ipsum\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n}", + "Type": "Demos.Components.Menu.misc.UseInComponents", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/dialogs", + "/components/tooltips", + "/styles/transitions" + ], + "Subtitle": "菜单", + "Title": "Menus", + "Type": "菜单" + }, + { + "Desc": "

MNavigationDrawer 是用于导航应用程序的组件。 通常被包装在 MCard 元素中使用。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "警告": "\n\n

如果使用启用了 App 属性的 MNavigationDrawer,则不需要像示例中那样使用 Absolute 属性。

\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.5982443+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

导航抽屉主要用于存放您应用程序中页面的链接。通常使用 Nav 属性将抽屉与 MList 组件配对使用。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n Application\r\n \r\n \r\n subtext\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n class Item\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n\r\n private Item[] _items = new Item[]\r\n {\r\n new Item{ Title= \"Dashboard\", Icon= \"mdi-view-dashboard\" },\r\n new Item { Title= \"Photos\", Icon= \"mdi-image\" },\r\n new Item { Title= \"About\", Icon= \"mdi-help-box\" }\r\n };\r\n}\r\n\r\n\r\n\r\n", + "Type": "Demos.Components.NavigationDrawer.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "bottom", + "Title": "底部抽屉", + "Description": "

使用 Bottom 属性我们能够在移动设备上重新定位抽屉,让其从屏幕底部出来。 这是另一种样式,只能遇到 MobileBreakpoint 时激活。

\n", + "Code": "\r\n \r\n\r\n \r\n _drawer = !_drawer\">\r\n\r\n My files\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-filter\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Foo\r\n \r\n\r\n \r\n Bar\r\n \r\n\r\n \r\n Fizz\r\n \r\n\r\n \r\n Buzz\r\n \r\n \r\n \r\n \r\n\r\n \r\n The navigation drawer will appear from the bottom on smaller size screens.\r\n \r\n\r\n\r\n@code\r\n{\r\n private bool _drawer = false;\r\n private StringNumber _value = default;\r\n\r\n void ValueChanged(StringNumber value)\r\n {\r\n _value = value;\r\n _drawer = false;\r\n }\r\n}", + "Type": "Demos.Components.NavigationDrawer.props.Bottom", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "expandOnHover", + "Title": "悬停时扩展", + "Description": "

将组件放置在 MiniVariant 模式中,并在悬停时扩展开。不更改 MMain 的内容区域。 宽度可以使用 MiniVariantWidth 属性来控制。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Sandra Adams\r\n \r\n andra_a88@gmail.com\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n mdi-folder\r\n \r\n My Files\r\n \r\n \r\n \r\n mdi-account-multiple\r\n \r\n Shared with me\r\n \r\n \r\n \r\n mdi-star\r\n \r\n Starred\r\n \r\n \r\n \r\n \r\n
", + "Type": "Demos.Components.NavigationDrawer.props.ExpandOnHover", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "floating", + "Title": "永久浮动抽屉", + "Description": "

默认情况下,导航抽屉有一个 1px 右边框,将其与内容分开。 在这个例子中,我们要把抽屉从左边分离出来,让它自己浮动。 Floating 属性可移除右边的边框(如果使用 Right 则移除左边框)。

\n", + "Code": "\r\n \r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new()\r\n {\r\n new ItemDemo { Title = \"Home\", Icon = \"mdi-view-dashboard\" },\r\n new ItemDemo { Title = \"About\", Icon = \"mdi-forum\" }\r\n };\r\n}", + "Type": "Demos.Components.NavigationDrawer.props.Floating", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "image", + "Title": "图像", + "Description": "

通过 Src 属性将自定义背景应用于抽屉。 如果你需要自定义 MImage 的属性,你可以使用 ImgContent

\n", + "Code": "\r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item[0]\r\n \r\n\r\n \r\n @item[1]\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[][] _items = new string[3][]\r\n {\r\n new string[2] {\"mdi-email\", \"Inbox\"},\r\n new string[2]{\"mdi-account-supervisor-circle\", \"Supervisors\" },\r\n new string[2]{ \"mdi-clock-start\", \"Clock-in\" }\r\n };\r\n}", + "Type": "Demos.Components.NavigationDrawer.props.Image", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "mini", + "Title": "迷你模式", + "Description": "

当使用 MiniVariant 属性时,抽屉将会缩小(默认56px),并隐藏除第一个元素外的 Mlist 内的所有内容。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n John Leider\r\n\r\n _mini = !_mini\">\r\n mdi-chevron-left\r\n \r\n \r\n\r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private bool _drawer = true;\r\n private bool _mini = true;\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new()\r\n {\r\n new ItemDemo { Title = \"Home\", Icon = \"mdi-home-city\" },\r\n new ItemDemo { Title = \"My Account\", Icon = \"mdi-account\" },\r\n new ItemDemo { Title = \"Users\", Icon = \"mdi-account-group-outline\" }\r\n };\r\n}", + "Type": "Demos.Components.NavigationDrawer.props.Mini", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "right", + "Title": "右侧", + "Description": "

导航抽屉也可以放置在应用程序(或元素)的右侧。这对于创建带有可能没有任何导航链接的辅助信息的边表也很有用。 当使用 RTL 时,您必须为抽屉明确定义 Right

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Jane Smith\r\n Logged In\r\n \r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new()\r\n {\r\n new ItemDemo { Title = \"Home\", Icon = \"mdi-home-city\" },\r\n new ItemDemo { Title = \"My Account\", Icon = \"mdi-account\" },\r\n new ItemDemo { Title = \"Users\", Icon = \"mdi-account-group-outline\" }\r\n };\r\n}", + "Type": "Demos.Components.NavigationDrawer.props.Right", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "temporary", + "Title": "临时的", + "Description": "

临时抽屉位于它的应用程序上方,在移动设备上默认模拟此抽屉行为。

\n", + "Code": "\r\n \r\n \r\n _drawer = !_drawer\">\r\n Toggle\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n John Leider\r\n \r\n \r\n\r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n private bool _drawer;\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new()\r\n {\r\n new ItemDemo { Title = \"Home\", Icon = \"mdi-view-dashboard\" },\r\n new ItemDemo { Title = \"About\", Icon = \"mdi-forum\" }\r\n };\r\n}", + "Type": "Demos.Components.NavigationDrawer.props.Temporary", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "color", + "Title": "彩色的抽屉", + "Description": "

导航抽屉可以自定义,以适合任何应用程序的设计。 我们在这里使用 AppendContent 自定义背景颜色和附加的内容区域。

\n", + "Code": "\r\n \r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n
\r\n LogOut\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code{\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new()\r\n {\r\n new ItemDemo { Title = \"Dashboard\", Icon = \"mdi-view-dashboard\" },\r\n new ItemDemo { Title = \"Account\", Icon = \"mdi-account-box\" },\r\n new ItemDemo { Title = \"Admin\", Icon = \"mdi-gavel\" }\r\n };\r\n}", + "Type": "Demos.Components.NavigationDrawer.misc.Color", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 1, + "Name": "constitute", + "Title": "组合抽屉", + "Description": "

在此示例中,我们定义了一个自定义宽度的抽屉来容纳嵌套。 我们使用 MRow 确保抽屉和列表在水平方向彼此相邻。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n @foreach (var link in _links)\r\n {\r\n \r\n @link\r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[] _links = new string[3] { \"Home\", \"Contacts\", \"Settings\" };\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new()\r\n {\r\n new ItemDemo { Title = \"Home\", Icon = \"mdi-view-dashboard\" },\r\n new ItemDemo { Title = \"About\", Icon = \"mdi-forum\" }\r\n };\r\n}", + "Type": "Demos.Components.NavigationDrawer.misc.Constitute", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/NavigationDrawer.svg", + "Cols": 1, + "Related": [ + "/components/lists", + "/components/icons", + "/getting-started/wireframes" + ], + "Subtitle": "导航抽屉", + "Title": "Navigation drawers", + "Type": "导航抽屉" + }, + { + "Desc": "

Overlay 组件用于强调特定元素或其中的一部分。 它向用户发出应用程序内状态更改的信号,可用于创建加载程序,对话框等。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.6022439+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

以最简单的形式,MOverlay 组件将在您的应用程序上添加暗淡的图层。

\n", + "Code": "
\r\n \r\n Show Overlay\r\n \r\n\r\n \r\n
\r\n\r\n@code {\r\n bool overlay = false;\r\n\r\n async Task OnClick(MouseEventArgs args)\r\n {\r\n overlay = true;\r\n await InvokeAsync(StateHasChanged);\r\n\r\n await Task.Delay(2000);\r\n overlay = false;\r\n }\r\n}\r\n", + "Type": "Demos.Components.Overlay.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "absolute", + "Title": "绝对定位", + "Description": "

Absolute 遮罩层被放置在绝对位置,并包含在父元素中。

\n", + "Code": "\r\n \r\n \r\n \r\n Show Overlay\r\n \r\n\r\n \r\n \r\n Hide Overlay\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool overlay = false;\r\n\r\n void Toggle(MouseEventArgs args)\r\n {\r\n overlay = !overlay;\r\n }\r\n\r\n void Hide(MouseEventArgs args)\r\n {\r\n overlay = false;\r\n }\r\n}", + "Type": "Demos.Components.Overlay.props.Absolute", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "opacity", + "Title": "透明度", + "Description": "

Opacity 允许您自定义组件的透明度。

\n", + "Code": "\r\n \r\n \r\n \r\n Show Overlay\r\n \r\n\r\n \r\n \r\n Hide Overlay\r\n \r\n \r\n \r\n \r\n\r\n@code {\r\n bool overlay = false;\r\n\r\n void Toggle(MouseEventArgs args)\r\n {\r\n overlay = !overlay;\r\n }\r\n\r\n void Hide(MouseEventArgs args)\r\n {\r\n overlay = false;\r\n }\r\n}", + "Type": "Demos.Components.Overlay.props.Opacity", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "zIndex", + "Title": "Z-index", + "Description": "

ZIndex 使您能够轻松地更改 MOverlay 组件的覆盖顺序。

\n", + "Code": "\r\n _overlay = !_overlay\">\r\n Show Overlay\r\n \r\n\r\n \r\n _overlay = false\">\r\n Hide Overlay\r\n \r\n \r\n\r\n\r\n@code {\r\n private bool _overlay = false;\r\n private int _zIndex = 0;\r\n}", + "Type": "Demos.Components.Overlay.props.ZIndex", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "Advanced", + "Title": "高级版", + "Description": "

使用 MHover 作为背景,添加进度组件来轻松创建自定义加载器。

\n", + "Code": "\r\n \r\n \r\n\r\n \r\n

\r\n Magento Forests\r\n

\r\n Travel to the best outdoor experience on planet Earth. A vacation you will never forget!\r\n
\r\n\r\n \r\n \r\n 64 Reviews\r\n \r\n\r\n \r\n \r\n \r\n See more info\r\n \r\n \r\n \r\n
\r\n
", + "Type": "Demos.Components.Overlay.misc.Advanced", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 5, + "Name": "loader", + "Title": "加载器", + "Description": "

使用 MOverlay 作为背景,添加进度组件来轻松创建自定义加载器。

\n", + "Code": "
\r\n \r\n Launch Application\r\n \r\n mdi-open-in-new\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n bool overlay = false;\r\n\r\n void Toggle(MouseEventArgs args)\r\n {\r\n overlay = true;\r\n\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(3000);\r\n overlay = false;\r\n\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n}", + "Type": "Demos.Components.Overlay.misc.Loader", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/cards", + "/components/sheets", + "/components/dialogs" + ], + "Subtitle": "遮罩层", + "Title": "Overlays", + "Type": "遮罩层" + }, + { + "Desc": "

MPagination 组件用于分离长数据集,以便用户消化信息。 根据提供的数据量,分页组件将自动缩放。 要维护当前页面,只需提供 Value 属性。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.6072447+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

分页默认根据设置的 Length 属性显示页数,两边有 PrevNext 按钮帮助导航。

\n", + "Code": "
\r\n \r\n
\r\n\r\n@code{\r\n private int _page = 1;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pagination.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "circle", + "Title": "圆形", + "Description": "

Circle 属性为你提供了分页按钮的另一种样式。

\n", + "Code": "
\r\n \r\n
\r\n\r\n@code{\r\n private int _page = 1;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pagination.props.Circle", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "disabled", + "Title": "禁用", + "Description": "

使用 Disabled 属性,可以手动禁用分页。

\n", + "Code": "
\r\n \r\n
\r\n\r\n", + "Type": "Demos.Components.Pagination.props.Disabled", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "icon", + "Title": "图标", + "Description": "

上一页和下一页的图标可以通过 PrevIconNextIcon 属性自定义。

\n", + "Code": "
\r\n \r\n
\r\n\r\n@code{\r\n private int _page = 1;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pagination.props.Icon", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "length", + "Title": "长度", + "Description": "

使用 Length 属性可以设置 MPagination 的长度,如果页面按钮的数量超过了父容器,分页将被从中截断。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n private int _page = 1;\r\n}", + "Type": "Demos.Components.Pagination.props.Length", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "totalVisible", + "Title": "最大可见分页数", + "Description": "

你也可以通过 TotalVisible 属性手动设置最大可见分页数。

\n", + "Code": "
\r\n \r\n
\r\n\r\n@code{\r\n private int _page = 1;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pagination.props.TotalVisible", + "Style": "", + "Debug": false, + "Group": 0 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/data-iterator", + "/components/data-tables", + "/components/lists" + ], + "Subtitle": "分页", + "Title": "Pagination", + "Type": "分页" + }, + { + "Desc": "

MColorPicker 允许你使用各种输入方法来选择颜色。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.6152445+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用(TODO)", + "Description": "", + "Code": "TODO", + "Type": "Demos.Components.Pickers.children.ColorPickers.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "canvas", + "Title": "画布", + "Description": "

可以使用 HideCanvas 属性隐藏画布,也可以使用 CanvasHeight 属性设置其高度。 选择点的大小可以用 DotSize 属性来控制。

\n", + "Code": "\r\n \r\n \r\n \r\n\r\n", + "Type": "Demos.Components.Pickers.children.ColorPickers.props.Canvas", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "elevation", + "Title": "海拔(TODO)", + "Description": "

使用 ElevationFlat 属性调整 MColorPicker 组件的海拔。 设置 Flat 相当于将 Elevation 设置为0。

\n", + "Code": "\r\n \r\n \r\n\r\n", + "Type": "Demos.Components.Pickers.children.ColorPickers.props.Elevation", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "inputs", + "Title": "输入(TODO:正在完善)", + "Description": "

数字输入可以用 HideInputs 属性隐藏,滑块可以用 HideSliders 属性隐藏。 \n你也可以使用 HideModeSwitch 属性隐藏模式切换图标。 模式也可以通过 Mode 属性进行外部控制。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r=>Enum.GetName(typeof(ColorTypes),r)\"\r\n Style=\"max-width: 300px\">\r\n \r\n\r\n\r\n@code {\r\n private ColorTypes _mode = ColorTypes.HSLA;\r\n private List _modes = new List\r\n {\r\n ColorTypes.HSLA,\r\n ColorTypes.RGBA,\r\n ColorTypes.HEXA\r\n };\r\n}\r\n", + "Type": "Demos.Components.Pickers.children.ColorPickers.props.Inputs", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "model", + "Title": "模型(TODO)", + "Description": "

MColorPicker 使用 @bind-Value 属性来控制显示的颜色。 它支持十六进制字符串,如 #FF00FF#FF00FF00,以及表示 RGBAHSLAHSVA\n值的对象。

\n", + "Code": "TODO", + "Type": "Demos.Components.Pickers.children.ColorPickers.props.Model", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 5, + "Name": "swatches", + "Title": "色板(TODO)", + "Description": "

使用 ShowSwatches 属性,你可以显示一个色板供用户选择。 也可以使用 Swatches 属性自定义显示什么颜色。该属性接受一个二维数组,其中第一维定义一列,第二维通过提供 rgba\n十六进制字符串定义从上到下的色板。 你也可以使用 SwatchesMaxHeight 属性设置色板部分的最大高度。

\n", + "Code": "TODO", + "Type": "Demos.Components.Pickers.children.ColorPickers.props.Swatches", + "Style": "", + "Debug": false, + "Group": 0 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ColorPicker.svg", + "Cols": 1, + "Related": [ + "/components/menus", + "/styles/colors", + "/features/theme" + ], + "Subtitle": "颜色选择器", + "Title": "Color pickers", + "Type": "颜色选择器" + }, + { + "Desc": "

MDatePicker 是一个功能齐全的日期选择组件, 它让用户选择一个日期或日期范围。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "注意": "\n \n

MDatePicker 接受ISO 8601 日期 字符串(YYYY-MM-DD)。 有关 ISO 8601 和其他标准的更多信息,请访问 ISO(国际标准化组织) 国际标准 官方网页。

\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.6252434+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

日期选择器有两种方向变化,纵向(默认)和横向。 默认情况下,当日期(用于日期选择器)或月份(用于月份选择器)选中时它们将发出input事件,但使用Reactive,它们甚至可以在单击年/月之后更新模型。

\n", + "Code": "\r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.DatePickers.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "allowedDates", + "Title": "允许的日期", + "Description": "

您可以使用数组、对象和函数指定允许的日期。

\n", + "Code": "\r\n \r\n\r\n\r\n@code {\r\n private DateOnly _date = DateOnly.Parse(\"2018-03-02\");\r\n private DateOnly _min = DateOnly.Parse(\"2016-06-15\");\r\n private DateOnly _max = DateOnly.Parse(\"2018-03-20\");\r\n private Func _allowedDates = value => value.Day % 2 == 0;\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickers.props.AllowedDates", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "colors", + "Title": "颜色", + "Description": "

可以使用 ColorHeaderColor 设置日期选择器颜色。 如果没有提供 HeaderColor, 头部将使用 Color 值。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _picker2 = DateOnly.FromDateTime(DateTime.Now);\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickers.props.Colors", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "elevation", + "Title": "高度(z轴)", + "Description": "

MDatePicker 组件支持最高高度(z轴)值为24。\n欲了解更多关于高度的信息,请访问官方的 Material Design elevations 页面。

\n", + "Code": "\r\n \r\n\r\n \r\n\r\n\r\n@code{\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickers.props.Elevation", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "icons", + "Title": "图标", + "Description": "

您可以覆盖选择器中使用的默认图标。

\n", + "Code": "\r\n \r\n\r\n\r\n@code{\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickers.props.Icons", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "multiple", + "Title": "多选", + "Description": "

日期选择器可以使用 Multiple 选择多个日期。 如果使用 Multiple ,日期选择器就会要求它的model是一个数组。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n TODO...\r\n \r\n\r\n\r\n@code {\r\n private IList _dates = new List\r\n {\r\n new DateOnly(2018,9,15),\r\n new DateOnly(2018,9,20)\r\n };\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickers.props.Multiple", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "pickerDate", + "Title": "选取的日期", + "Description": "

您可以使用 OnPickerDateUpdate ,它是显示的月份/年份(取决于选择器类型和激活的视图),以便在其更改时执行某些操作。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n
\r\n Month news (@_pickerDate.ToString(\"yyyy-MM\"))\r\n
\r\n
\r\n Change month to see other news\r\n
\r\n
    \r\n @foreach (var note in _notes)\r\n {\r\n
  • \r\n @note\r\n
  • \r\n }\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n private DateOnly _date = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _pickerDate;\r\n private IEnumerable _notes = new List();\r\n private List _allNotes = new List\r\n {\r\n \"President met with prime minister\",\r\n \"New power plant opened\",\r\n \"Rocket launch announced\",\r\n \"Global warming discussion cancelled\",\r\n \"Company changed its location\",\r\n };\r\n\r\n public void HandleOnPickerDateUpdate(DateOnly date)\r\n {\r\n _pickerDate = date;\r\n _notes = new List\r\n {\r\n _allNotes[Random.Shared.Next(0,5)],\r\n _allNotes[Random.Shared.Next(0,5)],\r\n _allNotes[Random.Shared.Next(0,5)]\r\n }.Distinct();\r\n }\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickers.props.PickerDate", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "range", + "Title": "范围", + "Description": "

日期选择器使用 Range 选择日期范围。 当使用 Range 日期选择器要求其model是长度为2的数组或空数组。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private List _dates = new List\r\n {\r\n new DateOnly(2019,9,10),\r\n new DateOnly(2019,9,20)\r\n };\r\n\r\n public string DateRangeText => string.Join(\" ~ \", _dates.Select(date => date.ToString(\"yyyy-MM-dd\")));\r\n }", + "Type": "Demos.Components.Pickers.children.DatePickers.props.Range", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "readonly", + "Title": "只读", + "Description": "

可以添加 Readonly 来禁用选择新日期。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickers.props.Readonly", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "showCurrent", + "Title": "显示当前月份", + "Description": "

默认情况下,当前日期是使用边框按钮显示的 - ShowCurrent 允许您删除边框或选择其他日期显示为当前日期。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker1 = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _picker2 = new DateOnly(2013, 7, 29);\r\n private DateOnly _current = new DateOnly(2013, 07, 13);\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickers.props.ShowCurrent", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "showSiblingMonths", + "Title": "显示相邻月份", + "Description": "

默认情况下,上个月和下个月的天数不可见。它们可以使用 ShowAdjacentMonths 属性显示。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickers.props.ShowSiblingMonths", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "width", + "Title": "宽度", + "Description": "

您可以指定选择器的宽度或使其全宽度。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickers.props.Width", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "dateButtons", + "Title": "日期按钮(TODO)", + "Description": "", + "Code": "
\r\n TODO...\r\n
", + "Type": "Demos.Components.Pickers.children.DatePickers.events.DateButtons", + "Style": "", + "Debug": false, + "Group": 1 + }, + { + "Order": 0, + "Name": "dateEvents", + "Title": "日期事件(TODO)", + "Description": "", + "Code": "
\r\n TODO...\r\n
\r\n\r\n", + "Type": "Demos.Components.Pickers.children.DatePickers.events.DateEvents", + "Style": "", + "Debug": false, + "Group": 1 + }, + { + "Order": 0, + "Name": "activePicker", + "Title": "激活的选择器", + "Description": "

您可以创建一个生日选择器-默认情况下从年份选择器开始,限制日期范围,并在选择日期后关闭选择器菜单,使之成为完美的生日选择器。

\n", + "Code": "
\r\n
Active picker: @_activePicker
\r\n \r\n \r\n \r\n \r\n \r\n _activePicker=val\"\r\n Max=\"DateOnly.FromDateTime(DateTime.Now)\"\r\n Min=\"new DateOnly(1950,1,1)\">\r\n \r\n \r\n
\r\n\r\n @code {\r\n private DatePickerType _activePicker = DatePickerType.Year;\r\n private DateOnly _date = DateOnly.FromDateTime(DateTime.Now);\r\n private bool _menu;\r\n }\r\n", + "Type": "Demos.Components.Pickers.children.DatePickers.misc.ActivePicker", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "dialogAndMenu", + "Title": "对话框和菜单", + "Description": "

将选择器集成到 MTextField 中时,建议使用 Readonly。 这将防止手机键盘触发。 要节省垂直空间,还可以隐藏选择器标题。

\n

拾取器公开一个允许您挂起保存和取消功能的插槽。 这将保持一个用户取消时可以替换的旧值。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n _menu2=false\">\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _prevDate = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _date = DateOnly.FromDateTime(DateTime.Now);\r\n private bool _menu;\r\n private bool _modal;\r\n private bool _menu2;\r\n\r\n public void MenuCancel()\r\n {\r\n _date = _prevDate;\r\n _menu = false;\r\n }\r\n\r\n public void MenuOK()\r\n {\r\n _prevDate = _date;\r\n _menu = false;\r\n }\r\n\r\n public void ModalCancel()\r\n {\r\n _date = _prevDate;\r\n _modal = false;\r\n }\r\n\r\n public void ModalOK()\r\n {\r\n _prevDate = _date;\r\n _modal = false;\r\n }\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.DatePickers.misc.DialogAndMenu", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "formatting", + "Title": "自定义格式", + "Description": "

如果需要以自定义格式(不同于YYYY-MM-DD)显示日期,则需要使用格式化功能。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n _menu1=false\"\r\n NoTitle>\r\n \r\n \r\n

Date in ISO format: @Date.ToString(\"yyyy-MM-dd\")

\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n _menu2=false\"\r\n NoTitle>\r\n \r\n \r\n

Date in ISO format: @Date.ToString(\"yyyy-MM-dd\")

\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n private DateOnly _date = DateOnly.FromDateTime(DateTime.Now);\r\n private string _dateFormatted = FormateDate(DateOnly.FromDateTime(DateTime.Now));\r\n private bool _menu1;\r\n private bool _menu2;\r\n\r\n private DateOnly Date\r\n {\r\n get\r\n {\r\n return _date;\r\n }\r\n set\r\n {\r\n _date = value;\r\n _dateFormatted = FormateDate(_date);\r\n }\r\n }\r\n\r\n public string ComputedDateFormatted => FormateDate(_date);\r\n\r\n public static string FormateDate(DateOnly date)\r\n {\r\n return date.ToString(\"MM/dd/yyyy\");\r\n }\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.DatePickers.misc.Formatting", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "formattingWithExternalLibraries", + "Title": "使用外部库自定义格式(TODO)", + "Description": "

也可以使用外部库(如Moment.js或date fns)格式化日期

\n", + "Code": "
\r\n TODO...\r\n
\r\n\r\n", + "Type": "Demos.Components.Pickers.children.DatePickers.misc.FormattingWithExternalLibraries", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "internationalization", + "Title": "国际化(TODO)", + "Description": "

日期选择器通过JavaScript日期对象支持国际化。使用区域设置道具指定BCP 47语言标记,然后使用每周第一天属性设置每周第一天。

\n", + "Code": "\r\n \r\n\r\n\r\n @code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n }\r\n\r\n", + "Type": "Demos.Components.Pickers.children.DatePickers.misc.Internationalization", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "orientation", + "Title": "方向", + "Description": "

日期选择器有两种方向变化,纵向(默认)和横向。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n @code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n private bool _landscape;\r\n }\r\n\r\n", + "Type": "Demos.Components.Pickers.children.DatePickers.misc.Orientation", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/DatePickers.svg", + "Cols": 1, + "Related": [ + "/components/buttons", + "/components/text-fields", + "/components/time-pickers" + ], + "Subtitle": "日期选择器", + "Title": "Date pickers", + "Type": "日期选择器" + }, + { + "Desc": "

MDatePicker 可以用作一个独立的月份选择器组件。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "注意": "\n \n

MDatePicker 接受ISO 8601 日期 字符串(YYYY-MM-DD)。 有关 ISO 8601 和其他标准的更多信息,请访问 ISO(国际标准化组织) 国际标准 官方网页。

\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.6312442+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

月份选择器有两种方向变化:纵向 (默认) 和横向。

\n", + "Code": "\r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.DatePickersMonth.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "allowedDates", + "Title": "允许的月份", + "Description": "

您可以使用数组、对象或函数指定允许的月份。

\n", + "Code": "\r\n \r\n\r\n\r\n@code {\r\n private DateOnly _date = DateOnly.Parse(\"2017-12\");\r\n private DateOnly _min = DateOnly.Parse(\"2017-06\");\r\n private DateOnly _max = DateOnly.Parse(\"2019-10\");\r\n private Func _allowedMonths = value => value.Month % 2 == 0;\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.AllowedDates", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "colors", + "Title": "颜色", + "Description": "

可以使用 ColorHeaderColor 设置日期选择器颜色。 如果没有提供 HeaderColor, 头部将使用 Color 值。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _picker2 = DateOnly.FromDateTime(DateTime.Now);\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.Colors", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "icons", + "Title": "图标", + "Description": "

您可以覆盖选择器中使用的默认图标。

\n", + "Code": "\r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.Icons", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "multiple", + "Title": "多选", + "Description": "

日期选择器可以使用 Multiple 选择多个日期。 如果使用 Multiple ,日期选择器就会要求它的model是一个数组。

\n", + "Code": "\r\n \r\n\r\n\r\n@code {\r\n private IList _months = new List\r\n {\r\n new DateOnly(2018,9,1),\r\n new DateOnly(2018,10,1)\r\n };\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.Multiple", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "readonly", + "Title": "只读", + "Description": "

可以添加 Readonly 来禁用选择新日期。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.Readonly", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "showCurrent", + "Title": "显示当前月份", + "Description": "

默认情况下,当前日期是使用边框按钮显示的 - ShowCurrent 允许您删除边框或选择其他日期显示为当前日期。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker1 = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _picker2 = new DateOnly(2013, 9, 1);\r\n private DateOnly _current = new DateOnly(2013, 7, 1);\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.ShowCurrent", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "width", + "Title": "宽度", + "Description": "

您可以指定选择器的宽度或使其全宽度。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", + "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.Width", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "dialogAndMenu", + "Title": "对话框和菜单", + "Description": "

将选择器集成到 MTextField 中时,建议使用 Readonly。 这将防止手机键盘触发。 要节省垂直空间,还可以隐藏选择器标题。

\n

拾取器公开一个允许您挂起保存和取消功能的插槽。 这将保持一个用户取消时可以替换的旧值。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n OK\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _prevDate = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _date = DateOnly.FromDateTime(DateTime.Now);\r\n private bool _menu;\r\n private bool _modal;\r\n\r\n public void MenuCancel()\r\n {\r\n _date = _prevDate;\r\n _menu = false;\r\n }\r\n\r\n public void MenuOk()\r\n {\r\n _prevDate = _date;\r\n _menu = false;\r\n }\r\n\r\n public void ModalCancel()\r\n {\r\n _date = _prevDate;\r\n _modal = false;\r\n }\r\n\r\n public void ModalOk()\r\n {\r\n _prevDate = _date;\r\n _modal = false;\r\n }\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.DatePickersMonth.misc.DialogAndMenu", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "internationalization", + "Title": "国际化(TODO)", + "Description": "

日期选择器通过JavaScript日期对象支持国际化。使用区域设置道具指定BCP 47语言标记,然后使用每周第一天属性设置每周第一天。

\n", + "Code": "\r\n \r\n\r\n\r\n @code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n }\r\n\r\n", + "Type": "Demos.Components.Pickers.children.DatePickersMonth.misc.Internationalization", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "orientation", + "Title": "方向", + "Description": "

日期选择器有两种方向变化,纵向(默认)和横向。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n @code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n private bool _landscape;\r\n }\r\n\r\n", + "Type": "Demos.Components.Pickers.children.DatePickersMonth.misc.Orientation", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/DatePickersMonth.svg", + "Cols": 1, + "Related": [ + "/components/date-pickers", + "/components/menus", + "/components/time-pickers" + ], + "Subtitle": "月份选择器", + "Title": "Date pickers month", + "Type": "月份选择器" + }, + { + "Desc": "

MTimePicker 是独立的组件,可以用于许多现有的 MASA Blazor 组件。 它为用户提供了选择时间的视觉表现。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.6402418+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

时间选择器默认情况下启用了浅色主题。

\n", + "Code": "\r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker = TimeOnly.FromDateTime(DateTime.Now);\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "allowedTimes", + "Title": "允许的时间", + "Description": "

您可以使用数组、对象和函数指定允许的时间。 您也可以指定时间步进/精度/间隔 - 例如10分钟。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _time = new TimeOnly(11, 15, 0);\r\n private TimeOnly? _timeStep = new TimeOnly(10, 10, 0);\r\n private Func _allowedHours = v => v % 2 != 0;\r\n private Func _allowedMinutes = v => v >= 10 && v <= 50;\r\n private Func _allowedStep = m => m % 10 == 0;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.props.AllowedTimes", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "AMPMInTitle", + "Title": "标题中的AM/PM", + "Description": "

您可以移动 AM/PM 切换到选择器的标题。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.props.AMPMInTitle", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "colors", + "Title": "颜色", + "Description": "

时间选择器颜色可以使用 ColorHeaderColor 属性设定。如果没有提供 HeaderColor 属性, 头部将使用 Color 属性值。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _e4;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.props.Colors", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "disabled", + "Title": "禁用", + "Description": "

您无法使用已禁用的选择器。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.props.Disabled", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "elevation", + "Title": "高度(z轴)", + "Description": "

通过设置 Elevation 从 0 到 24 来突出 MTimePicker 组件。 高度(z轴)将修改 box-shadow css 属性。

\n", + "Code": "\r\n \r\n\r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.props.Elevation", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "format", + "Title": "格式化", + "Description": "

时间选择器可以切换为24小时格式。 请注意, Format 只定义选取器的显示方式,选取器的值 (model) 总是以24小时格式。

\n", + "Code": "\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _e7;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.props.Format", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "noTitle", + "Title": "无标题", + "Description": "

您可以删除选择器的标题。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.props.NoTitle", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "range", + "Title": "范围", + "Description": "

这是一个用 MinMax 合并选择器的例子。

\n", + "Code": "
\r\n

Plan your event:

\r\n \r\n \r\n

Start:@_start

\r\n \r\n
\r\n \r\n

End:@_end

\r\n \r\n
\r\n
\r\n
\r\n\r\n@code {\r\n private TimeOnly? _start;\r\n private TimeOnly? _end;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.props.Range", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "readonly", + "Title": "只读", + "Description": "

只读选择器的行为与禁用的一样,但看起来像默认的。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.props.Readonly", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "scrollable", + "Title": "可滚动", + "Description": "

您可以使用鼠标滚轮编辑时间选择器的值。

\n", + "Code": "\r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.props.Scrollable", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "useSeconds", + "Title": "使用秒", + "Description": "

时间选择器可以输入秒数。

\n", + "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.props.UseSeconds", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "width", + "Title": "宽度", + "Description": "

您可以指定选择器的宽度或使其为全宽度。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _time = new TimeOnly(11, 15, 1);\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.props.Width", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "dialogAndMenu", + "Title": "对话框和菜单", + "Description": "

由于选择器的灵活性,您可以真正按照自己的意愿进行输入。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n @if (_menu2)\r\n {\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n @if (_modal2)\r\n {\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n OK\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _prevTime;\r\n private TimeOnly? _time;\r\n private bool _menu2;\r\n private bool _modal2;\r\n\r\n public void Cancel()\r\n {\r\n _time = _prevTime;\r\n _modal2 = false;\r\n }\r\n\r\n public void Ok()\r\n {\r\n _prevTime = _time;\r\n _modal2 = false;\r\n }\r\n}\r\n\r\n", + "Type": "Demos.Components.Pickers.children.TimePickers.misc.DialogAndMenu", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/TimePickers.svg", + "Cols": 1, + "Related": [ + "/components/buttons", + "/components/date-pickers", + "/components/text-fields" + ], + "Subtitle": "时间选择器", + "Title": "Time pickers", + "Type": "时间选择器" + }, + { + "Order": 0, + "OtherDocs": {}, + "LastWriteTime": "2021-11-17T17:23:13.6412417+08:00", + "DemoList": [ + { + "Order": 20, + "Name": "Actions", + "Title": "操作", + "Description": "

提供一组响应式的操作按钮。

\n", + "Code": "@using Action = MASA.Blazor.Presets.Action\r\n\r\n \r\n \r\n \r\n\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n \r\n @if (context.Header.Value == \"actions\")\r\n {\r\n List items = new()\r\n {\r\n new Action()\r\n {\r\n Label = \"Edit\",\r\n Icon = \"mdi-pencil\",\r\n OnClick = EventCallback.Factory.Create(this, () => EditItem(context.Item))\r\n },\r\n new Action()\r\n {\r\n Label = \"Remove\",\r\n Icon = \"mdi-delete\",\r\n OnClick = EventCallback.Factory.Create(this, () => DeleteItem(context.Item))\r\n },\r\n new Action()\r\n {\r\n Label = \"Loading\",\r\n Icon = \"mdi-reload\",\r\n OnClick = EventCallback.Factory.Create(this, async () => await Task.Delay(1000))\r\n },\r\n };\r\n\r\n \r\n }\r\n else\r\n {\r\n @context.Value\r\n }\r\n \r\n\r\n\r\n@code {\r\n private double width = 100;\r\n\r\n List actions = new()\r\n {\r\n new Action() { Label = \"alert\", Icon = \"mdi-alert-outline\" },\r\n new Action() { Label = \"heart\", Icon = \"mdi-heart\", Color = \"red\" },\r\n new Action() { Label = \"information\", Icon = \"mdi-information\", Disabled = true },\r\n new Action() { Label = \"check\", Icon = \"mdi-check\" },\r\n };\r\n\r\n List desserts = new()\r\n {\r\n new Dessert\r\n {\r\n Name = \"Frozen Yogurt\",\r\n Calories = 159,\r\n Fat = 6.0,\r\n Carbs = 24,\r\n Protein = 4.0\r\n },\r\n new Dessert\r\n {\r\n Name = \"Ice cream sandwich\",\r\n Calories = 237,\r\n Fat = 9.0,\r\n Carbs = 37,\r\n Protein = 4.3\r\n },\r\n new Dessert\r\n {\r\n Name = \"Eclair\",\r\n Calories = 262,\r\n Fat = 16.0,\r\n Carbs = 23,\r\n Protein = 6.0\r\n },\r\n new Dessert\r\n {\r\n Name = \"Jelly bean\",\r\n Calories = 375,\r\n Fat = 0.0,\r\n Carbs = 94,\r\n Protein = 0.0\r\n },\r\n new Dessert\r\n {\r\n Name = \"Lollipop\",\r\n Calories = 392,\r\n Fat = 0.2,\r\n Carbs = 98,\r\n Protein = 0\r\n },\r\n new Dessert\r\n {\r\n Name = \"KitKat\",\r\n Calories = 518,\r\n Fat = 26.0,\r\n Carbs = 65,\r\n Protein = 7\r\n }\r\n };\r\n\r\n List> headers = new()\r\n {\r\n new()\r\n {\r\n Text = \"Dessert (100g serving)\",\r\n Align = \"start\",\r\n Sortable = false,\r\n Value = nameof(Dessert.Name)\r\n },\r\n new() { Text = \"Calories\", Value = nameof(Dessert.Calories) },\r\n new() { Text = \"Actions\", Value = \"actions\", Sortable = false }\r\n };\r\n\r\n public void EditItem(Dessert item)\r\n {\r\n }\r\n\r\n public void DeleteItem(Dessert item)\r\n {\r\n }\r\n\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n }\r\n\r\n}", + "Type": "Demos.Components.Presets.props.Actions", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "confirm", + "Title": "确认框", + "Description": "

提供标准类型的确认对话框。

\n", + "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n Show()\">Default\r\n Show(AlertTypes.Success)\">Success\r\n Show(AlertTypes.Info)\">Info\r\n Show(AlertTypes.Warning)\">Warning\r\n Show(AlertTypes.Error)\">Error\r\n
\r\n\r\n\r\n 您确认该操作吗?\r\n\r\n\r\n@code {\r\n\r\n AlertTypes type = 0;\r\n bool visible;\r\n\r\n void Show(AlertTypes t = 0)\r\n {\r\n type = t;\r\n visible = true;\r\n }\r\n\r\n void Hide()\r\n {\r\n visible = false;\r\n }\r\n\r\n void Ok()\r\n {\r\n visible = false;\r\n }\r\n\r\n}", + "Type": "Demos.Components.Presets.props.Confirm", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "formModal", + "Title": "表单对话框", + "Description": "

将表单和Modal结合,验证数据正确性。

\n", + "Code": "@using System.ComponentModel.DataAnnotations\r\n@using System.Text.Json;\r\n\r\n
\r\n _addModal.Show()\" Class=\"mb-1\">Add User\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r => r\"\r\n HideDetails=\"@(\"auto\")\">\r\n \r\n \r\n \r\n \r\n @JsonSerializer.Serialize(_addModal.Data)\r\n \r\n \r\n\r\n \r\n username: @_user?.UserName\r\n city: @_user?.City\r\n \r\n gender: @_user?.Gender\r\n favorites: @string.Join(\",\", _user?.Favorites ?? new List())\r\n \r\n _addModal.Show(_user?.ShallowCopy()))\"\r\n Color=\"primary\"\r\n Disabled=\"@(_user == null)\"\r\n Text\r\n Small>\r\n Edit\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n readonly List _favorites = new() { \"Basketball\", \"Football\", \"Ping-pong\", \"Badminton\" };\r\n \r\n DataModal _addModal = new();\r\n User _user;\r\n\r\n private void HandleOnCancel()\r\n {\r\n _addModal.Hide();\r\n }\r\n\r\n private async Task HandleOnClick()\r\n {\r\n _addModal.ShowLoading();\r\n\r\n if (_addModal.HasValue)\r\n {\r\n // Update\r\n }\r\n else\r\n {\r\n // Add\r\n }\r\n \r\n await Task.Delay(1000);\r\n\r\n _user = _addModal.Data;\r\n\r\n _addModal.HideLoading();\r\n\r\n _addModal.Hide();\r\n }\r\n\r\n public class User : IShallowCopy\r\n {\r\n [Required]\r\n public string UserName { get; set; }\r\n\r\n [Range(0, 1)]\r\n public int Gender { get; set; }\r\n\r\n [Required]\r\n public string City { get; set; }\r\n\r\n [Required]\r\n public List Favorites { get; set; } = new() { };\r\n\r\n public User ShallowCopy()\r\n {\r\n var user = (User)this.MemberwiseClone();\r\n user.Favorites = Favorites;\r\n return user;\r\n }\r\n }\r\n\r\n public class DataModal where T : class, new()\r\n {\r\n public bool Visible { get; set; }\r\n\r\n public T Data { get; private set; }\r\n\r\n public bool HasValue { get; private set; }\r\n\r\n public bool Loading { get; private set; }\r\n\r\n public DataModal()\r\n {\r\n Data = new T();\r\n }\r\n\r\n public void Show() => Visible = true;\r\n\r\n /// \r\n /// 显示弹窗\r\n /// \r\n /// \r\n /// 写入数据之前请确保此对象是拷贝过的\r\n public void Show(T data)\r\n {\r\n Visible = true;\r\n HasValue = true;\r\n Data = data;\r\n }\r\n\r\n public virtual void Hide()\r\n {\r\n Visible = false;\r\n HasValue = false;\r\n Data = new T();\r\n }\r\n\r\n public bool ShowLoading() => Loading = true;\r\n\r\n public bool HideLoading() => Loading = false;\r\n }\r\n\r\n public interface IShallowCopy\r\n {\r\n public T ShallowCopy();\r\n }\r\n\r\n}", + "Type": "Demos.Components.Presets.props.FormModal", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "modal", + "Title": "对话框", + "Description": "

需要用户处理事务,又不希望跳转页面以致打断工作流程时,可以使用 Modal 在当前页面正中打开一个浮层,承载相应的操作。

\n", + "Code": "@using System.Text.Json;\r\n\r\n
\r\n _addModal.Show()\" Class=\"mb-1\">Add User\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r => r\"\r\n HideDetails=\"true\">\r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r => r\"\r\n HideDetails=\"true\">\r\n \r\n \r\n \r\n \r\n @JsonSerializer.Serialize(_addModal.Data)\r\n \r\n \r\n\r\n \r\n username: @_user?.UserName\r\n city: @_user?.City\r\n gender: @_user?.Gender\r\n friends: @string.Join(\",\", _user?.Friends ?? new List())\r\n favorites: @string.Join(\",\", _user?.Favorites ?? new List())\r\n \r\n _addModal.Show(_user?.ShallowCopy())\"\r\n Color=\"primary\"\r\n Disabled=\"@(_user == null)\"\r\n Text\r\n Small>\r\n Edit\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n readonly List _favorites = new() { \"Basketball\", \"Football\", \"Ping-pong\", \"Badminton\" };\r\n readonly List _friends = new() { \"Rachel Greene\", \"Monica Geller\", \"Joey Tribbiani\", \"Ross Geller\", \"Chandler Bing\", \"Phoebe Buffay\" };\r\n\r\n DataModal _addModal = new();\r\n User _user;\r\n\r\n private void HandleOnCancel()\r\n {\r\n _addModal.Hide();\r\n }\r\n\r\n private async Task HandleOnClick()\r\n {\r\n _addModal.ShowLoading();\r\n\r\n if (_addModal.HasValue)\r\n {\r\n // Update\r\n }\r\n else\r\n {\r\n // Add\r\n }\r\n\r\n await Task.Delay(1000);\r\n\r\n _user = _addModal.Data;\r\n\r\n _addModal.HideLoading();\r\n\r\n _addModal.Hide();\r\n }\r\n\r\n public class User : IShallowCopy\r\n {\r\n public string UserName { get; set; }\r\n public int Gender { get; set; }\r\n public string City { get; set; }\r\n public List Favorites { get; set; } = new() { };\r\n public List Friends { get; set; } = new() { };\r\n\r\n public User ShallowCopy()\r\n {\r\n var user = (User)this.MemberwiseClone();\r\n user.Friends = Friends;\r\n user.Favorites = Favorites;\r\n return user;\r\n }\r\n }\r\n\r\n public class DataModal where T : class, new()\r\n {\r\n public bool Visible { get; set; }\r\n\r\n public T Data { get; private set; }\r\n\r\n public bool HasValue { get; private set; }\r\n\r\n public bool Loading { get; private set; }\r\n\r\n public DataModal()\r\n {\r\n Data = new T();\r\n }\r\n\r\n public void Show() => Visible = true;\r\n\r\n /// \r\n /// 显示弹窗\r\n /// \r\n /// \r\n /// 写入数据之前请确保此对象是拷贝过的\r\n public void Show(T data)\r\n {\r\n Visible = true;\r\n HasValue = true;\r\n Data = data;\r\n }\r\n\r\n public virtual void Hide()\r\n {\r\n Visible = false;\r\n HasValue = false;\r\n Data = new T();\r\n }\r\n\r\n public bool ShowLoading() => Loading = true;\r\n\r\n public bool HideLoading() => Loading = false;\r\n }\r\n\r\n public interface IShallowCopy\r\n {\r\n public T ShallowCopy();\r\n }\r\n\r\n}", + "Type": "Demos.Components.Presets.props.Modal", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "pageHeader", + "Title": "页头", + "Description": "

一个比较通用的页头,包括了标题,副标题,操作按钮和搜索栏。

\n", + "Code": "\r\n \r\n mdi-plusAdd Order\r\n \r\n\r\n \r\n \r\n mdi-refresh\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n i\"\r\n ItemText=\"i => i\"\r\n HideDetails=\"true\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n visible1 = false\">\r\n Cancel\r\n \r\n { start = date1.ToShortDateString(); visible1 = false; }\">\r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n visible2 = false\">\r\n Cancel\r\n \r\n { end = date2.ToShortDateString(); visible2 = false; }\">\r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n readonly List users = new() { \"Rachel Greene\", \"Monica Geller\", \"Joey Tribbiani\", \"Ross Geller\", \"Chandler Bing\", \"Phoebe Buffay\" };\r\n\r\n DateOnly date1 = DateOnly.FromDateTime(DateTime.Now);\r\n DateOnly date2 = DateOnly.FromDateTime(DateTime.Now);\r\n\r\n bool visible1;\r\n bool visible2;\r\n\r\n string orderId;\r\n string user;\r\n string start;\r\n string end;\r\n\r\n void OnBack()\r\n {\r\n // navigate\r\n }\r\n\r\n Task OnSearch()\r\n {\r\n return Task.Delay(1000);\r\n }\r\n\r\n void OnClear()\r\n {\r\n orderId = null;\r\n user = null;\r\n start = null;\r\n end = null;\r\n }\r\n}", + "Type": "Demos.Components.Presets.props.PageHeader", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 30, + "Name": "sidebar", + "Title": "侧边栏", + "Description": "

因为MListMListGroupMListItemMListItemGroup这些组件的联系比较松散,无法通过一个给定的值来达到 MListGroup 自动展开的效果。因此做了一个这样的组件。

\n", + "Code": " m.Label\"\r\n Icon=\"m => m.Icon\"\r\n Key=\"m => m.Value\"\r\n Children=\"m => m.SubMenus\"\r\n TItem=\"Menu\"\r\n OnClick=\"Click\">\r\n\r\n\r\n@code {\r\n\r\n static List menus = new()\r\n {\r\n new Menu() { Label = \"Home\", Icon = \"mdi-home\", Value = \"Home\" },\r\n new Menu()\r\n {\r\n Label = \"Users\",\r\n Icon = \"mdi-account-circle\",\r\n Value = \"Users\",\r\n SubMenus = new List()\r\n {\r\n new()\r\n {\r\n Label = \"Admin\",\r\n SubMenus = new List()\r\n {\r\n new() { Label = \"Management\", Icon = \"mdi-account-multiple-outline\", Value = \"Management\" },\r\n new() { Label = \"Settings\", Icon = \"mdi-cog-outline\", Value = \"Settings\" },\r\n }\r\n },\r\n new()\r\n {\r\n Label = \"Actions\",\r\n SubMenus = new List()\r\n {\r\n new() { Label = \"Create\", Icon = \"mdi-plus-outline\", Value = \"Create\" },\r\n new() { Label = \"Read\", Icon = \"mdi-file-outline\", Value = \"Read\" },\r\n new() { Label = \"Update\", Icon = \"mdi-update\", Value = \"Update\" },\r\n new() { Label = \"Delete\", Icon = \"mdi-delete\", Value = \"Delete\" },\r\n }\r\n },\r\n }\r\n },\r\n };\r\n\r\n StringNumber selectedKey = \"Management\";\r\n\r\n void Click(Menu item)\r\n {\r\n // code with clicked item\r\n }\r\n\r\n class Menu\r\n {\r\n public string Label { get; set; }\r\n\r\n public string Value { get; set; }\r\n\r\n public string Icon { get; set; }\r\n\r\n public List SubMenus { get; set; }\r\n }\r\n\r\n}", + "Type": "Demos.Components.Presets.props.Sidebar", + "Style": "", + "Debug": false, + "Group": 0 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/buttons", + "/components/dialogs", + "/components/forms" + ], + "Subtitle": "预置组件", + "Title": "Presets", + "Type": "预置组件" + }, + { + "Desc": "

该组件用于向用户展示环形的数据。 它也可以设置为不确定的状态来表示加载。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.6512445+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

In its simplest form, v-progress-circular displays a circular progress bar. Use the value prop to control the progress.

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressCircular.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "color", + "Title": "颜色", + "Description": "

可以使用 Color 属性为 MProgressCircular 设置其他颜色。

\n", + "Code": "
\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n
\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressCircular.props.Color", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "indeterminate", + "Title": "不定线条", + "Description": "

使用 Indeterminate 属性,MProgressCircular 将会一直处于动画中。

\n", + "Code": "
\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n
\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressCircular.props.Indeterminate", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "rotate", + "Title": "旋转", + "Description": "

Rotate 参数使您能够自定义 MProgressCircular 的原点。

\n", + "Code": "@using System.Timers;\r\n@using Timer = System.Timers.Timer;\r\n\r\n
\r\n\t@_value\r\n\t@_value\r\n\t@_value\r\n\t@_value\r\n
\r\n\r\n@code\r\n{\r\n private StringNumber _value = 0;\r\n protected Timer Timer { get; set; }\r\n protected override void OnInitialized()\r\n {\r\n if (Timer == null)\r\n {\r\n Timer = new Timer\r\n {\r\n Interval = 1000\r\n };\r\n Timer.Elapsed += Timer_Elapsed;\r\n Timer.Start();\r\n }\r\n }\r\n \r\n private async void Timer_Elapsed(object sender, ElapsedEventArgs e)\r\n {\r\n await InvokeAsync(() =>\r\n {\r\n var value = _value.ToInt32();\r\n if (value >= 100)\r\n {\r\n Timer.Stop();\r\n _value = 0;\r\n Timer.Start();\r\n }\r\n else\r\n {\r\n _value = value + 10;\r\n }\r\n \r\n StateHasChanged();\r\n });\r\n }\r\n}\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressCircular.props.Rotate", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "sizeorwidth", + "Title": "大小和宽度", + "Description": "

SizeWidth 属性允许您轻松修改 MProgressCircular 组件的大小和宽度。

\n", + "Code": "
\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n
\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressCircular.props.SizeOrWidth", + "Style": "", + "Debug": false, + "Group": 0 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/cards", + "/components/progress-linear", + "/components/lists" + ], + "Subtitle": "进度环", + "Title": "Progress circular", + "Type": "进度环" + }, + { + "Desc": "

该组件用于将数据环传递给用户。 也可以将其置于不确定状态来描述加载。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.6602416+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

最简单的形式, MProgressLinear 显示一个水平进度条。使用 Value 属性来控制进度。

\n", + "Code": "\r\n\t\r\n\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressLinear.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "BufferValue", + "Title": "缓冲值", + "Description": "

缓冲状态同时表示两个值。 主值由 @bind-Value 控制,而缓冲值则由 BufferValue 属性控制。

\n", + "Code": "@using System.Timers;\r\n@using Timer = System.Timers.Timer;\r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n@code\r\n{\r\n private double _value = 10;\r\n private double _bufferValue = 20;\r\n protected Timer Timer { get; set; }\r\n protected override void OnInitialized()\r\n {\r\n if (Timer == null)\r\n {\r\n Timer = new Timer\r\n {\r\n Interval = 2000\r\n };\r\n Timer.Elapsed += Timer_Elapsed;\r\n Timer.Start();\r\n }\r\n }\r\n\r\n private async void Timer_Elapsed(object sender, ElapsedEventArgs e)\r\n {\r\n await InvokeAsync(() =>\r\n {\r\n if (_bufferValue >= 100)\r\n {\r\n Timer.Stop();\r\n _value = 0;\r\n _bufferValue = 10;\r\n Timer.Start();\r\n }\r\n else\r\n {\r\n _value += new Random().NextDouble() * (15 - 5) + 5;\r\n _bufferValue += new Random().NextDouble() * (15 - 5) + 6;\r\n }\r\n\r\n StateHasChanged();\r\n });\r\n }\r\n}", + "Type": "Demos.Components.Progress.children.ProgressLinear.props.BufferValue", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "color", + "Title": "颜色", + "Description": "

您可以使用 ColorBackgroundColor 属性设置颜色。

\n", + "Code": "\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressLinear.props.Color", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "indeterminate", + "Title": "不定线条", + "Description": "

使用 Indeterminate 属性,MProgressLinear 会保持动画状态。

\n", + "Code": "\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressLinear.props.Indeterminate", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 8, + "Name": "query", + "Title": "查询", + "Description": "

Query 设置为 true 时,Query 属性值由不确定的真实性控制。

\n", + "Code": "@using System.Timers;\r\n@using Timer = System.Timers.Timer;\r\n\r\n\r\n \r\n\r\n\r\n@code {\r\n private bool _query;\r\n private bool _show = true;\r\n private double _value = 0;\r\n protected Timer Timer { get; set; }\r\n\r\n protected override void OnInitialized()\r\n {\r\n if (Timer == null)\r\n {\r\n Timer = new Timer\r\n {\r\n Interval = 1000\r\n };\r\n Timer.Elapsed += Timer_Elapsed;\r\n }\r\n QueryAndIndeterminate();\r\n }\r\n\r\n private async void Timer_Elapsed(object sender, ElapsedEventArgs e)\r\n {\r\n await InvokeAsync(() =>\r\n {\r\n if (_value == 100)\r\n {\r\n Timer.Stop();\r\n\r\n _show = false;\r\n StateHasChanged();\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(2000);\r\n QueryAndIndeterminate();\r\n });\r\n }\r\n else\r\n {\r\n _value += 25;\r\n\r\n StateHasChanged();\r\n }\r\n });\r\n }\r\n\r\n private void QueryAndIndeterminate()\r\n {\r\n _query = true;\r\n _show = true;\r\n _value = 0;\r\n\r\n InvokeAsync(StateHasChanged);\r\n\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(2500);\r\n\r\n _query = false;\r\n await InvokeAsync(StateHasChanged);\r\n Timer.Start();\r\n\r\n });\r\n }\r\n}\r\n\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressLinear.props.Query", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "reversed", + "Title": "反转", + "Description": "

使用 Reverse 属性显示反转的进度条(LTR模式为从右到左,RTL模式为从左到右)。

\n", + "Code": "\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n
\r\nIn specific cases you may want progress to display in left-to-right mode regardless of the application direction (LTR or RTL):\r\n\r\n \r\n\r\n\r\n@code {\r\n private bool _rtl = false;\r\n}\r\n", + "Type": "Demos.Components.Progress.children.ProgressLinear.props.Reversed", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 5, + "Name": "rounded", + "Title": "Rounded(圆角)", + "Description": "

Rounded 属性是另一种样式,它为 MProgressLinear 组件添加了圆角。

\n", + "Code": "\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressLinear.props.Rounded", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 6, + "Name": "stream", + "Title": "流", + "Description": "

Stream 属性可以使用 BufferValue 向用户表示正在进行一些操作。 您可以使用 BufferValueValue 的任何组合来实现您的设计。

\n", + "Code": "\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressLinear.props.Stream", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 7, + "Name": "striped", + "Title": "有条纹的", + "Description": "

使用 Striped 属性对 MProgressLinear 的值部分应用条纹背景。

\n", + "Code": "\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressLinear.props.Striped", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 9, + "Name": "default", + "Title": "默认值", + "Description": "

MProgressLinear 组件将在使用 @bind-Value 时响应用户输入。 您可以使用默认插槽或绑定本地model在进度内显示。 如果您在寻找线性组件上的高级功能,请查看 MSlider

\n", + "Code": "\r\n \r\n\r\n\r\n \r\n @($\"{context}%\")\r\n \r\n\r\n\r\n \r\n @($\"{context}%\")\r\n \r\n\r\n\r\n@code {\r\n private double _skill = 20;\r\n private double _knowledge = 33;\r\n private double _power = 78;\r\n\r\n private void SkillChanged(double value)\r\n {\r\n _skill = value;\r\n }\r\n\r\n private void KnowledgeChanged(double value)\r\n {\r\n _knowledge = value;\r\n }\r\n\r\n private void PowerChanged(double value)\r\n {\r\n _power = value;\r\n }\r\n}\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressLinear.contents.Default", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 10, + "Name": "determinate", + "Title": "定值线条", + "Description": "

进度条组件有一个由 @bind-Value 修改的确定状态。

\n", + "Code": "\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\r\n@code{\r\n\tprivate double _valueDeterminate = 50;\r\n\r\n\tprivate void HandleOnChange(double value)\r\n\t{\r\n\t\t_valueDeterminate = value;\r\n\t}\r\n}\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressLinear.misc.Determinate", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 11, + "Name": "fileLoader", + "Title": "文件加载器", + "Description": "

MProgressLinear 组件有助于向用户解释他们正在等待响应。

\n", + "Code": "\r\n \r\n \r\n\r\n \r\n\r\n My Files\r\n\r\n \r\n mdi-plus\r\n \r\n\r\n \r\n\r\n \r\n mdi-share-variant\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n \r\n Getting your files\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressLinear.misc.FileLoader", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 12, + "Name": "toolbarLoader", + "Title": "工具栏加载器", + "Description": "

使用 Absolute 属性,我们可以将 MProgressLinear 组件定位在 MToolbar 的底部。 我们还使用了 Active 属性来控制进度条的可见性。

\n", + "Code": "\r\n \r\n \r\n \r\n mdi-square\r\n mdi-circle\r\n mdi-triangle\r\n \r\n\r\n \r\n \r\n mdi-arrow-left\r\n \r\n\r\n My Recipes\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tLoading(true)\">\r\n Start loading\r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private bool _loading = false;\r\n\r\n private void Loading(bool val)\r\n {\r\n if (!val) return;\r\n\r\n _loading = true;\r\n\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(3000);\r\n _loading = false;\r\n\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n}\r\n\r\n", + "Type": "Demos.Components.Progress.children.ProgressLinear.misc.ToolbarLoader", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/cards", + "/components/progress-circular", + "/components/lists" + ], + "Subtitle": "进度条", + "Title": "Progress linear", + "Type": "进度条" + }, + { + "Desc": "

评级组件是构建用户小部件的一个特殊但至关重要的部分。 通过评级收集用户反馈是一种简单的分析工具,可以为您的产品或应用程序提供大量反馈。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.664242+08:00", + "DemoList": [ + { + "Order": 1, + "Name": "color", + "Title": "颜色", + "Description": "

MRating 组件可以根据您的需要进行着色,您可以设置选定和未选定的颜色。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n private double _rating = 4;\r\n}", + "Type": "Demos.Components.Rating.props.Color", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 5, + "Name": "iconLabel", + "Title": "图标标签", + "Description": "

为图标的提供标签。

\n", + "Code": "
\r\n \r\n
\r\n\r\n@code\r\n{\r\n private double _rating = 4;\r\n}", + "Type": "Demos.Components.Rating.props.IconLabel", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "incremented", + "Title": "增量", + "Description": "

MRating 有3个定义的图标,全图标、半图标和空图标。

\n", + "Code": "\r\n \r\n Rate Our Framework\r\n \r\n \r\n If you enjoy using Vuetify, please take a few seconds to rate your experience with the framework. It really helps!\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n No Thanks\r\n \r\n \r\n Rate Now\r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n private double _rating = 4.5;\r\n}", + "Type": "Demos.Components.Rating.props.Incremented", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "length", + "Title": "长度", + "Description": "

可以使用 MSilder 组件轻松更改 MRating 组件的长度。

\n", + "Code": "
\r\n \r\n \r\n
\r\n model:\r\n @_rating\r\n
\r\n
\r\n\r\n@code {\r\n private double _rating = 2;\r\n private double _length = 5;\r\n}", + "Type": "Demos.Components.Rating.props.Length", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "size", + "Title": "尺寸", + "Description": "

使用 MButton 中提供的相同尺寸等级,或提供您自己的Size属性。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n private double _rating = 4;\r\n}", + "Type": "Demos.Components.Rating.props.Size", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 6, + "Name": "itemContent", + "Title": "ItemContent", + "Description": "

提供插槽是为了让您在显示评级的方式上有更多的自由。

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n @(props.IsFilled ? \"mdi-star-circle\" : \"mdi-star-circle-outline\")\r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n private static double _rating = 4.5;\r\n private string[] _colors = new string[5] { \"green\", \"purple\", \"orange\", \"indigo\", \"red\" };\r\n private List _items = new List\r\n {\r\n new RatingItem { Index = 1, IsFilled = true, IsHovered = true, Value = 1, Click = x => _rating = 2},\r\n new RatingItem { Index = 2, IsFilled = true, IsHovered = true, Value = 2, Click = x => _rating = 3},\r\n new RatingItem { Index = 3, IsFilled = true, IsHovered = true, Value = 3, Click = x => _rating = 4},\r\n new RatingItem { Index = 4, IsFilled = true, IsHovered = true, Value = 4, Click = x => _rating = 5},\r\n new RatingItem { Index = 5, IsFilled = true, IsHovered = true, Value = 5, Click = x => _rating = 6}\r\n };\r\n\r\n private string GenColor(int index)\r\n {\r\n return _colors[index];\r\n }\r\n}", + "Type": "Demos.Components.Rating.contents.ItemContent", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 7, + "Name": "advanced", + "Title": "高级用法", + "Description": "

MRating 组件可与现有组件相匹配。 用丰富的功能和漂亮的设计构建复杂的例子。

\n", + "Code": "@using BlazorComponent.Web;\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n FORTNITE\r\n
\r\n Video game\r\n
\r\n
\r\n \r\n \r\n \r\n mdi-share-variant\r\n \r\n \r\n \r\n \r\n Share\r\n \r\n _dialog = false\">\r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n mdi-facebook\r\n \r\n Facebook\r\n \r\n \r\n \r\n mdi-twitter\r\n \r\n Twitter\r\n \r\n \r\n \r\n mdi-email\r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n 16,544 reviews\r\n \r\n \r\n \r\n \r\n \r\n @($\"mdi-numeric-{props.Index}-box\")\r\n \r\n \r\n \r\n \r\n
\r\n Portions of the materials used are trademarks and/or copyrighted works of Epic Games, Inc. All rights reserved by Epic. This material is not official and is not endorsed by Epic.\r\n
\r\n
\r\n\r\n@code\r\n{\r\n [Inject]\r\n public Document Document { get; set; }\r\n\r\n private bool _copied = false;\r\n private bool _dialog = false;\r\n private double _rating = 10;\r\n private MTextField _ref;\r\n\r\n private List _items = new List\r\n {\r\n new RatingItem {Index = 1, IsFilled = true},\r\n new RatingItem {Index = 2, IsFilled = true},\r\n new RatingItem {Index = 3, IsFilled = true},\r\n new RatingItem {Index = 4, IsFilled = true},\r\n new RatingItem {Index = 5, IsFilled = true},\r\n new RatingItem {Index = 6, IsFilled = true},\r\n new RatingItem {Index = 7, IsFilled = true},\r\n new RatingItem {Index = 8, IsFilled = true},\r\n new RatingItem {Index = 9, IsFilled = true},\r\n new RatingItem {Index = 10, IsFilled = true}\r\n };\r\n\r\n private async Task Copy(FocusEventArgs args)\r\n {\r\n await Document.ExecCommandAsync(\"selectAll\", false, null);\r\n _copied = await Document.ExecCommandAsync(\"copy\", false, null);\r\n }\r\n}", + "Type": "Demos.Components.Rating.misc.Advanced", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 7, + "Name": "card", + "Title": "卡片评级", + "Description": "

MRating 组件与产品搭配良好,使你能够收集和显示客户反馈。

\n", + "Code": "\r\n \r\n \r\n \r\n
\r\n
Halycon Days
\r\n
Ellie Goulding
\r\n
(2013)
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Rate this album\r\n \r\n (@_rating)\r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n private double _rating = 4.3;\r\n}", + "Type": "Demos.Components.Rating.misc.Card", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/cards", + "/components/icons", + "/components/lists" + ], + "Subtitle": "评级", + "Title": "Ratings", + "Type": "评级" + }, + { + "Desc": "

MSheet 组件是许多组件的基础,如 MCard, MToolbar等等。 可用属性是Material Design的基础 - 纸和立面(阴影)的概念。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.6672411+08:00", + "DemoList": [ + { + "Order": 2, + "Name": "color", + "Title": "颜色", + "Description": "

纸张和基于它们的部件可以有不同的尺寸和颜色。

\n

MSheet 组件接受自定义Material Design Color值,例如 warningamber darken-3\n和 deep-purple accent,以及 rgbrgba十六进制值。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n #1: (3r x 2c)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n #2: (1r x 1c)\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n #3: (1r x 1c)\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n #5: (2r x 2c)\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n #4: (2r x 1c)\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n #6: (2r x 1c)\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n", + "Type": "Demos.Components.Sheet.props.Color", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "elevation", + "Title": "高度(z轴)", + "Description": "

MSheet 组件接受一个介于 0(默认值) 至 24 之间的自定义高度(z轴)。 elevation 属性修改 box-shadow 属性。 更多信息位于\nMD Elevation Design Specification

\n", + "Code": "\r\n \r\n @foreach (var elevation in _elevations)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n \r\n\r\n\r\n@code{\r\n private int[] _elevations = new int[]\r\n {\r\n 6,12,18\r\n };\r\n}\r\n\r\n\r\n", + "Type": "Demos.Components.Sheet.props.Elevation", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "rounded", + "Title": "圆角", + "Description": "

Rounded 增加了默认 4pxborder-radius。 默认情况下, MSheet 组件没有边框半径。 通过提供自定义的圆角值来定义半径的大小和位置;例如,圆角值 tr-xl l-pill 等于\nrounded-tr-xl rounded-l-pill。 关于圆角样式的其他信息在 Border Radius 页。

\n", + "Code": "\r\n \r\n @foreach (var rounded in _roundeds)\r\n {\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n@code{\r\n private StringBoolean[] _roundeds = new StringBoolean[]\r\n {\r\n false,true,\"xl\"\r\n };\r\n}\r\n\r\n\r\n", + "Type": "Demos.Components.Sheet.props.Rounded", + "Style": "", + "Debug": false, + "Group": 0 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Sheet.svg", + "Cols": 1, + "Related": [ + "/components/cards", + "/components/grid-system", + "/styles/elevation" + ], + "Subtitle": "工作表", + "Title": "Sheets", + "Type": "工作表" + }, + { + "Desc": "

MSkeletonLoader 组件是一个多功能工具,可以在一个项目中填充许多角色。 在其核心部分,该组件向用户提供了一个指示,指出某些东西即将出现但尚未可用。 有超过30个预先定义的选项,可以组合成定制的示例。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.6712414+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

MSkeletonLoader 组件为用户提供了一个内容即将到来/加载的视觉指示器。 这比传统的全屏加载器要好。

\n", + "Code": "\r\n \r\n \r\n", + "Type": "Demos.Components.SkeletonLoader.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "BoilerplateComponent", + "Title": "样板组件", + "Description": "

MSkeletonLoader可以在创建实体模型时用作样板设计。 混合和匹配各种预定义的选项或创建您自己独特的实现。 在此示例中,我们使用自定义 data 属性来将相同的属性一次应用到多个 MSkeletonLoader。

\n", + "Code": "\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n@code{\r\n Attrs _attrs = new Attrs\r\n {\r\n Class =\"mb-6\",\r\n Boilerplate=true,\r\n Elevation=2\r\n };\r\n\r\n class Attrs\r\n {\r\n public string Class { get; set; }\r\n\r\n public bool Boilerplate { get; set; } \r\n\r\n public StringNumber Elevation { get; set; } \r\n }\r\n}", + "Type": "Demos.Components.SkeletonLoader.misc.BoilerplateComponent", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/SkeletonLoader.svg", + "Cols": 1, + "Related": [ + "/components/cards", + "/components/progress-circular", + "/components/buttons" + ], + "Subtitle": "骨架装载器", + "Title": "Skeleton loaders", + "Type": "骨架装载器" + }, + { + "Desc": "

MSnackbar 组件用于向用户显示快速消息。 Snackbars 支持定位、移除延迟和回调。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.6742414+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

MSnackbar 以最简单的形式向用户显示一个临时且可关闭的通知。

\n", + "Code": "
\r\n \r\n Open Snackbar\r\n \r\n \r\n \r\n Hello, I'm a snackbar\r\n \r\n \r\n \r\n Close\r\n \r\n \r\n \r\n
\r\n\r\n@code{\r\n private bool _show;\r\n\r\n public void Show()\r\n {\r\n _show = true;\r\n }\r\n\r\n public void Close()\r\n {\r\n _show = false;\r\n }\r\n}\r\n", + "Type": "Demos.Components.Snackbar.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "multiLine", + "Title": "多行", + "Description": "

MultiLine 属性扩展了 MSnackbar 的高度,让您有更多的内容空间。

\n", + "Code": "
\r\n \r\n Open Snackbar\r\n \r\n\r\n \r\n \r\n Hello, I'm a snackbar\r\n \r\n \r\n _show = false\">\r\n Close\r\n \r\n \r\n \r\n
\r\n\r\n@code{\r\n private bool _show;\r\n\r\n public void Show()\r\n {\r\n _show = true;\r\n }\r\n}\r\n", + "Type": "Demos.Components.Snackbar.props.MultiLine", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "timeout", + "Title": "超时", + "Description": "

Timeout 属性允许您自定义 MSnackbar 隐藏之前的延迟。

\n", + "Code": "
\r\n _snackbar = true\">\r\n Open Snackbar\r\n \r\n\r\n \r\n \r\n My timeout is set to 2000.\r\n \r\n \r\n _snackbar = false\">\r\n Close\r\n \r\n \r\n \r\n
\r\n\r\n@code{\r\n private bool _snackbar;\r\n}\r\n", + "Type": "Demos.Components.Snackbar.props.Timeout", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "variants", + "Title": "变体", + "Description": "

使用 Text, Shaped, Outlined 等属性将不同样式应用于 MSnackbar

\n", + "Code": "\r\n \r\n Lorem ipsum dolor sit amet consectetur.\r\n \r\n\r\n \r\n Lorem ipsum dolor sit amet consectetur.\r\n \r\n\r\n \r\n Lorem ipsum dolor sit amet consectetur.\r\n \r\n\r\n \r\n Lorem ipsum dolor sit amet consectetur.\r\n \r\n\r\n \r\n Lorem ipsum dolor sit amet consectetur.\r\n \r\n\r\n\r\n", + "Type": "Demos.Components.Snackbar.props.Variants", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "vertical", + "Title": "垂直", + "Description": "

Vertical 属性允许您堆叠 MSnackbar 的内容。

\n", + "Code": "
\r\n _snackbar = true\">\r\n Open Snackbar\r\n \r\n\r\n \r\n \r\n Lorem ipsum dolor sit amet\r\n \r\n \r\n _snackbar = false\">\r\n Close\r\n \r\n \r\n \r\n
\r\n\r\n@code{\r\n private bool _snackbar;\r\n}\r\n", + "Type": "Demos.Components.Snackbar.props.Vertical", + "Style": "", + "Debug": false, + "Group": 0 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/buttons", + "/styles/colors", + "/components/forms" + ], + "Subtitle": "消息条", + "Title": "Snackbars", + "Type": "消息条" + }, + { + "Desc": "

MStepper 组件通过数字步骤显示进度。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.6882408+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

一个步骤组件适用于多种场景,包括购物车、创建记录等等。

\n", + "Code": "\r\n \r\n 1\">\r\n Name of step 1\r\n \r\n \r\n 2\">\r\n Name of step 2\r\n \r\n \r\n \r\n Name of step 3\r\n \r\n \r\n\r\n \r\n \r\n \r\n _step=2\">Continue\r\n Cancel\r\n \r\n \r\n \r\n _step=3\">Continue\r\n Cancel\r\n \r\n \r\n \r\n _step=1\">Continue\r\n Cancel\r\n \r\n \r\n\r\n\r\n@code {\r\n private int _step = 1;\r\n}", + "Type": "Demos.Components.Stepper.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "alternateLabel", + "Title": "备用标签", + "Description": "

步骤组件也有一个放置在步骤下方的备用标签样式。

\n", + "Code": "
\r\n \r\n \r\n \r\n Ad unit details\r\n \r\n\r\n \r\n\r\n \r\n Ad sizes\r\n \r\n\r\n \r\n\r\n \r\n Ad templates\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Ad unit details\r\n \r\n\r\n \r\n\r\n \r\n Ad sizes\r\n Optional\r\n \r\n\r\n \r\n\r\n \r\n Ad templates\r\n \r\n \r\n \r\n
\r\n\r\n", + "Type": "Demos.Components.Stepper.props.AlternateLabel", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "nonLinear", + "Title": "非线性的步骤条", + "Description": "

NonLinear 步骤可以让用户按照自己选择路线在流程中移动。

\n", + "Code": "
\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n
\r\n", + "Type": "Demos.Components.Stepper.props.NonLinear", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 3, + "Name": "vertical", + "Title": "垂直", + "Description": "

水平步骤线通过定义的步骤将用户沿Y轴移动。其他地方与水平方向的一致。

\n", + "Code": "\r\n 1\">\r\n Select an app\r\n Summarize if needed\r\n \r\n \r\n \r\n _step=2\">Continue\r\n Cancel\r\n \r\n 2\">\r\n Configure analytics for this app\r\n \r\n \r\n \r\n _step=3\">Continue\r\n Cancel\r\n \r\n 3\">\r\n Select an ad format and name ad unit\r\n \r\n \r\n \r\n _step=4\">Continue\r\n Cancel\r\n \r\n \r\n View setup instructions\r\n \r\n \r\n \r\n _step=1\">Continue\r\n Cancel\r\n \r\n\r\n\r\n@code {\r\n private int _step = 1;\r\n}", + "Type": "Demos.Components.Stepper.props.Vertical", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "alternativeLabelWithErrors", + "Title": "错误状态的备用标签", + "Description": "

错误状态同样可以应用于备用标签样式的显示。

\n", + "Code": "\r\n \r\n \r\n Ad type\r\n \r\n\r\n \r\n\r\n \r\n Ad style\r\n \r\n\r\n \r\n\r\n \r\n Custom channels\r\n Alert message\r\n \r\n\r\n \r\n\r\n \r\n Get code\r\n \r\n \r\n\r\n\r\n@code {\r\n List> rules = new() { Rule };\r\n \r\n private static bool Rule()\r\n {\r\n return false;\r\n }\r\n}\r\n", + "Type": "Demos.Components.Stepper.misc.AlternativeLabelWithErrors", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 5, + "Name": "dynamicSteps", + "Title": "动态步骤", + "Description": "

步骤条可以动态地添加或移除他们的步骤。 如果删除了一个当前激活的步骤,请务必通过更改应用model来说明这一点。

\n", + "Code": "
\r\n \r\n \r\n v\"\r\n ItemText=\"v=>v.ToString()\"\r\n Label=\"# of steps\">\r\n \r\n \r\n \r\n \r\n\r\n @for (var n = 1; n <= Steps; n++)\r\n {\r\n var i = n;\r\n i\"\r\n Step=\"i\"\r\n Editable>\r\n Step @i\r\n \r\n\r\n @if (i != Steps)\r\n {\r\n \r\n }\r\n }\r\n \r\n\r\n \r\n @for (var n = 1; n <= Steps; n++)\r\n {\r\n var i = n;\r\n \r\n \r\n \r\n\r\n NextStep(i)\">\r\n Continue\r\n \r\n\r\n \r\n Cancel\r\n \r\n \r\n }\r\n \r\n \r\n
\r\n\r\n@code {\r\n private List _items = new List { 2, 3, 4, 5, 6 };\r\n private int _el = 1;\r\n private int _steps = 2;\r\n protected int Steps\r\n {\r\n get\r\n {\r\n return _steps;\r\n }\r\n set\r\n {\r\n if (_el > value)\r\n {\r\n _el = value;\r\n }\r\n _steps = value;\r\n }\r\n }\r\n\r\n private void NextStep(int step)\r\n {\r\n if (step == Steps)\r\n {\r\n _el = 1;\r\n }\r\n else\r\n {\r\n _el = step + 1;\r\n }\r\n }\r\n}", + "Type": "Demos.Components.Stepper.misc.DynamicSteps", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 6, + "Name": "editableSteps", + "Title": "可编辑步骤", + "Description": "

用户随时可以选择可编辑的步骤并将跳转到该步。

\n", + "Code": "\r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n\r\n", + "Type": "Demos.Components.Stepper.misc.EditableSteps", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 7, + "Name": "errors", + "Title": "错误状态", + "Description": "

可以显示错误状态来通知用户必须采取的一些行动。

\n", + "Code": "\r\n \r\n \r\n Ad unit details\r\n \r\n\r\n \r\n\r\n \r\n Ad templates\r\n Alert message\r\n \r\n\r\n \r\n\r\n \r\n Ad sizes\r\n \r\n \r\n\r\n\r\n@code {\r\n List> rules = new() { Rule };\r\n\r\n private static bool Rule()\r\n {\r\n return false;\r\n }\r\n}", + "Type": "Demos.Components.Stepper.misc.Errors", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 8, + "Name": "horizontalSteps", + "Title": "水平步骤线", + "Description": "

水平步骤线通过定义的步骤将用户沿 x轴 移动。

\n", + "Code": "\r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n\r\n", + "Type": "Demos.Components.Stepper.misc.HorizontalSteps", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 9, + "Name": "linearSteppers", + "Title": "线性步骤", + "Description": "

线性步骤始终沿着你定义的路径移动。

\n", + "Code": "
\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n
\r\n", + "Type": "Demos.Components.Stepper.misc.LinearSteppers", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 10, + "Name": "nonEditableSteps", + "Title": "不可编辑步骤", + "Description": "

不可编辑步骤(Non-editable steps)强制用户在整个流程中进行线性处理。

\n", + "Code": "\r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n\r\n", + "Type": "Demos.Components.Stepper.misc.NonEditableSteps", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 11, + "Name": "optionalSteps", + "Title": "可选步骤", + "Description": "

可选步骤可由子文本调出。

\n", + "Code": "
\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n Optional\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n Optional\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n
\r\n", + "Type": "Demos.Components.Stepper.misc.OptionalSteps", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 12, + "Name": "verticalErrors", + "Title": "垂直错误", + "Description": "

同样的,错误状态也可以应用于垂直的步骤。

\n", + "Code": "\r\n \r\n Name of Step 1\r\n \r\n\r\n \r\n \r\n e13 = 2\">\r\n Continue\r\n \r\n \r\n Cancel\r\n \r\n \r\n\r\n \r\n Name of Step 2\r\n \r\n\r\n \r\n \r\n e13 = 3\">\r\n Continue\r\n \r\n \r\n Cancel\r\n \r\n \r\n\r\n \r\n Ad templates\r\n Alert message\r\n \r\n\r\n \r\n \r\n e13 = 4\">\r\n Continue\r\n \r\n \r\n Cancel\r\n \r\n \r\n\r\n \r\n View setup instructions\r\n \r\n\r\n \r\n \r\n e13 = 1\">\r\n Continue\r\n \r\n \r\n Cancel\r\n \r\n \r\n\r\n\r\n@code {\r\n private int e13 = 2;\r\n List> rules = new List>() { Rule };\r\n private static bool Rule()\r\n {\r\n return false;\r\n }\r\n}", + "Type": "Demos.Components.Stepper.misc.VerticalErrors", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Stepper.svg", + "Cols": 1, + "Related": [ + "/components/tabs", + "/components/buttons", + "/components/windows" + ], + "Subtitle": "步骤条", + "Title": "Steppers", + "Type": "步骤条" + }, + { + "Desc": "

用于分隔列表的各个部分。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.6942419+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

最简单形式的副标题显示带有默认主题的副标题。

\n", + "Code": "Subheader", + "Type": "Demos.Components.Subheader.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "inset", + "Title": "嵌入", + "Description": "

Inset 的副标题向右移动72像素。 这使您可以选择将它们与列表项和插入分隔符对齐。

\n", + "Code": "\r\n \r\n \r\n Subheader\r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n if (item.Action != null)\r\n {\r\n \r\n \r\n @item.Action\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n else if (item.Divider)\r\n {\r\n \r\n }\r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n class Item\r\n {\r\n public string Action { get; set; }\r\n public string Title { get; set; }\r\n public bool Divider { get; set; }\r\n }\r\n\r\n private List _items = new List\r\n {\r\n new Item \r\n {\r\n Action= \"mdi-label\",\r\n Title= \"List item 1\",\r\n },\r\n new Item \r\n {\r\n Divider= true,\r\n },\r\n new Item \r\n {\r\n Action= \"mdi-label\",\r\n Title= \"List item 2\",\r\n },\r\n new Item \r\n {\r\n Divider= true,\r\n },\r\n new Item\r\n {\r\n Action= \"mdi-label\",\r\n Title= \"List item 3\",\r\n }\r\n };\r\n}", + "Type": "Demos.Components.Subheader.props.Inset", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "grid", + "Title": "栅格", + "Description": "

一个副标题可以添加到上下文中,对用户正在看的东西起到分类等作用。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n mdi-arrow-left\r\n \r\n\r\n Albums\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n May\r\n \r\n \r\n @for (var i = 1; i <= 6; i++)\r\n {\r\n var index = i + 20;\r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n June\r\n \r\n \r\n @for (var i = 1; i <= 6; i++)\r\n {\r\n var index = i + 5;\r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n \r\n \r\n", + "Type": "Demos.Components.Subheader.misc.Grid", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 1, + "Name": "menu", + "Title": "菜单", + "Description": "

使用副标题可以帮助分离不同类型的操作。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n\r\n Manage\r\n\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n if (!string.IsNullOrWhiteSpace(item.Action))\r\n {\r\n \r\n \r\n @item.Action\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n else if (item.Divider)\r\n {\r\n \r\n }\r\n else if (!string.IsNullOrWhiteSpace(item.Header))\r\n {\r\n @item.Header\r\n }\r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private class DataDemo\r\n {\r\n public string Action { get; set; }\r\n public string Title { get; set; }\r\n public bool Divider { get; set; }\r\n public string Header { get; set; }\r\n }\r\n\r\n private List _items = new List()\r\n {\r\n new DataDemo { Action = \"mdi-inbox-arrow-down\", Title = \"Inbox\" },\r\n new DataDemo { Action = \"mdi-send\", Title = \"Sent\" },\r\n new DataDemo { Action = \"mdi-delete\", Title = \"Trash\" },\r\n new DataDemo { Action = \"mdi-alert-octagon\", Title = \"Spam\" },\r\n new DataDemo { Divider = true },\r\n new DataDemo { Header = \"Labels\" },\r\n new DataDemo { Action = \"mdi-label\", Title = \"Family\" },\r\n new DataDemo { Action = \"mdi-label\", Title = \"Friends\" },\r\n new DataDemo { Action = \"mdi-label\", Title = \"Work\" }\r\n };\r\n}", + "Type": "Demos.Components.Subheader.misc.Menu", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 2, + "Name": "socialMedia", + "Title": "社交媒体", + "Description": "

在社交媒体互动中使用子标题。

\n", + "Code": "\r\n \r\n \r\n\r\n Application\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n @foreach (var type in types)\r\n {\r\n \r\n @type\r\n\r\n \r\n \r\n @foreach (var card in cards)\r\n {\r\n \r\n \r\n \r\n @card\r\n \r\n\r\n \r\n @foreach (var social in socials)\r\n {\r\n \r\n @social.Icon\r\n \r\n }\r\n \r\n \r\n \r\n }\r\n \r\n \r\n }\r\n\r\n\r\n@code\r\n{\r\n string[] cards = new string[3] {\"Good\", \"Best\", \"Finest\"};\r\n \r\n List socials = new List\r\n {\r\n new Social {Icon = \"mdi-facebook\", Color = \"indigo\"},\r\n new Social {Icon = \"mdi-linkedin\", Color = \"cyan darken-1\"},\r\n new Social {Icon = \"mdi-instagram\", Color = \"red lighten-3\"}\r\n };\r\n \r\n string[] types = new string[2] {\"Places to Be\", \"Places to See\"};\r\n\r\n double GetImage()\r\n {\r\n var min = 550;\r\n var max = 560;\r\n var random = new Random();\r\n var num = random.Next(1, 100) * 0.01;\r\n\r\n return Math.Floor(num * (max - min + 1)) + min;\r\n }\r\n \r\n public class Social\r\n {\r\n public string Icon { get; set; }\r\n public string Color { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.Subheader.misc.SocialMedia", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/cards", + "/components/grid-system", + "/components/lists" + ], + "Subtitle": "副标题", + "Title": "Subheaders", + "Type": "副标题" + }, + { + "Desc": "

MDataIterator 组件用于显示数据,并且与 MDataTable 组件共享其大部分功能。 功能包括排序、搜索、分页和选择。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.696243+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "default", + "Title": "默认插槽", + "Description": "

MDataIterator 的内部具有选择和扩展状态,就像 MDataTable 一样。 在这个示例中,我们在默认插槽上使用使用 isExpandedexpand

\n", + "Code": "\r\n \r\n r.Name\"\r\n ItemsPerPage=\"4\"\r\n SingleExpand=\"_singleExpand\"\r\n HideDefaultFooter>\r\n \r\n \r\n @foreach (var item in props.Items)\r\n {\r\n var expanded = props.IsExpanded(item);\r\n var expand = delegate (bool v) { props.Expand(item, v); };\r\n \r\n \r\n \r\n

@item.Name

\r\n
\r\n \r\n \r\n @if (expanded)\r\n {\r\n \r\n \r\n Calories:\r\n \r\n @item.Calories\r\n \r\n \r\n \r\n Fat:\r\n \r\n @item.Fat\r\n \r\n \r\n \r\n Carbs:\r\n \r\n @item.Carbs\r\n \r\n \r\n \r\n Protein:\r\n \r\n @item.Protein\r\n \r\n \r\n \r\n Sodium:\r\n \r\n @item.Sodium\r\n \r\n \r\n \r\n Calcium:\r\n \r\n @item.Calcium\r\n \r\n \r\n \r\n Iron:\r\n \r\n @item.Iron\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private bool _singleExpand;\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Sodium= 87,\r\n Calcium= \"14%\",\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Sodium= 129,\r\n Calcium= \"8%\",\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Sodium= 337,\r\n Calcium= \"6%\",\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Sodium= 413,\r\n Calcium= \"3%\",\r\n Iron= \"8%\",\r\n },\r\n };\r\n }", + "Type": "Demos.Components.Tables.children.DataIterator.props.Default", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "headerAndFooter", + "Title": "页眉和页脚", + "Description": "

MDataIterator 有用于添加额外内容的 HeaderContentFooterContent 插槽。

\n", + "Code": "\r\n \r\n \r\n \r\n This is a header\r\n \r\n \r\n \r\n \r\n @foreach (var item in _desserts)\r\n {\r\n \r\n \r\n \r\n @item.Name\r\n \r\n\r\n \r\n\r\n \r\n \r\n Calories:\r\n \r\n @item.Calories\r\n \r\n \r\n\r\n \r\n Fat:\r\n \r\n @item.Fat\r\n \r\n \r\n\r\n \r\n Carbs:\r\n \r\n @item.Carbs\r\n \r\n \r\n\r\n \r\n Protein:\r\n \r\n @item.Protein\r\n \r\n \r\n\r\n \r\n Sodium:\r\n \r\n @item.Sodium\r\n \r\n \r\n\r\n \r\n Calcium:\r\n \r\n @item.Calcium\r\n \r\n \r\n\r\n \r\n Iron:\r\n \r\n @item.Iron\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n This is a footer\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private int _itemsPerPage = 4;\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Sodium= 87,\r\n Calcium= \"14%\",\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Sodium= 129,\r\n Calcium= \"8%\",\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Sodium= 337,\r\n Calcium= \"6%\",\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Sodium= 413,\r\n Calcium= \"3%\",\r\n Iron= \"8%\",\r\n },\r\n };\r\n }", + "Type": "Demos.Components.Tables.children.DataIterator.props.HeaderAndFooter", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "filter", + "Title": "过滤器", + "Description": "

排序,过滤和分页可以从外部使用单独的属性进行控制。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n r.Name\"\r\n ItemText=\"r=>r.Name\"\r\n PrependInnerIcon=\"mdi-magnify\"\r\n Label=\"Sort by\">\r\n \r\n \r\n \r\n mdi-arrow-up\r\n \r\n \r\n mdi-arrow-down\r\n \r\n \r\n \r\n \r\n \r\n \r\n @foreach (var item in props.Items)\r\n {\r\n \r\n \r\n \r\n @item.Name\r\n \r\n\r\n \r\n\r\n \r\n @for (var i = 0; i < FilteredKeys.Count; i++)\r\n {\r\n var key = FilteredKeys[i];\r\n var blue = key == _sortBy;\r\n var value = key.Invoke(item);\r\n \r\n \r\n @key:\r\n \r\n \r\n @value\r\n \r\n \r\n }\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n Items per page\r\n \r\n \r\n \r\n @_itemsPerPage\r\n mdi-chevron-down\r\n \r\n \r\n \r\n \r\n @for (var i = 0; i < _itemsPerPageArray.Count; i++)\r\n {\r\n var index = i;\r\n var number = _itemsPerPageArray[i];\r\n UpdateItemsPerPage(number)\">\r\n @number\r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n Page @_page of @_numberOfPages\r\n \r\n \r\n mdi-chevron-left\r\n \r\n \r\n mdi-chevron-right\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List _itemsPerPageArray = new List\r\n {\r\n 4,8,12\r\n };\r\n private StringNumber _sortDescStr = \"false\";\r\n private string _sortBy;\r\n private List _sortDesc => new List\r\n {\r\n Convert.ToBoolean(_sortDescStr.Value)\r\n };\r\n private string _search;\r\n private int _itemsPerPage = 4;\r\n private int _page = 1;\r\n private List> _keys => new List>()\r\n {\r\n nameof(Dessert.Name),\r\n nameof(Dessert.Calories),\r\n nameof(Dessert.Fat),\r\n nameof(Dessert.Carbs),\r\n nameof(Dessert.Protein),\r\n nameof(Dessert.Sodium),\r\n nameof(Dessert.Calcium),\r\n nameof(Dessert.Iron)\r\n };\r\n private int _numberOfPages => Convert.ToInt32(Math.Ceiling(_desserts.Count / (_itemsPerPage * 1.0)));\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Sodium= 87,\r\n Calcium= \"14%\",\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Sodium= 129,\r\n Calcium= \"8%\",\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Sodium= 337,\r\n Calcium= \"6%\",\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Sodium= 413,\r\n Calcium= \"3%\",\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Sodium= 327,\r\n Calcium= \"7%\",\r\n Iron= \"16%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Sodium= 50,\r\n Calcium= \"0%\",\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Sodium= 38,\r\n Calcium= \"0%\",\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Sodium= 562,\r\n Calcium= \"0%\",\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Sodium= 326,\r\n Calcium= \"2%\",\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Sodium= 54,\r\n Calcium= \"12%\",\r\n Iron= \"6%\",\r\n }\r\n\r\n };\r\n\r\n public List> FilteredKeys => _keys\r\n .Where(r => r != nameof(Dessert.Name))\r\n .ToList();\r\n\r\n public void UpdateItemsPerPage(int number)\r\n {\r\n _itemsPerPage = number;\r\n }\r\n\r\n public void NextPage()\r\n {\r\n if (_page + 1 <= _numberOfPages) _page += 1;\r\n }\r\n\r\n public void FormerPage()\r\n {\r\n if (_page - 1 >= 1) _page -= 1;\r\n }\r\n }", + "Type": "Demos.Components.Tables.children.DataIterator.misc.Filter", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/DataIterators.svg", + "Cols": 1, + "Related": [ + "/components/data-tables", + "/components/simple-tables", + "/components/toolbars" + ], + "Subtitle": "数据迭代器", + "Title": "Data iterators", + "Type": "数据迭代器" + }, + { + "Desc": "

MDataTable 组件用于显示表格数据。 功能包括排序,搜索,分页,内容编辑和行选择。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.7142401+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

标准数据表格默认会将数据呈现为简单的行。

\n", + "Code": "\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron) }\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }", + "Type": "Demos.Components.Tables.children.DataTable.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "customFilter", + "Title": "自定义过滤器", + "Description": "

你可以向 CustomFilter 属性提供一个函数,覆盖 Search 属性的默认过滤。 如果你需要自定义特定列的过滤,你可以给表头数据项的 Filter 属性提供一个函数。\n类型是Func<object, string, TItem, bool>。 即使没有提供 Search 属性,这个函数也会一直运作。 因此,你需要确保在不应用过滤器的情况下,函数会返回 true。

\n", + "Code": "
\r\n r.Name\"\r\n Class=\"elevation-1\"\r\n Search=\"@_search\"\r\n CustomItemFilter=\"FilterOnlyCapsText\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private string _search;\r\n private string _calories;\r\n\r\n public List> Headers => new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new ()\r\n {\r\n Text= \"Calories\",\r\n Value= nameof(Dessert.Calories),\r\n Filter = (value, search, item) =>\r\n {\r\n if (string.IsNullOrEmpty(_calories))\r\n {\r\n return true;\r\n }\r\n\r\n return item.Calories _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n\r\n public bool FilterOnlyCapsText(object value, string search, Dessert item)\r\n {\r\n return value != null && search != null && value is string\r\n && value.ToString().ToUpperInvariant().IndexOf(search) != -1;\r\n }\r\n }", + "Type": "Demos.Components.Tables.children.DataTable.props.CustomFilter", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "dense", + "Title": "紧凑", + "Description": "

使用 Dense 属性,可以让数据表格表现为另一种样式。

\n", + "Code": "r.Name\"\r\n Class=\"elevation-1\">\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }", + "Type": "Demos.Components.Tables.children.DataTable.props.Dense", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "filterable", + "Title": "可过滤", + "Description": "

在搜索表格内容时,你可以设置表头数据项的 Filterable 属性为 false,禁止对应列的内容被包含在搜索结果内。 下面的示例中,不会被搜索到 Dessert 列的内容。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private string _search;\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Filterable = false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }", + "Type": "Demos.Components.Tables.children.DataTable.props.Filterable", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "fixed", + "Title": "固定列", + "Description": "

默认固定最后一列。

\n", + "Code": "r.Name\"\r\n Class=\"elevation-1\">\r\n \r\n @if (context.Header.Value == \"actions\")\r\n {\r\n EditItem(context.Item)\">mdi-pencil\r\n DeleteItem(context.Item)\">mdi-delete\r\n }\r\n else\r\n {\r\n @context.Value\r\n }\r\n \r\n\r\n\r\n \r\n \r\n @FormTitle\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n\r\n\r\n \r\n Are you sure you want to delete this item?\r\n \r\n \r\n Cancel\r\n OK\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Actions\", Value= \"actions\",Sortable=false,Width=\"100px\",Align=\"center\" }\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n private int _editedIndex;\r\n private bool _dialog;\r\n private bool _dialogDelete;\r\n private Dessert _editedItem = new Dessert\r\n {\r\n Name = \"\",\r\n Calories = 0,\r\n Fat = 0,\r\n Carbs = 0,\r\n Protein = 0,\r\n };\r\n public string FormTitle\r\n {\r\n get\r\n {\r\n return _editedIndex == -1 ? \"New Item\" : \"Edit Item\";\r\n }\r\n }\r\n\r\n public void Close()\r\n {\r\n _dialog = false;\r\n _editedItem = new Dessert();\r\n _editedIndex = -1;\r\n }\r\n\r\n public void Save()\r\n {\r\n if (_editedIndex > -1)\r\n {\r\n var item = _desserts[_editedIndex];\r\n item.Fat = _editedItem.Fat;\r\n item.Protein = _editedItem.Protein;\r\n item.Calories = _editedItem.Calories;\r\n item.Carbs = _editedItem.Carbs;\r\n item.Name = _editedItem.Name;\r\n }\r\n else\r\n {\r\n _desserts.Add(_editedItem);\r\n }\r\n Close();\r\n }\r\n\r\n public void EditItem(Dessert item)\r\n {\r\n _editedIndex = _desserts.IndexOf(item);\r\n _editedItem = new Dessert()\r\n {\r\n Calories = item.Calories,\r\n Carbs = item.Carbs,\r\n Fat = item.Fat,\r\n Name = item.Name,\r\n Protein = item.Protein\r\n };\r\n _dialog = true;\r\n }\r\n\r\n public void DeleteItem(Dessert item)\r\n {\r\n _editedIndex = _desserts.IndexOf(item);\r\n _editedItem = new Dessert()\r\n {\r\n Calories = item.Calories,\r\n Carbs = item.Carbs,\r\n Fat = item.Fat,\r\n Name = item.Name,\r\n Protein = item.Protein\r\n };\r\n _dialogDelete = true;\r\n }\r\n\r\n public void DeleteItemConfirm()\r\n {\r\n _desserts.RemoveAt(_editedIndex);\r\n CloseDelete();\r\n }\r\n\r\n public void CloseDelete()\r\n {\r\n _dialogDelete = false;\r\n _editedItem = new();\r\n _editedIndex = -1;\r\n }\r\n }", + "Type": "Demos.Components.Tables.children.DataTable.props.Fixed", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "footer", + "Title": "表脚属性", + "Description": "

MDataTable 使用 MDataFooter 组件渲染一个默认的表脚。 你可以使用 FooterProps 将属性传递给这个组件。

\n", + "Code": "r.Name\"\r\n Class=\"elevation-1\"\r\n FooterProps=\"_footerProps\">\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public string Category { get; set; }\r\n }\r\n\r\n private Dictionary _footerProps = new Dictionary\r\n {\r\n {\"ShowFirstLastPage\", true},\r\n {\"FirstIcon\", \"mdi-arrow-collapse-left\" },\r\n {\"LastIcon\", \"mdi-arrow-collapse-right\" },\r\n {\"PrevIcon\", \"mdi-minus\" },\r\n {\"NextIcon\", \"mdi-plus\" }\r\n };\r\n\r\n private List> _headers = new()\r\n {\r\n new()\r\n {\r\n Text = \"Dessert (100g serving)\",\r\n Align = \"start\",\r\n Value = nameof(Dessert.Name)\r\n },\r\n new() { Text = \"Category\", Value = nameof(Dessert.Category) }\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Category= \"Ice cream\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Category= \"Ice cream\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Category= \"Cookie\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Category= \"Pastry\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Category= \"Cookie\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Category= \"Candy\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Category= \"Candy\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Category= \"Toffee\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Category= \"Pastry\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Category= \"Candy\"\r\n }\r\n };\r\n}", + "Type": "Demos.Components.Tables.children.DataTable.props.Footer", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "group", + "Title": "分组", + "Description": "

你可以使用 GroupByGroupDesc 属性分组。 ShowGroupBy 属性将在默认表头中显示分组按钮。 你可以设置表头数据项的 Groupable 属性为 false ,禁用对应属性的分组。

\n", + "Code": "r.Name\"\r\n SortBy=\"nameof(Dessert.Name)\"\r\n GroupBy=\"nameof(Dessert.Category)\"\r\n Class=\"elevation-1\"\r\n ShowGroupBy>\r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public string Category { get; set; }\r\n\r\n public string Dairy { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Value= nameof(Dessert.Name),\r\n Groupable=false\r\n },\r\n new (){ Text= \"Category\", Value= nameof(Dessert.Category),Align=\"right\"},\r\n new (){ Text= \"Dairy\", Value= nameof(Dessert.Dairy),Align=\"right\"}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Category=\"Ice cream\",\r\n Dairy=\"Yes\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Category=\"Ice cream\",\r\n Dairy=\"Yes\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Category=\"Cookie\",\r\n Dairy=\"Yes\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Category=\"Pastry\",\r\n Dairy=\"Yes\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Category=\"Cookie\",\r\n Dairy=\"No\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Category=\"Candy\",\r\n Dairy=\"No\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Category=\"Candy\",\r\n Dairy=\"No\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Category=\"Toffee\",\r\n Dairy=\"No\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Category=\"Pastry\",\r\n Dairy=\"Yes\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Category=\"Candy\",\r\n Dairy=\"Yes\"\r\n }\r\n };\r\n }", + "Type": "Demos.Components.Tables.children.DataTable.props.Group", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "hideDefaultHeaderAndFooter", + "Title": "隐藏默认表头和表脚", + "Description": "

你可以应用 HideDefaultHeaderHideDefaultFooter 属性,分别移除默认表头和表脚。

\n", + "Code": "\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }\r\n\r\n", + "Type": "Demos.Components.Tables.children.DataTable.props.HideDefaultHeaderAndFooter", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "loading", + "Title": "加载中", + "Description": "

你可以使用 Loading 属性来表示正在加载表格数据。 即使表格中没有数据,也会显示一条加载信息。 加载信息可以使用 LoadingText 属性或 LoadingContent 插槽来自定义。

\n", + "Code": "r.Name\"\r\n Class=\"elevation-1\"\r\n Loading=\"true\"\r\n LoadingText=\"Loading... Please wait\">\r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n public int Calories { get; set; }\r\n }\r\n}\r\n\r\n", + "Type": "Demos.Components.Tables.children.DataTable.props.Loading", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "multiSort", + "Title": "多列排序", + "Description": "

使用 MultiSort 属性可以根据多列同时排序。 启用后,你可以向 SortBySortDesc 传递数组以控制排序。

\n", + "Code": "\r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 200,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 200,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 300,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 300,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 400,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 400,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 400,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 400,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 500,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 500,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n\r\n public List _sortBy = new List\r\n {\r\n nameof(Dessert.Calories),\r\n nameof(Dessert.Fat)\r\n };\r\n\r\n public List _sortDesc = new List\r\n {\r\n false,\r\n true\r\n };\r\n }\r\n\r\n", + "Type": "Demos.Components.Tables.children.DataTable.props.MultiSort", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "rowSelection", + "Title": "行选择", + "Description": "

ShowSelect 属性将在默认表头中渲染一个复选框以切换所有行是否被选择,同时也为每个默认行渲染一个复选框。你还可以使用 SingleSelect 属性,指定能同时选择多行还是只能选择一行。

\n", + "Code": "r.Name\"\r\n ShowSelect\r\n Class=\"elevation-1\">\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n\r\n private bool _singleSelect;\r\n\r\n private IEnumerable _selected = new List();\r\n }\r\n\r\n", + "Type": "Demos.Components.Tables.children.DataTable.props.RowSelection", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "search", + "Title": "搜索", + "Description": "

数据表格还提供了 Search 属性以过滤数据。

\n", + "Code": "\r\n \r\n Nutrition\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private string _search;\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }\r\n\r\n", + "Type": "Demos.Components.Tables.children.DataTable.props.Search", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 4, + "Name": "stripe", + "Title": "斑马纹", + "Description": "

明暗相间的条纹。

\n", + "Code": "r.Name\"\r\n Class=\"elevation-1\">\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }", + "Type": "Demos.Components.Tables.children.DataTable.props.Stripe", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "header", + "Title": "表头", + "Description": "

你可以使用插槽 HeaderColContent 来自定义某些列。

\n", + "Code": "\r\n \r\n @if (header.Value == nameof(Dessert.Name))\r\n {\r\n @header.Text.ToUpperInvariant()\r\n }\r\n else\r\n {\r\n @header.Text\r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }\r\n", + "Type": "Demos.Components.Tables.children.DataTable.contents.Header", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 2, + "Name": "item", + "Title": "项目", + "Description": "

你可以使用动态插槽 ItemColContent 来自定义某些列。

\n", + "Code": "\r\n \r\n @if (context.Header.Value == nameof(Dessert.Calories))\r\n {\r\n \r\n @context.Item.Calories\r\n \r\n }\r\n else\r\n {\r\n @context.Value\r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n\r\n public string GetColor(int calories)\r\n {\r\n if (calories > 400)\r\n {\r\n return \"red\";\r\n }\r\n\r\n if (calories > 200)\r\n {\r\n return \"orange\";\r\n }\r\n\r\n return \"green\";\r\n }\r\n }\r\n", + "Type": "Demos.Components.Tables.children.DataTable.contents.Item", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 2, + "Name": "simpleCheckbox", + "Title": "简单复选框", + "Description": "

如果想要在数据表格的插槽模板中使用复选框,请使用 MSimpleCheckbox 组件,而不是 MCheckbox 组件。 MSimplleChecbox 组件被内部使用,跟随表头对齐方式。

\n", + "Code": "
\r\n \r\n \r\n @if (context.Header.Value == nameof(Dessert.Glutenfree))\r\n {\r\n \r\n }\r\n else\r\n {\r\n @context.Value\r\n }\r\n \r\n \r\n
\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public string Iron { get; set; }\r\n\r\n public bool Glutenfree { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)},\r\n new (){ Text=\"Gluten-Free\",Value=nameof(Dessert.Glutenfree)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }\r\n", + "Type": "Demos.Components.Tables.children.DataTable.contents.SimpleCheckbox", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 3, + "Name": "cRUDActions", + "Title": "CRUD操作", + "Description": "

带 CRUD 操作的 MDataTable 使用 MDialog 组件来编辑每行数据。

\n", + "Code": "\r\n \r\n \r\n My CRUD\r\n \r\n \r\n _dialog=true\">\r\n New Item\r\n \r\n \r\n \r\n \r\n @FormTitle\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n \r\n \r\n Are you sure you want to delete this item?\r\n \r\n \r\n Cancel\r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n @if (context.Header.Value == \"actions\")\r\n {\r\n EditItem(context.Item)\">mdi-pencil\r\n DeleteItem(context.Item)\">mdi-delete\r\n }\r\n else\r\n {\r\n @context.Value\r\n }\r\n \r\n \r\n \r\n Reset\r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Actions\", Value= \"actions\",Sortable=false }\r\n };\r\n\r\n private List _desserts;\r\n\r\n private bool _dialog;\r\n private bool _dialogDelete;\r\n private Dessert _editedItem = new Dessert\r\n {\r\n Name = \"\",\r\n Calories = 0,\r\n Fat = 0,\r\n Carbs = 0,\r\n Protein = 0,\r\n };\r\n private int _editedIndex;\r\n\r\n public string FormTitle\r\n {\r\n get\r\n {\r\n return _editedIndex == -1 ? \"New Item\" : \"Edit Item\";\r\n }\r\n }\r\n\r\n protected override void OnInitialized()\r\n {\r\n Initialize();\r\n }\r\n\r\n public void Initialize()\r\n {\r\n _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7\r\n }\r\n };\r\n }\r\n\r\n public void Close()\r\n {\r\n _dialog = false;\r\n _editedItem = new Dessert();\r\n _editedIndex = -1;\r\n }\r\n\r\n public void Save()\r\n {\r\n if (_editedIndex > -1)\r\n {\r\n var item = _desserts[_editedIndex];\r\n item.Fat = _editedItem.Fat;\r\n item.Protein = _editedItem.Protein;\r\n item.Calories = _editedItem.Calories;\r\n item.Carbs = _editedItem.Carbs;\r\n item.Name = _editedItem.Name;\r\n }\r\n else\r\n {\r\n _desserts.Add(_editedItem);\r\n }\r\n Close();\r\n }\r\n\r\n public void EditItem(Dessert item)\r\n {\r\n _editedIndex = _desserts.IndexOf(item);\r\n _editedItem = new Dessert()\r\n {\r\n Calories = item.Calories,\r\n Carbs = item.Carbs,\r\n Fat = item.Fat,\r\n Name = item.Name,\r\n Protein = item.Protein\r\n };\r\n _dialog = true;\r\n }\r\n\r\n public void DeleteItem(Dessert item)\r\n {\r\n _editedIndex = _desserts.IndexOf(item);\r\n _editedItem = new Dessert()\r\n {\r\n Calories = item.Calories,\r\n Carbs = item.Carbs,\r\n Fat = item.Fat,\r\n Name = item.Name,\r\n Protein = item.Protein\r\n };\r\n _dialogDelete = true;\r\n }\r\n\r\n public void DeleteItemConfirm()\r\n {\r\n _desserts.RemoveAt(_editedIndex);\r\n CloseDelete();\r\n }\r\n\r\n public void CloseDelete()\r\n {\r\n _dialogDelete = false;\r\n _editedItem = new();\r\n _editedIndex = -1;\r\n }\r\n }\r\n", + "Type": "Demos.Components.Tables.children.DataTable.misc.CRUDActions", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 3, + "Name": "editDialog", + "Title": "编辑用对话框", + "Description": "

MEditDialog 组件可用于直接在 MDataTable 中编辑数据。 如果点击 MEditDialog 外部时不想关闭对话框,可以添加 Persistent 属性。

\n", + "Code": "
\r\n Todo...\r\n
", + "Type": "Demos.Components.Tables.children.DataTable.misc.EditDialog", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 3, + "Name": "expandableRow", + "Title": "可展开行", + "Description": "

ShowExpand 属性会在每个默认行上渲染一个展开图标。 你可以使用 ItemDataTableExpandContent 插槽来自定义。 添加一列 Value="data-table-expand" 到 **\nHeaders**\n数组,就能自定义这个插槽的位置。 你还可以使用 SingleExpand 属性,指定能同时展开多行还是只能展开一行。 行需要唯一的Key才能进行展开,使用ItemKey进行指定。

\n", + "Code": "r.Name\"\r\n ShowExpand\r\n Class=\"elevation-1\">\r\n \r\n \r\n Expandable Table\r\n \r\n \r\n \r\n \r\n \r\n \r\n More info about @context.Item.Name\r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private bool _singleExpand;\r\n //private List _expanded;\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)},\r\n new (){ Text=\"\",Value=\"data-table-expand\"}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n}\r\n", + "Type": "Demos.Components.Tables.children.DataTable.misc.ExpandableRow", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 3, + "Name": "externalPagination", + "Title": "外部分页", + "Description": "

要在外部控制分页,可以使用单独的属性或使用 Options 属性。

\n", + "Code": "
\r\n _pageCount=val\"\r\n Class=\"elevation-1\">\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n\r\n private int _page = 1;\r\n private int _pageCount = 0;\r\n private int _itemsPerPage = 10;\r\n}\r\n", + "Type": "Demos.Components.Tables.children.DataTable.misc.ExternalPagination", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 3, + "Name": "externalSorting", + "Title": "外部排序", + "Description": "

要在外部控制排序,可以使用单独的属性或使用 Options 属性。

\n", + "Code": "
\r\n \r\n \r\n
\r\n \r\n Toggle sort order\r\n \r\n \r\n Sort next column\r\n \r\n
\r\n
\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n\r\n private string _sortBy = nameof(Dessert.Fat);\r\n private bool _sortDesc = false;\r\n\r\n public void HandleOnOptionsUpdate(DataOptions options)\r\n {\r\n _sortBy = options.SortBy.FirstOrDefault();\r\n _sortDesc = options.SortDesc.FirstOrDefault();\r\n }\r\n\r\n public void ToggleOrder()\r\n {\r\n _sortDesc = !_sortDesc;\r\n }\r\n\r\n public void NextSort()\r\n {\r\n var index = _headers.FindIndex(h => h.Value == _sortBy);\r\n index = (index + 1) % _headers.Count;\r\n _sortBy = _headers[index].Value;\r\n }\r\n}\r\n", + "Type": "Demos.Components.Tables.children.DataTable.misc.ExternalSorting", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 3, + "Name": "serverSidePaginateAndSort", + "Title": "服务器端分页和排序", + "Description": "

如果你正在从后端服务器加载已经分页和排序的数据,你可以使用 ServerItemsLength 属性。 使用这个属性会禁用内置的排序和分页,因此,你需要用特定事件(OnPageUpdate,**\nOnSortByUpdate**,OnOptionsUpdate 等)来得知什么时候要向后端服务器请求新页面。 获取数据时,使用 Loading 属性显示进度条。

\n", + "Code": "
\r\n \r\n \r\n
\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private int _totalDesserts = 0;\r\n private IEnumerable _desserts = new List();\r\n private bool _loading = true;\r\n private DataOptions _options=new DataOptions();\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n public void HandleOnOptionsUpdate(DataOptions options)\r\n {\r\n _options = options;\r\n GetDataFromApi();\r\n }\r\n\r\n protected override void OnInitialized()\r\n {\r\n GetDataFromApi();\r\n }\r\n\r\n public void GetDataFromApi()\r\n {\r\n _loading = true;\r\n FakeApiCallAsync().ContinueWith(task =>\r\n {\r\n var data = task.Result;\r\n _desserts = data.items;\r\n _totalDesserts = data.total;\r\n _loading = false;\r\n\r\n InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n\r\n public async Task<(IEnumerable items, int total)> FakeApiCallAsync()\r\n {\r\n var sortBy = _options.SortBy;\r\n var sortDesc = _options.SortDesc;\r\n var page = _options.Page;\r\n var itemsPerPage = _options.ItemsPerPage;\r\n\r\n var items = GetDesserts();\r\n var total = items.Count();\r\n\r\n if (sortBy.Count == 1 && sortDesc.Count == 1)\r\n {\r\n var header = _headers.Find(header => header.Value == sortBy[0]);\r\n var selector = header.ItemValue.Factory;\r\n\r\n if (!sortDesc[0])\r\n {\r\n items = items.OrderBy(selector);\r\n }\r\n else\r\n {\r\n items = items.OrderByDescending(selector);\r\n }\r\n }\r\n\r\n if (itemsPerPage > 0)\r\n {\r\n items = items.Skip((page - 1) * itemsPerPage).Take(page * itemsPerPage);\r\n }\r\n\r\n await Task.Delay(1000);\r\n return (items, total);\r\n }\r\n\r\n public IEnumerable GetDesserts()\r\n {\r\n return new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }\r\n}", + "Type": "Demos.Components.Tables.children.DataTable.misc.ServerSidePaginateAndSort", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/DataTable.svg", + "Cols": 1, + "Related": [ + "/components/data-iterators", + "/components/simple-tables", + "/components/lists" + ], + "Subtitle": "数据表格", + "Title": "Data tables", + "Type": "数据表格" + }, + { + "Desc": "

MSimpleTable组件是 table 元素的简单封装组件。 在组件中,你可以使用所有常规表元素,如 thead , tbody ,tr 等。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.7182404+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

简单表格组件是 <table> 元素的封装组件。

\n", + "Code": "\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n Calories\r\n \r\n \r\n \r\n \r\n @foreach (var item in _desserts)\r\n {\r\n \r\n @item.Name\r\n @item.Calories\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n }\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n },\r\n new Dessert{\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n },\r\n new Dessert {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n },\r\n new Dessert {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n },\r\n new Dessert {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n },\r\n new Dessert {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n },\r\n new Dessert {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n },\r\n new Dessert {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n },\r\n new Dessert {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n },\r\n new Dessert {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n },\r\n };\r\n}\r\n\r\n", + "Type": "Demos.Components.Tables.children.SimpleTables.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 0, + "Name": "dark", + "Title": "暗色主题", + "Description": "

使用 Dark 属性把表格切换到暗色主题。

\n", + "Code": "\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n Calories\r\n \r\n \r\n \r\n \r\n @foreach (var item in _desserts)\r\n {\r\n \r\n @item.Name\r\n @item.Calories\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n }\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n },\r\n new Dessert{\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n },\r\n new Dessert {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n },\r\n new Dessert {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n },\r\n new Dessert {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n },\r\n new Dessert {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n },\r\n new Dessert {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n },\r\n new Dessert {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n },\r\n new Dessert {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n },\r\n new Dessert {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n },\r\n };\r\n}\r\n\r\n", + "Type": "Demos.Components.Tables.children.SimpleTables.props.Dark", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "dense", + "Title": "紧凑", + "Description": "

你可以使用 Dense 属性来显示紧凑表格。

\n", + "Code": "\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n Calories\r\n \r\n \r\n \r\n \r\n @foreach (var item in _desserts)\r\n {\r\n \r\n @item.Name\r\n @item.Calories\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n }\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n },\r\n new Dessert{\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n },\r\n new Dessert {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n },\r\n new Dessert {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n },\r\n new Dessert {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n },\r\n new Dessert {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n },\r\n new Dessert {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n },\r\n new Dessert {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n },\r\n new Dessert {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n },\r\n new Dessert {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n },\r\n };\r\n}\r\n\r\n", + "Type": "Demos.Components.Tables.children.SimpleTables.props.Dense", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "fixedHeader", + "Title": "固定表头", + "Description": "

使用 FixedHeader 属性和 Height 属性,将表头固定在表格的顶部。

\n", + "Code": "\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n Calories\r\n \r\n \r\n \r\n \r\n @foreach (var item in _desserts)\r\n {\r\n \r\n @item.Name\r\n @item.Calories\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n }\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n },\r\n new Dessert{\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n },\r\n new Dessert {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n },\r\n new Dessert {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n },\r\n new Dessert {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n },\r\n new Dessert {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n },\r\n new Dessert {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n },\r\n new Dessert {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n },\r\n new Dessert {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n },\r\n new Dessert {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n },\r\n };\r\n}\r\n\r\n", + "Type": "Demos.Components.Tables.children.SimpleTables.props.FixedHeader", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "height", + "Title": "高度", + "Description": "

使用 Height 属性设置表格的高度。

\n", + "Code": "\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n Calories\r\n \r\n \r\n \r\n \r\n @foreach (var item in _desserts)\r\n {\r\n \r\n @item.Name\r\n @item.Calories\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n }\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n },\r\n new Dessert{\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n },\r\n new Dessert {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n },\r\n new Dessert {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n },\r\n new Dessert {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n },\r\n new Dessert {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n },\r\n new Dessert {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n },\r\n new Dessert {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n },\r\n new Dessert {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n },\r\n new Dessert {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n },\r\n };\r\n}\r\n\r\n", + "Type": "Demos.Components.Tables.children.SimpleTables.props.Height", + "Style": "", + "Debug": false, + "Group": 0 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/SimpleTables.svg", + "Cols": 1, + "Related": [ + "/components/data-iterators", + "/components/data-tables", + "/components/lists" + ], + "Subtitle": "简单表格", + "Title": "Simple tables", + "Type": "简单表格" + }, + { + "Desc": "

MTabs 组件用于将内容隐藏在可选择的项目后面。 这也可以用作页面的伪导航,其中选项卡是链接,选项卡项是内容。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "注意": "\n\n

当使用 Dark 属性和 提供自定义 Color 时,MTabs组件会将其颜色默认为 white。

\n" + }, + "LastWriteTime": "2021-10-27T09:49:56.6089698+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

MTabs 组件是 MItemGroup 的样式扩展。 它提供了一个易于使用的接口来组织内容组。

\n", + "Code": "\r\n Item One\r\n Item Two\r\n Item Three\r\n", + "Type": "Demos.Components.Tabs.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "alignWithTitle", + "Title": "对齐标题", + "Description": "

使用 AlignWithTitle 属性将 MTabs MToolbarTitle 对齐(MAppBarNavIconMButton 必须在 MToolbar 中使用)。

\n", + "Code": "\r\n \r\n \r\n \r\n\r\n Your Dashboard\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n @item\r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @text\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber tab;\r\n\r\n List items = new()\r\n {\r\n \"web\", \"shopping\", \"videos\", \"images\", \"news\",\r\n };\r\n\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n\r\n}", + "Type": "Demos.Components.Tabs.props.AlignWithTitle", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "centerActive", + "Title": "激活项居中", + "Description": "

CenterActive 属性将使活动标签始终居中。

\n", + "Code": "\r\n \r\n One\r\n Two\r\n Three\r\n Four\r\n Five\r\n Six\r\n Seven\r\n Eight\r\n Nine\r\n Ten\r\n Eleven\r\n Twelve\r\n Thirteen\r\n Fourteen\r\n Fifteen\r\n Sixteen\r\n Seventeen\r\n Eighteen\r\n Nineteen\r\n Twenty\r\n \r\n", + "Type": "Demos.Components.Tabs.props.CenterActive", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "customIcons", + "Title": "自定义分隔符", + "Description": "

PrevIconNextIcon 可以用于应用自定义分页图标。

\n", + "Code": "\r\n \r\n @foreach (var i in Enumerable.Range(1, 30))\r\n {\r\n Item @i\r\n }\r\n \r\n", + "Type": "Demos.Components.Tabs.props.CustomIcons", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "fixedTabs", + "Title": "固定选项卡", + "Description": "

FixedTabs 属性迫使 MTab 占用所有可用的空间,直到最大宽度(300px)。

\n", + "Code": "\r\n Option\r\n Another Selection\r\n Items\r\n Another Screen\r\n", + "Type": "Demos.Components.Tabs.props.FixedTabs", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "grow", + "Title": "增长", + "Description": "

Grow 属性将使选项卡项目占用所有可用的空间,最大宽度为300px。

\n", + "Code": "\r\n \r\n

BASiL

\r\n
\r\n\r\n \r\n @foreach (var item in items)\r\n {\r\n @item\r\n }\r\n \r\n\r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @text\r\n \r\n \r\n }\r\n \r\n
\r\n\r\n\r\n\r\n@code {\r\n\r\n StringNumber tab;\r\n\r\n List items = new List() {\"petizers\", \"Entrees\", \"Deserts\", \"Cocktails\"};\r\n\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n\r\n}", + "Type": "Demos.Components.Tabs.props.Grow", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "iconAndText", + "Title": "图标和文本", + "Description": "

使用 IconsWithText 属性将 MTabs 的高度增加到72px,以便图标和文本都能被使用。

\n", + "Code": "\r\n \r\n \r\n Recents\r\n mdi-phone\r\n \r\n\r\n \r\n Favorites\r\n mdi-heart\r\n \r\n\r\n \r\n Nearby\r\n mdi-account-box\r\n \r\n \r\n\r\n \r\n @foreach (var item in Enumerable.Range(0, 3))\r\n {\r\n \r\n \r\n @text\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber tab;\r\n\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n}", + "Type": "Demos.Components.Tabs.props.IconAndText", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "pagination", + "Title": "分页", + "Description": "

如果选项卡项溢出它们的容器,分页控件将出现在桌面上。对于移动设备,箭头只会与 ShowArrows 属性一起显示。

\n", + "Code": "\r\n \r\n @foreach (var i in Enumerable.Range(1, 30))\r\n {\r\n Item @i\r\n }\r\n \r\n", + "Type": "Demos.Components.Tabs.props.Pagination", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "right", + "Title": "右对齐", + "Description": "

Right 属性将选项卡对齐到右边。

\n", + "Code": "\r\n \r\n Landscape\r\n City\r\n Abstract\r\n\r\n @foreach (var item in Enumerable.Range(1, 3))\r\n {\r\n \r\n \r\n \r\n @foreach (var col in Enumerable.Range(1, 6))\r\n {\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n }\r\n \r\n", + "Type": "Demos.Components.Tabs.props.Right", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "verticalTabs", + "Title": "垂直标签页", + "Description": "

Vertical 属性允许 MTab 组件垂直堆叠。

\n", + "Code": "\r\n \r\n User Profile\r\n \r\n \r\n \r\n \r\n mdi-account\r\n \r\n Option 1\r\n \r\n \r\n \r\n mdi-lock\r\n \r\n Option 2\r\n \r\n \r\n \r\n mdi-access-point\r\n \r\n Option 3\r\n \r\n\r\n \r\n \r\n \r\n

\r\n Sed aliquam ultrices mauris. Donec posuere vulputate arcu. Morbi ac felis. Etiam feugiat lorem non metus. Sed a libero.\r\n

\r\n\r\n

\r\n Nam ipsum risus, rutrum vitae, vestibulum eu, molestie vel, lacus. Aenean tellus metus, bibendum sed, posuere ac, mattis non, nunc. Aliquam lobortis. Aliquam lobortis. Suspendisse non nisl sit amet velit hendrerit rutrum.\r\n

\r\n\r\n

\r\n Phasellus dolor. Fusce neque. Fusce fermentum odio nec arcu. Pellentesque libero tortor, tincidunt et, tincidunt eget, semper nec, quam. Phasellus blandit leo ut odio.\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n Morbi nec metus. Suspendisse faucibus, nunc et pellentesque egestas, lacus ante convallis tellus, vitae iaculis lacus elit id tortor. Sed mollis, eros et ultrices tempus, mauris ipsum aliquam libero, non adipiscing dolor urna a orci. Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo. Nunc sed turpis.\r\n

\r\n\r\n

\r\n Suspendisse feugiat. Suspendisse faucibus, nunc et pellentesque egestas, lacus ante convallis tellus, vitae iaculis lacus elit id tortor. Proin viverra, ligula sit amet ultrices semper, ligula arcu tristique sapien, a accumsan nisi mauris ac eros. In hac habitasse platea dictumst. Fusce ac felis sit amet ligula pharetra condimentum.\r\n

\r\n\r\n

\r\n Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, quis gravida magna mi a libero. Nam commodo suscipit quam. In consectetuer turpis ut velit. Sed cursus turpis vitae tortor. Aliquam eu nunc.\r\n

\r\n\r\n

\r\n Etiam ut purus mattis mauris sodales aliquam. Ut varius tincidunt libero. Aenean viverra rhoncus pede. Duis leo. Fusce fermentum odio nec arcu.\r\n

\r\n\r\n

\r\n Donec venenatis vulputate lorem. Aenean viverra rhoncus pede. In dui magna, posuere eget, vestibulum et, tempor auctor, justo. Fusce commodo aliquam arcu. Suspendisse enim turpis, dictum sed, iaculis a, condimentum nec, nisi.\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n Fusce a quam. Phasellus nec sem in justo pellentesque facilisis. Nam eget dui. Proin viverra, ligula sit amet ultrices semper, ligula arcu tristique sapien, a accumsan nisi mauris ac eros. In dui magna, posuere eget, vestibulum et, tempor auctor, justo.\r\n

\r\n\r\n

\r\n Cras sagittis. Phasellus nec sem in justo pellentesque facilisis. Proin sapien ipsum, porta a, auctor quis, euismod ut, mi. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nam at tortor in tellus interdum sagittis.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
", + "Type": "Demos.Components.Tabs.props.VerticalTabs", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 10, + "Name": "content", + "Title": "内容", + "Description": "

MToolbar 的扩展槽中放置 MTabs 是很常见的。使用 MToolbar 的tabs属性自动将其高度调整为48px以匹配 MTabs

\n", + "Code": "\r\n \r\n \r\n \r\n\r\n Page title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in Enumerable.Range(1, 3))\r\n {\r\n \r\n Item @item\r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n @foreach (var item in Enumerable.Range(1, 3))\r\n {\r\n \r\n \r\n @text\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber model = 2;\r\n\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n\r\n}", + "Type": "Demos.Components.Tabs.misc.Content", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 11, + "Name": "desktopTabs", + "Title": "桌面选项卡", + "Description": "

您可以使用单个图标表示 MTabs 动作。当很容易将内容关联到每个选项卡时,这非常有用。

\n", + "Code": "\r\n \r\n \r\n \r\n\r\n Contact Database\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n \r\n mdi-phone\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-account-box\r\n \r\n \r\n \r\n \r\n\r\n \r\n @foreach (var item in Enumerable.Range(1, 3))\r\n {\r\n \r\n \r\n @text\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber tabs;\r\n\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n\r\n}", + "Type": "Demos.Components.Tabs.misc.DesktopTabs", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 12, + "Name": "dynamicHeight", + "Title": "动态高度", + "Description": "

更改 MTabItem,内容区域将平滑缩放到新大小。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in Enumerable.Range(1, 3))\r\n {\r\n \r\n Item @item\r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n \r\n \r\n \r\n \r\n An awesome title\r\n \r\n \r\n

\r\n Duis lobortis massa imperdiet quam. Donec vitae orci sed dolor rutrum auctor. Vestibulum facilisis, purus nec pulvinar iaculis, ligula mi congue nunc, vitae euismod ligula urna in dolor. Praesent congue erat at massa.\r\n

\r\n\r\n

\r\n Aenean posuere, tortor sed cursus feugiat, nunc augue blandit nunc, eu sollicitudin urna dolor sagittis lacus. Pellentesque egestas, neque sit amet convallis pulvinar, justo nulla eleifend augue, ac auctor orci leo non est. Etiam sit amet orci eget eros faucibus tincidunt. Donec sodales sagittis magna.\r\n

\r\n\r\n

\r\n Ut leo. Suspendisse potenti. Duis vel nibh at velit scelerisque suscipit. Fusce pharetra convallis urna.\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n An even better title\r\n \r\n \r\n

\r\n Maecenas ullamcorper, dui et placerat feugiat, eros pede varius nisi, condimentum viverra felis nunc et lorem. Sed hendrerit. Maecenas malesuada. Vestibulum ullamcorper mauris at ligula. Proin faucibus arcu quis ante.\r\n

\r\n\r\n

\r\n Etiam vitae tortor. Curabitur ullamcorper ultricies nisi. Sed magna purus, fermentum eu, tincidunt eu, varius ut, felis. Aliquam lobortis. Suspendisse potenti.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n\r\n StringNumber tabs;\r\n}", + "Type": "Demos.Components.Tabs.misc.DynamicHeight", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 13, + "Name": "dynamicTabs", + "Title": "动态标签", + "Description": "

Tabs can be dynamically added and removed. This allows you to update to any number and the MTabs component will react. In this example when we add a new tab, we automatically change our model to match. As we add more tabs and overflow the container, the selected item will be automatically scrolled into view. Remove all MTabs and the slider will disappear.

\n", + "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(0, Length))\r\n {\r\n \r\n Item @(item + 1)\r\n \r\n }\r\n \r\n \r\n Length--\">\r\n Remove Tab\r\n \r\n \r\n \r\n Length++\">\r\n Add Tab\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n\r\n int _length = 1;\r\n\r\n int Length\r\n {\r\n get => _length;\r\n set\r\n {\r\n _length = value;\r\n tab = value - 1;\r\n }\r\n }\r\n\r\n StringNumber tab;\r\n\r\n\r\n\r\n}", + "Type": "Demos.Components.Tabs.misc.DynamicTabs", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 14, + "Name": "overflowToMenu", + "Title": "溢出到菜单", + "Description": "

You can use a menu to hold additional tabs, swapping them out on the fly.

\n", + "Code": "@using System.Net.Security\r\n\r\n \r\n \r\n \r\n\r\n Page title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n\r\n @foreach (var item in items)\r\n {\r\n \r\n @item\r\n \r\n }\r\n\r\n @if (more.Count > 0)\r\n {\r\n \r\n \r\n \r\n more\r\n \r\n mdi-menu-down\r\n \r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in more)\r\n {\r\n addItem(item)\">\r\n @item\r\n \r\n }\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n @foreach (var item in items.Concat(more))\r\n {\r\n \r\n \r\n \r\n

@item

\r\n @text\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n@code {\r\n\r\n StringNumber currentItem;\r\n\r\n List items = new List()\r\n {\r\n \"Web\", \"Shopping\", \"Videos\", \"Images\"\r\n };\r\n\r\n List more = new List()\r\n {\r\n \"News\", \"Maps\", \"Books\", \"Flights\", \"Apps\"\r\n };\r\n\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n\r\n void addItem(string item)\r\n {\r\n var removed = items.First();\r\n items.Remove(removed);\r\n\r\n var index = more.IndexOf(item);\r\n more.RemoveAt(index);\r\n items.Add(item);\r\n\r\n more.Add(removed);\r\n\r\n currentItem = item;\r\n }\r\n}", + "Type": "Demos.Components.Tabs.misc.OverflowToMenu", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 15, + "Name": "tabItems", + "Title": "标签项", + "Description": "

The MTabsItems component allows for you to customize the content per tab. Using a shared variable, the MTabsItems will sync with the currently selected MTab.

\n", + "Code": "\r\n \r\n @foreach (var (tab, _) in items)\r\n {\r\n \r\n @tab\r\n \r\n }\r\n \r\n\r\n \r\n @foreach (var (tab, content) in items)\r\n {\r\n \r\n \r\n @content\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber tab;\r\n\r\n List<(string tab, string content)> items = new()\r\n {\r\n new(\"One\", \"Tab 1 Content\"),\r\n new(\"Two\", \"Tab 2 Content\"),\r\n new(\"Three\", \"Tab 3 Content\"),\r\n new(\"Four\", \"Tab 4 Content\"),\r\n new(\"Five\", \"Tab 5 Content\"),\r\n new(\"Six\", \"Tab 6 Content\"),\r\n new(\"Seven\", \"Tab 7 Content\"),\r\n new(\"Eight\", \"Tab 8 Content\"),\r\n new(\"Nine\", \"Tab 9 Content\"),\r\n new(\"Ten\", \"Tab 10 Content\"),\r\n };\r\n\r\n}", + "Type": "Demos.Components.Tabs.misc.TabItems", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Tabs.svg", + "Cols": 1, + "Related": [ + "/components/icons", + "/components/toolbars", + "/components/windows" + ], + "Subtitle": "选项卡", + "Title": "Tabs", + "Type": "选项卡" + }, + { + "Desc": "

MTimeline 对于显示时间顺序信息非常有用。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.7312393+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

MTimeline 以最简单的形式显示了一个垂直时间轴, 它至少应该包含一个 MTimelineItem

\n", + "Code": "\r\n timeline item\r\n timeline item\r\n timeline item\r\n\r\n\r\n\r\n", + "Type": "Demos.Components.Timeline.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "color", + "Title": "颜色", + "Description": "

彩色的点可以创建可视的断点,使您的时间轴更容易阅读。

\n", + "Code": "\r\n \r\n \r\n mdi-plus\r\n \r\n \r\n \r\n mdi-menu\r\n \r\n

\r\n Timeline\r\n

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n 8\r\n \r\n
\r\n Monday\r\n
\r\n
\r\n February 2015\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n 5pm\r\n \r\n \r\n New Icon\r\n
\r\n Mobile App\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n 3-4pm\r\n \r\n \r\n Design Stand Up\r\n
\r\n Hangouts\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n 12pm\r\n \r\n \r\n Lunch break\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n 9-11am\r\n \r\n \r\n Finish Home Screen\r\n
\r\n Web App\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
", + "Type": "Demos.Components.Timeline.props.Color", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "dense", + "Title": "密集", + "Description": "

Dense 的时间轴将所有内容置于右侧。在这个示例中,MAlert 代替卡片以提供不同的设计。

\n", + "Code": "@using System.Timers;\r\n@using Timer = System.Timers.Timer;\r\n\r\n\r\n \r\n Logs\r\n \r\n \r\n Realtime Logging\r\n \r\n \r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[] _colors = new string[4] { \"info\", \"warning\", \"error\", \"success\" };\r\n private Dictionary _icons = new Dictionary\r\n {\r\n { \"info\",\"mdi-information\"},\r\n { \"warning\",\"mdi-alert\"},\r\n { \"error\",\"mdi-alert-circle\"},\r\n { \"success\",\"mdi-check-circle\"}\r\n };\r\n private class ItemDemo\r\n {\r\n public int Id { get; set; }\r\n public string Color { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new List\r\n {\r\n new ItemDemo { Id = 1, Color = \"info\", Icon = \"mdi-information\" }\r\n };\r\n private int _nonce = 2;\r\n private Timer _interval { get; set; }\r\n private string _btnColor => _interval == null ? \"white\" : \"primary\";\r\n\r\n private void AddEvent()\r\n {\r\n var (color, icon) = GenAlert();\r\n\r\n var previousColor = _items[0].Color;\r\n\r\n while (previousColor == color)\r\n {\r\n (color, icon) = GenAlert();\r\n };\r\n\r\n _items.Insert(0, new ItemDemo { Id = _nonce++, Color = color, Icon = icon });\r\n\r\n if (_nonce > 6)\r\n {\r\n _items.RemoveAt(_items.Count - 1);\r\n }\r\n }\r\n\r\n private (string, string) GenAlert()\r\n {\r\n var color = GenColor();\r\n\r\n return (color, GenIcon(color));\r\n }\r\n\r\n private string GenColor()\r\n {\r\n var random = new Random();\r\n var num = random.Next(0, 10);\r\n\r\n return _colors[num % 4];\r\n }\r\n\r\n private string GenIcon(string color)\r\n {\r\n _icons.TryGetValue(color, out var icon);\r\n\r\n return icon;\r\n }\r\n\r\n private void Start()\r\n {\r\n if (_interval == null)\r\n {\r\n _interval = new Timer\r\n {\r\n Interval = 3000\r\n };\r\n _interval.Elapsed += Timer_Elapsed;\r\n }\r\n\r\n _interval.Start();\r\n }\r\n\r\n private async void Timer_Elapsed(object sender, ElapsedEventArgs e)\r\n {\r\n await InvokeAsync(() =>\r\n {\r\n AddEvent();\r\n\r\n StateHasChanged();\r\n });\r\n }\r\n\r\n private void Stop()\r\n {\r\n _interval.Stop();\r\n _interval.Dispose();\r\n _interval.Close();\r\n\r\n _interval = null;\r\n }\r\n}", + "Type": "Demos.Components.Timeline.props.Dense", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "iconDots", + "Title": "图标点", + "Description": "

使用 MTimelineItem 圆点内的图标来提供额外的上下文。

\n", + "Code": "\r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n \r\n Lorem Ipsum Dolor\r\n \r\n \r\n

Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.

\r\n \r\n Button\r\n \r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n@code{\r\n private List _items = new List\r\n {\r\n new Item \r\n {\r\n Color= \"red lighten-2\",\r\n Icon= \"mdi-star\",\r\n },\r\n new Item\r\n {\r\n Color= \"purple darken-1\",\r\n Icon= \"mdi-book-variant\",\r\n },\r\n new Item\r\n {\r\n Color= \"green lighten-1\",\r\n Icon= \"mdi-airballoon\",\r\n },\r\n new Item\r\n {\r\n Color= \"indigo\",\r\n Icon= \"mdi-buffer\",\r\n }\r\n };\r\n\r\n class Item\r\n {\r\n public string Color { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.Timeline.props.IconDots", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "reverse", + "Title": "反转", + "Description": "

您可以使用 Reverse 属性来反转时间轴项目的方向。这在默认模式和 Dense 模式下都可以工作。

\n", + "Code": "
\r\n \r\n \r\n @for (int i = 0; i < 2; i++)\r\n {\r\n \r\n \r\n Tus eu perfecto\r\n \r\n \r\n \r\n \r\n Lorem ipsum\r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n \r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n @for (int i = 0; i < 2; i++)\r\n {\r\n \r\n \r\n Tus eu perfecto\r\n \r\n \r\n \r\n \r\n Lorem ipsum\r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n \r\n \r\n \r\n \r\n }\r\n \r\n
\r\n\r\n@code{\r\n private bool _reverse = true;\r\n}\r\n\r\n", + "Type": "Demos.Components.Timeline.props.Reverse", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "small", + "Title": "小号", + "Description": "

Small 属性允许不同的样式提供独特的设计。

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n mdi-magnify\r\n \r\n

\r\n Title 1\r\n

\r\n
\r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit.\r\n \r\n \r\n \r\n mdi-calendar-text\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n

\r\n Title 2\r\n

\r\n \r\n mdi-home-outline\r\n \r\n
\r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit.\r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus.\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n mdi-email-outline\r\n \r\n

\r\n Title 3\r\n

\r\n
\r\n \r\n \r\n @for (int i = 0; i < 3; i++)\r\n {\r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus no nam oblique.\r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n

\r\n Title 4\r\n

\r\n \r\n mdi-account-multiple-outline\r\n \r\n
\r\n \r\n \r\n \r\n \r\n mdi-server-network\r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus.\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n mdi-phone-in-talk\r\n \r\n

\r\n Title 5\r\n

\r\n
\r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n \r\n \r\n \r\n
\r\n
\r\n
", + "Type": "Demos.Components.Timeline.props.Small", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "iconContent", + "Title": "IconContent", + "Description": "

使用 IconContentMAvatar 将头像插入到圆点中。

\n", + "Code": "\r\n @for (var i= 0; i < 4; i++)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Tus eu perfecto\r\n \r\n \r\n \r\n \r\n Lorem ipsum\r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n \r\n \r\n \r\n \r\n }\r\n", + "Type": "Demos.Components.Timeline.contents.IconContent", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 3, + "Name": "oppositeContent", + "Title": "OppositeContent", + "Description": "

OppositeContent 插槽在您的时间线内提供额外的自定义层。

\n", + "Code": "\r\n @foreach (var year in _years)\r\n {\r\n \r\n \r\n \r\n @year.Year\r\n \r\n \r\n \r\n
\r\n

\r\n Lorem ipsum\r\n

\r\n
\r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n@code\r\n{\r\n private class YearDemo\r\n {\r\n public string Color { get; set; }\r\n public string Year { get; set; }\r\n }\r\n\r\n private List _years = new List\r\n {\r\n new YearDemo { Color = \"cyan\", Year = \"1960\" },\r\n new YearDemo { Color = \"green\", Year = \"1970\" },\r\n new YearDemo { Color = \"pink\", Year = \"1980\" },\r\n new YearDemo { Color = \"amber\", Year = \"1990\" },\r\n new YearDemo { Color = \"orange\", Year = \"2000\" }\r\n };\r\n}", + "Type": "Demos.Components.Timeline.contents.OppositeContent", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 4, + "Name": "timelineItemDefault", + "Title": "默认", + "Description": "

如果您将 MCard 放在 MTimelineItem 内,则卡的侧面会出现一个插入符号。

\n", + "Code": "\r\n @for (var i= 0; i < 4; i++)\r\n {\r\n \r\n \r\n Tus eu perfecto\r\n \r\n \r\n \r\n \r\n Lorem ipsum\r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n \r\n \r\n \r\n \r\n }\r\n", + "Type": "Demos.Components.Timeline.contents.TimelineItemDefault", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 5, + "Name": "advanced", + "Title": "高级用法", + "Description": "

模块化组件允许您创建高度定制的解决方案。

\n", + "Code": "\r\n \r\n \r\n \r\n JL\r\n \r\n \r\n \r\n \r\n \r\n Post\r\n \r\n \r\n \r\n \r\n \r\n\r\n @foreach (var item in _events)\r\n {\r\n \r\n \r\n @item.Text\r\n @item.Time\r\n \r\n \r\n }\r\n\r\n \r\n Today\r\n \r\n\r\n \r\n \r\n \r\n This order was archived.\r\n \r\n \r\n 15:26 EDT\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n App\r\n \r\n Digital Downloads fulfilled 1 item.\r\n \r\n \r\n 15:25 EDT\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Order confirmation email was sent to John Leider (john@vuetifyjs.com).\r\n \r\n \r\n 15:25 EDT\r\n \r\n \r\n \r\n\r\n \r\n Resend Email\r\n \r\n\r\n \r\n \r\n \r\n A $15.00 USD payment was processed on PayPal Express Checkout\r\n \r\n \r\n 15:25 EDT\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n John Leider placed this order on Online Store (checkout #1937432132572).\r\n \r\n \r\n 15:25 EDT\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private class EventDemo\r\n {\r\n public int Id { get; set; }\r\n public string Text { get; set; }\r\n public string Time { get; set; }\r\n }\r\n private List _events = new List();\r\n private string _input = string.Empty;\r\n private int _nonce = 0;\r\n\r\n private void Comment()\r\n {\r\n _events.Insert(0,\r\n new EventDemo\r\n {\r\n Id = _nonce++,\r\n Text = _input,\r\n Time = DateTime.Now.ToString(\"HH:mm:ss\")\r\n });\r\n\r\n _input = string.Empty;\r\n }\r\n}", + "Type": "Demos.Components.Timeline.misc.Advanced", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/cards", + "/components/icons", + "/components/grid-system" + ], + "Subtitle": "时间轴", + "Title": "Timelines", + "Type": "时间轴" + }, + { + "Desc": "

当用户悬停在元素上时, MTooltip 组件可用于传递信息。 您还可以通过 @bind-Value 来控制提示的显示。 当激活时,提示将显示用于标识元素的文本,例如其功能的描述。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n", + "注意": "\n\n

为了正确定位 MTooltip,需要一个位置支撑(Top | Bottom | Left | Right)。

\n" + }, + "LastWriteTime": "2021-11-09T10:30:56.9398975+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

提示组件可以包装任何元素。

\n", + "Code": "
\r\n \r\n \r\n Bottom\r\n \r\n \r\n Tooltip\r\n \r\n \r\n\r\n \r\n \r\n mdi-home\r\n \r\n \r\n Tooltip\r\n \r\n \r\n\r\n \r\n \r\n This text has a tooltip\r\n \r\n \r\n Tooltip\r\n \r\n \r\n
", + "Type": "Demos.Components.Tooltip.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "alignment", + "Title": "对齐", + "Description": "

提示可以对齐到激活器元素的四个侧面。

\n", + "Code": "
\r\n \r\n \r\n Left\r\n \r\n \r\n Left tooltip\r\n \r\n \r\n\r\n \r\n \r\n Top\r\n \r\n \r\n Top tooltip\r\n \r\n \r\n\r\n \r\n \r\n Bottom\r\n \r\n \r\n Bottom tooltip\r\n \r\n \r\n\r\n \r\n \r\n Right\r\n \r\n \r\n Right tooltip\r\n \r\n \r\n
", + "Type": "Demos.Components.Tooltip.props.Alignment", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 2, + "Name": "visibility", + "Title": "可见性", + "Description": "

可使用 @bind-Value 编程性修改提示可见性。

\n", + "Code": "\r\n \r\n \r\n show = !show\">\r\n toggle\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n mdi-cart\r\n \r\n \r\n \r\n Programmatic tooltip\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private bool show;\r\n}", + "Type": "Demos.Components.Tooltip.props.Visibility", + "Style": "", + "Debug": false, + "Group": 0 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Tooltip.svg", + "Cols": 1, + "Related": [ + "/components/badges", + "/components/icons", + "/components/menus" + ], + "Subtitle": "工具提示", + "Title": "Tooltips", + "Type": "工具提示" + }, + { + "Desc": "

MTreeview 组件适用于显示大量嵌套数据。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.745241+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "

一个基本示例

\n", + "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code {\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}", + "Type": "Demos.Components.Treeview.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "activatable", + "Title": "可激活", + "Description": "

树形视图节点可以将其激活。

\n", + "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _active = new List\r\n {\r\n 2\r\n };\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", + "Type": "Demos.Components.Treeview.props.Activatable", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "color", + "Title": "颜色", + "Description": "

您可以控制活动的树形视图节点的文本和背景颜色。

\n", + "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", + "Type": "Demos.Components.Treeview.props.Color", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "dense", + "Title": "密集", + "Description": "

Dense 属性激活密集模式,提供了更紧凑的布局,同时降低了项目的高度。

\n", + "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", + "Type": "Demos.Components.Treeview.props.Dense", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "hoverable", + "Title": "可悬停的", + "Description": "

Hoverable 属性令树形视图节点可以具有悬停效果。

\n", + "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", + "Type": "Demos.Components.Treeview.props.Hoverable", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "itemDisabled", + "Title": "禁用项目", + "Description": "

设置 ItemDisabled 属性,控制节点在设置为 true 时禁用节点。

\n", + "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public bool Locked { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private Func _locked = r => r.Locked;\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Locked=true,\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", + "Type": "Demos.Components.Treeview.props.ItemDisabled", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "loadChildren", + "Title": "加载子项", + "Description": "

您可以通过提供回调到 LoadChildren 属性,来动态加载子数据。 此回调将在用户首次试图扩展一个包含一个空数组的子属性的项目时执行。

\n", + "Code": "\r\n \r\n User Directory\r\n \r\n \r\n \r\n r.Name\"\r\n ItemKey=\"r=>r.Id\"\r\n ItemChildren=\"r=>r.Children\">\r\n \r\n @if (context.Item.Children == null)\r\n {\r\n \r\n mdi-account\r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n @if (Selected == null)\r\n {\r\n
\r\n Select a User\r\n
\r\n }\r\n else\r\n {\r\n \r\n \r\n @if (_avatar != null)\r\n {\r\n \r\n \r\n \r\n }\r\n

\r\n @Selected.Name\r\n

\r\n
\r\n @Selected.Email\r\n
\r\n
\r\n @Selected.UserName\r\n
\r\n
\r\n \r\n \r\n \r\n Company:\r\n \r\n @Selected.Company.Name\r\n \r\n Website:\r\n \r\n \r\n @Selected.Website\r\n \r\n \r\n Phone:\r\n \r\n @Selected.Phone\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n public class User\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public string UserName { get; set; }\r\n\r\n public string Email { get; set; }\r\n\r\n public Address Address { get; set; }\r\n\r\n public string Phone { get; set; }\r\n\r\n public string Website { get; set; }\r\n\r\n public Company Company { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n public class Address\r\n {\r\n public string Street { get; set; }\r\n\r\n public string Suite { get; set; }\r\n\r\n public string City { get; set; }\r\n\r\n public string Zipcode { get; set; }\r\n\r\n public Geo Geo { get; set; }\r\n }\r\n\r\n public class Geo\r\n {\r\n public string Lat { get; set; }\r\n\r\n public string Lng { get; set; }\r\n }\r\n\r\n public class Company\r\n {\r\n public string Name { get; set; }\r\n\r\n public string CatchPhrase { get; set; }\r\n\r\n public string Bs { get; set; }\r\n }\r\n\r\n private List _avatars = new List()\r\n {\r\n \"?accessoriesType=Blank&avatarStyle=Circle&clotheColor=PastelGreen&clotheType=ShirtScoopNeck&eyeType=Wink&eyebrowType=UnibrowNatural&facialHairColor=Black&facialHairType=MoustacheMagnum&hairColor=Platinum&mouthType=Concerned&skinColor=Tanned&topType=Turban\",\r\n \"?accessoriesType=Sunglasses&avatarStyle=Circle&clotheColor=Gray02&clotheType=ShirtScoopNeck&eyeType=EyeRoll&eyebrowType=RaisedExcited&facialHairColor=Red&facialHairType=BeardMagestic&hairColor=Red&hatColor=White&mouthType=Twinkle&skinColor=DarkBrown&topType=LongHairBun\",\r\n \"?accessoriesType=Prescription02&avatarStyle=Circle&clotheColor=Black&clotheType=ShirtVNeck&eyeType=Surprised&eyebrowType=Angry&facialHairColor=Blonde&facialHairType=Blank&hairColor=Blonde&hatColor=PastelOrange&mouthType=Smile&skinColor=Black&topType=LongHairNotTooLong\",\r\n \"?accessoriesType=Round&avatarStyle=Circle&clotheColor=PastelOrange&clotheType=Overall&eyeType=Close&eyebrowType=AngryNatural&facialHairColor=Blonde&facialHairType=Blank&graphicType=Pizza&hairColor=Black&hatColor=PastelBlue&mouthType=Serious&skinColor=Light&topType=LongHairBigHair\",\r\n \"?accessoriesType=Kurt&avatarStyle=Circle&clotheColor=Gray01&clotheType=BlazerShirt&eyeType=Surprised&eyebrowType=Default&facialHairColor=Red&facialHairType=Blank&graphicType=Selena&hairColor=Red&hatColor=Blue02&mouthType=Twinkle&skinColor=Pale&topType=LongHairCurly\"\r\n };\r\n private List _users = new();\r\n private string _avatar;\r\n private List _active;\r\n private User _selected;\r\n\r\n [Inject]\r\n public HttpClient HttpClient { get; set; }\r\n\r\n protected User Selected\r\n {\r\n get\r\n {\r\n if (_active == null || _active.Count == 0)\r\n {\r\n return null;\r\n }\r\n\r\n var id = _active[0];\r\n\r\n var user = _users.Find(user => user.Id == id);\r\n if (user != _selected)\r\n {\r\n _selected = user;\r\n RandomAvatar();\r\n }\r\n\r\n return user;\r\n }\r\n }\r\n\r\n private List _items = new List\r\n {\r\n new User\r\n {\r\n Name=\"Users\",\r\n Children=new()\r\n }\r\n };\r\n\r\n public async Task FetchUsers(User item)\r\n {\r\n await Task.Delay(1500);\r\n _users = await HttpClient.GetFromJsonAsync>(\"https://jsonplaceholder.typicode.com/users\");\r\n //We can't detect whether items has changed with same object reference,so give us a new object\r\n //We may enhance this in the feature\r\n _items = new List\r\n {\r\n new User\r\n {\r\n Name=\"Users\",\r\n Children=_users\r\n }\r\n };\r\n\r\n //Refresh UI,so we will re-build nodes of the treeview\r\n StateHasChanged();\r\n }\r\n\r\n public void RandomAvatar()\r\n {\r\n _avatar = _avatars[new Random().Next(_avatars.Count)];\r\n }\r\n}", + "Type": "Demos.Components.Treeview.props.LoadChildren", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "openAll", + "Title": "打开全部", + "Description": "

树形视图节点可以在页面加载时预先打开。

\n", + "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", + "Type": "Demos.Components.Treeview.props.OpenAll", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "rounded", + "Title": "圆角", + "Description": "

您可以使树视图节点变成圆角。

\n", + "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", + "Type": "Demos.Components.Treeview.props.Rounded", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "selectable", + "Title": "可选择", + "Description": "

您可以轻松选择树形视图节点和子节点。

\n", + "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\" OnInput=\"HandleOnInput\">\r\n\r\n\r\n@code {\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _value = new List\r\n {\r\n 2\r\n };\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n\r\n private List _selected = new();\r\n\r\n public void HandleOnInput(List selected)\r\n {\r\n _selected = selected;\r\n }\r\n}\r\n", + "Type": "Demos.Components.Treeview.props.Selectable", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "selectColor", + "Title": "选择颜色", + "Description": "

您可以控制所选节点复选框的颜色。

\n", + "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", + "Type": "Demos.Components.Treeview.props.SelectColor", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "selectType", + "Title": "选择类型", + "Description": "

属性视图支持两种不同的选择类型。 默认类型是 Leaf,它在 @bind-Value 数组中只包含选中的叶节点。 但会渲染父节点状态为全选或半选(这一点需要考量)。 另一种模式是 Independent\n,允许选择父节点,但每个节点都独立于其父节点。

\n", + "Code": "\r\n r.ToString()\" ItemValue=\"r=>r\">\r\n \r\n \r\n _selection = val\" Selectable SelectionType=\"_type\" Items=\"_data\"\r\n ItemText=\"r=>r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n \r\n \r\n \r\n \r\n @if (_selection == null)\r\n {\r\n @(\"No nodes selected\")\r\n }\r\n else\r\n {\r\n foreach (var node in _selection)\r\n {\r\n
\r\n @node.Name\r\n
\r\n }\r\n }\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n private SelectionType _type;\r\n private List _selection;\r\n\r\n private List _types = new List\r\n{\r\n SelectionType.Leaf,\r\n SelectionType.Independent\r\n };\r\n\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", + "Type": "Demos.Components.Treeview.props.SelectType", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "shaped", + "Title": "形状", + "Description": "

形状的树形视图在节点的一侧具有圆形边界。

\n", + "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", + "Type": "Demos.Components.Treeview.props.Shaped", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 0, + "Name": "appendAndLabel", + "Title": "附加和标签", + "Description": "

使用 LabelContentAppendContent 插槽,我们能够创建一个直观的文件浏览器。

\n", + "Code": " u.Name\"\r\n ItemChildren=\"u => u.Children\"\r\n ItemText=\"u => u.Name\"\r\n OpenOnClick>\r\n \r\n @if (context.Item.File == null)\r\n {\r\n \r\n @(context.Open ? \"mdi-folder-open\" : \"mdi-folder\")\r\n \r\n }\r\n else\r\n {\r\n \r\n @files[context.Item.File]\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n static Dictionary files = new()\r\n {\r\n {\"html\", \"mdi-language-html5\"},\r\n {\"js\", \"mdi-nodejs\"},\r\n {\"json\", \"mdi-code-json\"},\r\n {\"md\", \"mdi-language-markdown\"},\r\n {\"pdf\", \"mdi-file-pdf\"},\r\n {\"png\", \"mdi-file-image\"},\r\n {\"txt\", \"mdi-file-document-outline\"},\r\n {\"xls\", \"mdi-file-excel\"}\r\n };\r\n\r\n static List items = new()\r\n {\r\n new Project(\".git\"),\r\n new Project(\"node_modules\"),\r\n new Project(\"public\", new List()\r\n {\r\n new Project(\"static\", new List()\r\n {\r\n new Project(\"log.png\", \"png\")\r\n }),\r\n new Project(\"favicon.ico\", \"png\"),\r\n new Project(\"index.html\", \"html\")\r\n }),\r\n new Project(\".gitignore\", \"txt\"),\r\n new Project(\"babel.config.js\", \"js\"),\r\n new Project(\"package.json\", \"json\"),\r\n new Project(\"README.md\", \"md\"),\r\n new Project(\"vue.config.js\", \"js\"),\r\n new Project(\"yarn.lock\", \"txt\")\r\n };\r\n\r\n List initiallyOpen = new() {\"public\"};\r\n\r\n public class Project\r\n {\r\n public string File { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n\r\n public Project(string name)\r\n {\r\n Name = name;\r\n }\r\n\r\n public Project(string name, string file)\r\n {\r\n Name = name;\r\n File = file;\r\n }\r\n\r\n public Project(string name, List children)\r\n {\r\n Name = name;\r\n Children = children;\r\n }\r\n }\r\n\r\n}", + "Type": "Demos.Components.Treeview.contents.AppendAndLabel", + "Style": "", + "Debug": false, + "Group": 2 + }, + { + "Order": 0, + "Name": "searchAndFilter", + "Title": "搜索&过滤", + "Description": "

使用 Search 属性,轻松过滤您的树形视图。 如果您需要区分大小写或模糊过滤,通过设置 Filter 树形,您可以轻松地应用您的自定义过滤功能。 这类似于 MAutocomplete

\n", + "Code": "\r\n \r\n \r\n \r\n \r\n \r\n r.Id\"\r\n ItemText=\"r=>r.Name\"\r\n ItemChildren=\"r=>r.Children\"\r\n @bind-Open=\"_open\">\r\n \r\n @if (context.Item.Children != null && context.Item.Children.Count > 0)\r\n {\r\n \r\n @($\"mdi-{(context.Item.Id == 1 ? \"home-variant\" : \"folder-network\")}\")\r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _items = new List()\r\n {\r\n new Data()\r\n {\r\n Id= 1,\r\n Name= \"Vuetify Human Resources\",\r\n Children= new List()\r\n {\r\n new Data()\r\n {\r\n Id= 2,\r\n Name= \"Core team\",\r\n Children= new List()\r\n {\r\n new Data() {\r\n Id= 201,\r\n Name= \"John\",\r\n },\r\n new Data(){\r\n Id= 202,\r\n Name= \"Kael\",\r\n },\r\n new Data(){\r\n Id= 203,\r\n Name= \"Nekosaur\",\r\n },\r\n new Data(){\r\n Id= 204,\r\n Name= \"Jacek\",\r\n },\r\n new Data(){\r\n Id= 205,\r\n Name= \"Andrew\",\r\n }\r\n }\r\n },\r\n new Data()\r\n {\r\n Id= 3,\r\n Name= \"Administrators\",\r\n Children= new List()\r\n {\r\n new Data()\r\n {\r\n Id= 301,\r\n Name= \"Mike\",\r\n },\r\n new Data()\r\n {\r\n Id= 302,\r\n Name= \"Hunt\",\r\n }\r\n }\r\n },\r\n new Data()\r\n {\r\n Id= 4,\r\n Name= \"Contributors\",\r\n Children= new List()\r\n {\r\n new Data()\r\n {\r\n Id= 401,\r\n Name= \"Phlow\"\r\n },\r\n new Data()\r\n {\r\n Id= 402,\r\n Name= \"Brandon\"\r\n },\r\n new Data()\r\n {\r\n Id= 403,\r\n Name= \"Sean\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n private List _open = new List\r\n {\r\n 1,\r\n 2\r\n };\r\n private string _search;\r\n private bool _caseSensitive;\r\n\r\n public Func, bool> Filter\r\n {\r\n get\r\n {\r\n if (_caseSensitive)\r\n {\r\n return (item, search, textKey) => textKey(item).IndexOf(search) > -1;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n}", + "Type": "Demos.Components.Treeview.misc.SearchAndFilter", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 0, + "Name": "selectableIcons", + "Title": "可选择的图标", + "Description": "

为你的可选择树形视图自定义 选中(on), 未选中(off) 以及 半选(indeterminate) 图标。与诸如API加载项目等其他高级功能合并。

\n", + "Code": "@using System.Text.Json\r\n@using System.Text.Json.Nodes\r\n@inject HttpClient HttpClient\r\n\r\n\r\n \r\n mdi-silverware\r\n Local hotspots\r\n \r\n\r\n \r\n \r\n \r\n item.Id\"\r\n ItemText=\"item => item.Name\"\r\n ItemChildren=\"item => item.Children\"\r\n SelectedColor=\"indigo\"\r\n OpenOnClick\r\n Selectable\r\n ReturnObject\r\n ExpandIcon=\"mdi-chevron-down\"\r\n OnIcon=\"mdi-bookmark\"\r\n OffIcon=\"mdi-bookmark-outline\"\r\n IndeterminateIcon=\"mdi-bookmark-minus\">\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n @if (tree.Count == 0)\r\n {\r\n \r\n Select your favorite breweries\r\n
\r\n }\r\n\r\n \r\n @foreach (var (selection, i) in tree.Select((item, i) => (item,i)))\r\n {\r\n \r\n \r\n mdi-beer\r\n \r\n @selection\r\n \r\n }\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n tree.Clear()\">\r\n Reset\r\n \r\n\r\n \r\n\r\n \r\n Save\r\n \r\n mdi-content-save\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List breweries = new();\r\n List tree = new();\r\n List types = new();\r\n\r\n List _items;\r\n bool _itemsChanged = true;\r\n\r\n List items\r\n {\r\n get\r\n {\r\n if (!_itemsChanged)\r\n {\r\n return _items;\r\n }\r\n\r\n var top = new Item(\"1\", \"All Breweries\", new List());\r\n\r\n if (types.Any())\r\n {\r\n top.Children = types.Select(type => new Item(type, getName(type), GetChildren(type))).ToList();\r\n }\r\n\r\n _items = new List {top};\r\n\r\n _itemsChanged = false;\r\n\r\n return _items;\r\n }\r\n }\r\n\r\n async Task Fetch(Item item)\r\n {\r\n var response = await HttpClient.GetAsync(\"https://api.openbrewerydb.org/breweries\");\r\n if (response.IsSuccessStatusCode)\r\n {\r\n var json = await response.Content.ReadAsStringAsync();\r\n breweries = JsonSerializer.Deserialize>(json);\r\n\r\n foreach (var brewery in breweries)\r\n {\r\n var type = (string)brewery[\"brewery_type\"];\r\n if (!types.Contains(type))\r\n {\r\n types.Add(type);\r\n }\r\n }\r\n\r\n types.Sort();\r\n\r\n _itemsChanged = true;\r\n\r\n StateHasChanged();\r\n }\r\n }\r\n\r\n List GetChildren(string type)\r\n {\r\n List result = new();\r\n foreach (var brewery in breweries)\r\n {\r\n if ((string)brewery[\"brewery_type\"] != type) continue;\r\n\r\n brewery[\"name\"] = getName((string)brewery[\"name\"]);\r\n\r\n var item = new Item((string)brewery[\"id\"], (string)brewery[\"name\"], null);\r\n result.Add(item);\r\n }\r\n\r\n result.Sort((x, y) => string.Compare(x.Name, y.Name, StringComparison.Ordinal));\r\n\r\n return result;\r\n }\r\n\r\n string getName(string name)\r\n {\r\n return $\"{name[0].ToString().ToUpper()}{name[1..]}\";\r\n }\r\n\r\n public class Item\r\n {\r\n public string Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n\r\n public Item()\r\n {\r\n }\r\n\r\n public Item(string id, string name)\r\n {\r\n Id = id;\r\n Name = name;\r\n }\r\n\r\n public Item(string id, string name, List children)\r\n {\r\n Id = id;\r\n Name = name;\r\n Children = children;\r\n }\r\n }\r\n\r\n}", + "Type": "Demos.Components.Treeview.misc.SelectableIcons", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Treeview.svg", + "Cols": 1, + "Related": [ + "/components/lists", + "/components/list-item-groups", + "/components/timelines" + ], + "Subtitle": "树形视图", + "Title": "Treeview", + "Type": "树形视图" + }, + { + "Desc": "

MUpload 组件是一个特殊的表单,它为选择文件,展示选中文件,展示上传进度提供了美观的界面,旨在取代标准的文件上传表单。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.7472409+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "index", + "Title": "使用", + "Description": "", + "Code": "@using System.IO;\r\n\r\n\r\n\r\n\r\n \r\n Upload\r\n \r\n\r\n\r\n@code {\r\n protected MUpload _uploadElementReference;\r\n\r\n bool chips = false;\r\n\r\n List files = new List()\r\n {\r\n new UploadFile { FileName =\"defaultFileName1\", Url = \"https://picsum.photos/510/300?random\", Uploaded = true, IsImage = true },\r\n new UploadFile { FileName = \"defaultFileNam2\", Url = \"https://picsum.photos/520/300?random\", Uploaded = true, IsImage = true }\r\n };\r\n\r\n [Inject]\r\n public IJSRuntime JsRuntime { get; set; }\r\n\r\n async Task HandleUpload(List uploadFiles)\r\n {\r\n var result = await JsRuntime.InvokeAsync>(\"testUploadFile\", _uploadElementReference.Element);\r\n for (int i = 0; i < result.Count; i++)\r\n {\r\n var item = result[i];\r\n uploadFiles[i].Uploaded = item.Uploaded;\r\n uploadFiles[i].Url = item.Url;\r\n uploadFiles[i].Error = item.Error;\r\n }\r\n\r\n files.AddRange(uploadFiles);\r\n }\r\n\r\n // javascript:\r\n //\r\n // window.testUploadFile = function(element) {\r\n // let result = []\r\n //\r\n // if(element){\r\n // for(let i = 0; i< element.files.length; i++){\r\n // var file = element.files[i]\r\n //\r\n // // TODO: oss here\r\n //\r\n // let fileInfo = {\r\n // fileName: file.name,\r\n // uploaded: true,\r\n // error: null,\r\n // url: \"\",\r\n // value: null\r\n // }\r\n //\r\n // result.push(fileInfo)\r\n // }\r\n // }\r\n //\r\n // return result;\r\n // }\r\n}", + "Type": "Demos.Components.Upload.usage.Index", + "Style": "", + "Debug": false, + "Group": 4 + }, + { + "Order": 1, + "Name": "picture", + "Title": "图片", + "Description": "", + "Code": "@using System.IO;\r\n\r\n\r\n \r\n @if (files.Count == 0)\r\n {\r\n \r\n mdi-plus\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n List files = new List()\r\n {\r\n new UploadFile { FileName =\"defaultFileName1\", Url = \"https://picsum.photos/510/300?random\", Uploaded = true, IsImage = true },\r\n };\r\n\r\n async Task HandleUpload(List uploadFiles)\r\n {\r\n // TODO: upload to server\r\n\r\n foreach (var file in uploadFiles)\r\n {\r\n var buffers = new byte[file.BrowserFile.Size];\r\n await file.BrowserFile.OpenReadStream().ReadAsync(buffers);\r\n // todo with buffers\r\n\r\n bool succeed = true;\r\n if (succeed)\r\n {\r\n // succeed to upload\r\n file.Uploaded = true;\r\n //file.Url = \"\";\r\n }\r\n else\r\n {\r\n // failed to upload\r\n file.Error = \"Error happens\";\r\n }\r\n }\r\n\r\n files.AddRange(uploadFiles);\r\n }\r\n}", + "Type": "Demos.Components.Upload.props.Picture", + "Style": "", + "Debug": false, + "Group": 0 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Related": [ + "/components/cards", + "/components/file-inputs", + "/components/images" + ], + "Subtitle": "上传文件", + "Title": "Uploads", + "Type": "上传文件" + }, + { + "Desc": "

MVirtualScroll 组件显示一个虚拟,无限 的列表。 它支持动态高度和垂直滚动。

\n", + "Order": 0, + "OtherDocs": { + "API": "\n\n" + }, + "LastWriteTime": "2021-11-17T17:23:13.7512402+08:00", + "DemoList": [ + { + "Order": 0, + "Name": "Bench", + "Title": "替补", + "Description": "

默认情况下, MvirtualScroll 不会预渲染出现在视图可见范围外的其它项。 使用 OverscanCount 属性会使滚动条渲染额外的项目作为 替补。 为了获得尽可能好的性能,建议尽量减小这个数字

\n", + "Code": "
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n @context\r\n \r\n \r\n\r\n \r\n \r\n User Database Record ID @context\r\n \r\n \r\n\r\n \r\n \r\n mdi-open-in-new\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n int _overscanCount = 0;\r\n\r\n int _length = 7000;\r\n\r\n int[] Items\r\n {\r\n get\r\n {\r\n int[] array = new int[_length];\r\n for (var i = 0; i < _length; i++)\r\n {\r\n array[i] = i + 1;\r\n }\r\n return array;\r\n }\r\n }\r\n}", + "Type": "Demos.Components.VirtualScroll.props.Bench", + "Style": "", + "Debug": false, + "Group": 0 + }, + { + "Order": 1, + "Name": "UserDirectory", + "Title": "用户目录", + "Description": "

MvirtualScroll 组件通过仅渲染填充滚动条所需要的内容来实现无限数量项目的渲染,ItemSize属性可以设置每个项的像素高度

\n", + "Code": "\r\n\r\n \r\n\r\n User Directory\r\n\r\n \r\n\r\n \r\n mdi-plus\r\n \r\n\r\n \r\n\r\n \r\n Lorem ipsum dolor sit, amet consectetur adipisicing elit. Quasi nobis a at voluptates culpa optio amet! Inventore deserunt voluptatem maxime a veniam placeat, eos impedit nulla quos? Officiis, aperiam ducimus.\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n @context.Initials\r\n \r\n \r\n\r\n \r\n \r\n @context.FullName\r\n \r\n \r\n\r\n \r\n \r\n\r\n View User\r\n\r\n \r\n mdi-open-in-new\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n\r\n@code\r\n{\r\n string[] _colors = new[] { \"#2196F3\", \"#90CAF9\", \"#64B5F6\", \"#42A5F5\", \"#1E88E5\", \"#1976D2\", \"#1565C0\", \"#0D47A1\", \"#82B1FF\", \"#448AFF\", \"#2979FF\", \"#2962FF\" };\r\n\r\n string[] _names = new[] { \"Oliver\", \"Jake\", \"Noah\", \"James\", \"Jack\", \"Connor\", \"Liam\", \"John\", \"Harry\", \"Callum\", \"Mason\", \"Robert\", \"Jacob\", \"Jacob\", \"Jacob\", \"Michael\", \"Charlie\", \"Kyle\", \"William\", \"William\", \"Thomas\", \"Joe\", \"Ethan\", \"David\", \"George\", \"Reece\", \"Michael\", \"Richard\", \"Oscar\", \"Rhys\", \"Alexander\", \"Joseph\", \"James\", \"Charlie\", \"James\", \"Charles\", \"William\", \"Damian\", \"Daniel\", \"Thomas\", \"Amelia\", \"Margaret\", \"Emma\", \"Mary\", \"Olivia\", \"Samantha\", \"Olivia\", \"Patricia\", \"Isla\", \"Bethany\" };\r\n\r\n string[] _surnames = new[] { \"Smith\", \"Anderson\", \"Clark\", \"Wright\", \"Mitchell\", \"Johnson\", \"Thomas\", \"Rodriguez\", \"Lopez\", \"Perez\", \"Williams\", \"Jackson\", \"Lewis\", \"Hill\", \"Roberts\", \"Jones\", \"White\", \"Lee\", \"Scott\", \"Turner\", \"Brown\", \"Harris\", \"Walker\", \"Green\", \"Phillips\", \"Davis\", \"Martin\", \"Hall\", \"Adams\", \"Campbell\", \"Miller\", \"Thompson\", \"Allen\", \"Baker\", \"Parker\", \"Wilson\", \"Garcia\", \"Young\", \"Gonzalez\", \"Evans\", \"Moore\", \"Martinez\", \"Hernandez\", \"Nelson\", \"Edwards\", \"Taylor\", \"Robinson\", \"King\", \"Carter\", \"Collins\" };\r\n\r\n Item[] Items\r\n {\r\n get\r\n {\r\n int namesLength = _names.Length;\r\n int surnamesLength = _surnames.Length;\r\n int colorsLength = _colors.Length;\r\n\r\n Item[] items = new Item[10000];\r\n for (var i = 0; i < 10000; i++)\r\n {\r\n string name = _names[GenRandomIndex(namesLength)];\r\n string surname = _surnames[GenRandomIndex(surnamesLength)];\r\n\r\n items[i] = new Item\r\n {\r\n Color = _colors[GenRandomIndex(colorsLength)],\r\n FullName = $\"{name} {surname}\",\r\n Initials = $\"{name[0]} {surname[0]}\"\r\n };\r\n }\r\n\r\n return items;\r\n }\r\n }\r\n\r\n public int GenRandomIndex(int length)\r\n {\r\n Random r = new Random();\r\n\r\n return (int)Math.Ceiling(r.NextDouble() * (length - 1));\r\n }\r\n\r\n class Item\r\n {\r\n public string Color { get; set; }\r\n public string FullName { get; set; }\r\n public string Initials { get; set; }\r\n }\r\n}", + "Type": "Demos.Components.VirtualScroll.misc.UserDirectory", + "Style": "", + "Debug": false, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Cols": 1, + "Related": [ + "/components/lists", + "/components/data-tables", + "/components/data-iterators" + ], + "Subtitle": "虚拟滚动条", + "Title": "Virtual scroller", + "Type": "虚拟滚动条" + } +] \ No newline at end of file From 562c801d8a61f306a3a0b853bb340e5a7949edf2 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:58 +0800 Subject: [PATCH 166/191] New translations components.zh-CN.json (English) --- en/en/components.zh-CN.json | 7874 ++--------------------------------- 1 file changed, 459 insertions(+), 7415 deletions(-) diff --git a/en/en/components.zh-CN.json b/en/en/components.zh-CN.json index 4b3c200a4a..66bed2da57 100644 --- a/en/en/components.zh-CN.json +++ b/en/en/components.zh-CN.json @@ -1,304 +1,348 @@ [ { - "Desc": "

该组件用于通过使用上下文类型,图标和颜色向用户传达重要信息。这些默认类型有4种变体:SuccessInfoWarningError\n。默认图标有助于表示每种类型所描述的不同动作。也可以自定义提示框的许多部分,例如 BorderIconColor 也可以自定义以适应几乎任何情况。

\n", + "Desc": "

使用边框半径辅助样式对元素快速应用 border-radius 样式

\n", "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-22T17:46:20.6336992+08:00", + "OtherDocs": {}, + "LastWriteTime": "2021-12-03T17:38:37.7273982+08:00", "DemoList": [ { - "Order": 1, - "Name": "index", + "Order": 0, + "Name": "basic", "Title": "使用", - "Description": "

最简单的警报形式是显示消息的平板纸。

\n", - "Code": "\r\n \r\n I'm an Alert Usage Example\r\n \r\n", - "Type": "Demos.Components.Alert.usage.Index", + "Description": "

下面将展示使用示例。注意:中缀符 sm , lg 和 xl 与边框半径 size 相关,不受断点的影响。

\n", + "Code": "
\r\n \r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n @Radius()\r\n
\r\n\r\n@code {\r\n private double _model = 3;\r\n private List _rounded = new() { \"0\", \"sm\", \"md\", \"lg\", \"xl\", \"pill\", \"circle\" };\r\n\r\n private string Radius()\r\n {\r\n var rounded = \"rounded\";\r\n var value = _rounded[(int)_model];\r\n if (value != \"md\")\r\n {\r\n rounded += $\"-{value}\";\r\n }\r\n\r\n return rounded;\r\n }\r\n}", + "Type": "Demos.StylesAndAnimations.BorderRadius.usage.Basic", "Style": "", "Debug": false, "Group": 4 }, { - "Order": 1, - "Name": "border", - "Title": "边框", - "Description": "

Border 属性支持将一个简单的边框添加到提示框的4个边。这可以和 ColorDarkType 这些属性一起使用来,为提示框提供强调作用。

\n", - "Code": "
\r\n \r\n I'm an alert with a top border and red color\r\n \r\n \r\n I'm an alert with a right border and blue-grey color\r\n \r\n \r\n I'm an alert with a bottom border and pink color\r\n \r\n \r\n I'm an alert with a border left type info\r\n \r\n
", - "Type": "Demos.Components.Alert.props.Border", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "coloredBorder", - "Title": "彩色的边框", - "Description": "

ColoredBorder prop 会移除警报背景,以突出 Border 属性 。如果设置了 Type,它将使用类型的默认颜色。如果没有设置 ColorType\n,颜色将默认为所应用的主题的反色(黑色代表浅色,白色/灰色代表深色)。

\n", - "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n Aliquam eu nunc. Fusce commodo aliquam arcu. In consectetuer turpis ut velit. Nulla facilisi..\r\n\r\n Morbi mollis tellus ac sapien. Fusce vel dui. Praesent ut ligula non mi varius sagittis. Vivamus consectetuer hendrerit lacus. Suspendisse enim turpis, dictum sed, iaculis a, condimentum nec, nisi.\r\n \r\n \r\n Vestibulum ullamcorper mauris at ligula. Nam pretium turpis et arcu. Ut varius tincidunt libero. Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo. Morbi nec metus.\r\n \r\n \r\n Sed in libero ut nibh placerat accumsan. Phasellus leo dolor, tempus non, auctor et, hendrerit quis, nisi. Phasellus leo dolor, tempus non, auctor et, hendrerit quis, nisi. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, quis gravida magna mi a libero. Donec elit libero, sodales nec, volutpat a, suscipit non, turpis.\r\n \r\n \r\n Fusce commodo aliquam arcu. Pellentesque posuere. Phasellus tempus. Donec posuere vulputate arcu.\r\n \r\n
", - "Type": "Demos.Components.Alert.props.ColoredBorder", + "Order": 4, + "Name": "horn", + "Title": "通过角设置半径", + "Description": "

边框半径可以通过使用 tl, tr, br, bl 内置类在每个角上配置; 例如. .rounded-br-xl.rounded-tr

\n", + "Code": "\r\n @foreach (var value in new string[4] { \"tl\", \"tr\", \"br\", \"bl\"})\r\n {\r\n \r\n
@($\".rounded-{value}-xl\")
\r\n
\r\n }\r\n
", + "Type": "Demos.StylesAndAnimations.BorderRadius.misc.Horn", "Style": "", "Debug": false, - "Group": 0 + "Group": 3 }, { - "Order": 3, - "Name": "dense", - "Title": "紧凑", - "Description": "

Dense 属性会降低提示框的高度来制造出一个简单且紧凑的风格。如果和 Border 属性一起使用,那么边界高度也会一起降低来保持风格统一。

\n", - "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n I'm a dense alert with a type of info\r\n \r\n \r\n I'm a dense alert with the text prop and a type of success\r\n \r\n \r\n I'm a dense alert with the border prop and a type of warning\r\n \r\n \r\n I'm a dense alert with the outlined prop and a type of error\r\n \r\n
", - "Type": "Demos.Components.Alert.props.Dense", + "Order": 1, + "Name": "remove", + "Title": "移除边框半径", + "Description": "

使用 .rounded-0 辅助类来移除元素所有的半径或按边角选择的半径; 例如 .rounded-l-0.rounded-tr-0.

\n", + "Code": "\r\n \r\n
.rounded-0
\r\n
\r\n
", + "Type": "Demos.StylesAndAnimations.BorderRadius.misc.Remove", "Style": "", "Debug": false, - "Group": 0 + "Group": 3 }, { - "Order": 4, - "Name": "dismissible", - "Title": "可关闭", - "Description": "

Dismissible 属性将会在提示框的尾部添加一个关闭按钮。点击此按钮将会将它的值设置为 false 且隐藏提示框。你也能够通过绑定 @bind-Value 的值为 true 来恢复提示框。关闭图标会自动应用\naria-label,可以通过修改 CloseLabel 属性或者改变本地设置 close 的值来进行更改它。

\n", - "Code": "
\r\n \r\n Aenean imperdiet. Quisque id odio. Cras dapibus. Pellentesque ut neque. Cras dapibus.\r\n\r\n Vivamus consectetuer hendrerit lacus. Sed mollis, eros et ultrices tempus, mauris ipsum aliquam libero, non adipiscing dolor urna a orci. Sed mollis, eros et ultrices tempus, mauris ipsum aliquam libero, non adipiscing dolor urna a orci. Curabitur blandit mollis lacus. Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo.\r\n \r\n\r\n @if (!visible)\r\n {\r\n
\r\n visible = !visible\">\r\n Reset\r\n \r\n
\r\n }\r\n
\r\n\r\n@code {\r\n bool visible = true;\r\n}", - "Type": "Demos.Components.Alert.props.Dismissible", + "Order": 0, + "Name": "round", + "Title": "药丸和圆形", + "Description": "

您可以使用 .rounded-pill 类创建药丸,并使用 .rounded-circle 类来创建圆形。

\n", + "Code": "\r\n \r\n
.rounded-pill
\r\n
\r\n\r\n \r\n
\r\n
.rounded-circle
\r\n
\r\n
", + "Type": "Demos.StylesAndAnimations.BorderRadius.misc.Round", "Style": "", "Debug": false, - "Group": 0 + "Group": 3 }, { - "Order": 5, - "Name": "icon", - "Title": "图标", - "Description": "

Icon 属性允许你在提示框的开头添加图标。如果提供了 Type,那么将会覆盖默认类型的图标。 此外设置 Icon 属性为 false 将会完全移除图标。

\n", - "Code": "
\r\n \r\n Suspendisse enim turpis, dictum sed, iaculis a, condimentum nec, nisi. Vivamus quis mi. Quisque ut nisi. Maecenas malesuada.\r\n \r\n \r\n Phasellus blandit leo ut odio. Morbi mattis ullamcorper velit. Donec orci lectus, aliquam ut, faucibus non, euismod id, nulla. In ut quam vitae odio lacinia tincidunt.\r\n \r\n \r\n Praesent congue erat at massa. Nullam vel sem. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Proin viverra, ligula sit amet ultrices semper, ligula arcu tristique sapien, a accumsan nisi mauris ac eros. Curabitur at lacus ac velit ornare lobortis.\r\n \r\n
", - "Type": "Demos.Components.Alert.props.Icon", + "Order": 2, + "Name": "set", + "Title": "设置所有角的半径", + "Description": "

通过 rounded 辅助类允许您修改元素的边框半径. 使用 .rounded-sm, .rounded, .rounded-lg, 和 .rounded-xl 添加不同大小的边框半径。

\n", + "Code": "\r\n @foreach (var value in new string[4] { \"-sm\", \"\", \"-lg\", \"-xl\"})\r\n {\r\n \r\n
@($\".rounded{value}\")
\r\n
\r\n }\r\n
", + "Type": "Demos.StylesAndAnimations.BorderRadius.misc.Set", "Style": "", "Debug": false, - "Group": 0 + "Group": 3 }, { - "Order": 6, - "Name": "outlined", - "Title": "轮廓", - "Description": "

Outlined 属性将会反转提示框的风格,它会继承当前应用的 Color 并应用与文本和边框且将其背景透明化。

\n", - "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n
\r\n Lorem Ipsum\r\n
\r\n
Maecenas ullamcorper, dui et placerat feugiat, eros pede varius nisi, condimentum viverra felis nunc et lorem. Duis vel nibh at velit scelerisque suscipit. Praesent blandit laoreet nibh. Aenean posuere, tortor sed cursus feugiat, nunc augue blandit nunc, eu sollicitudin urna dolor sagittis lacus. Etiam sollicitudin, ipsum eu pulvinar rutrum, tellus ipsum laoreet sapien, quis venenatis ante odio sit amet eros.
\r\n
\r\n \r\n Praesent venenatis metus at tortor pulvinar varius. Aenean commodo ligula eget dolor. Praesent ac massa at ligula laoreet iaculis. Vestibulum ullamcorper mauris at ligula.\r\n \r\n \r\n Duis arcu tortor, suscipit eget, imperdiet nec, imperdiet iaculis, ipsum. Suspendisse non nisl sit amet velit hendrerit rutrum. Nullam vel sem. Pellentesque dapibus hendrerit tortor.\r\n \r\n
", - "Type": "Demos.Components.Alert.props.Outlined", + "Order": 3, + "Name": "side", + "Title": "通过边设置半径", + "Description": "

边框半径可以通过使用 t, r, b, l 内置类在每条边上配置; 例如. .rounded-b-xl.rounded-t

\n", + "Code": "\r\n @foreach (var value in new string[4] { \"t\", \"r\", \"b\", \"l\"})\r\n {\r\n \r\n
@($\".rounded-{value}-xl\")
\r\n
\r\n }\r\n
", + "Type": "Demos.StylesAndAnimations.BorderRadius.misc.Side", "Style": "", "Debug": false, - "Group": 0 - }, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Subtitle": "边框半径", + "Title": "Border radius", + "Type": "边框半径" + }, + { + "Desc": "

通过 sassjavascript,你可以使用 Material Design 规范中的所有颜色。 这些值可以在样式表、组件文件和实际组件中通过颜色类系统使用。

\n", + "Order": 0, + "OtherDocs": {}, + "LastWriteTime": "2021-12-03T17:38:37.729399+08:00", + "DemoList": [ { - "Order": 7, - "Name": "prominent", - "Title": "突出", - "Description": "

Prominent 属性通过增加高度并向图标施加光晕来提供更明显的提示。当同时应用 ProminentDense 时,提示框将会呈现出普通的风格但是会 Prominent 图标特效。

\n", - "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n \r\n \r\n Nunc nonummy metus. Nunc interdum lacus sit amet orci. Nullam dictum felis eu pede mollis pretium. Cras id dui.\r\n \r\n \r\n Take action\r\n \r\n \r\n \r\n \r\n Sed augue ipsum, egestas nec, vestibulum et, malesuada adipiscing, dui. Aenean ut eros et nisl sagittis vestibulum. Sed aliquam ultrices mauris. Donec vitae orci sed dolor rutrum auctor.\r\n \r\n \r\n Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Sed in libero ut nibh placerat accumsan.. Curabitur blandit mollis lacus. Curabitur blandit mollis lacus.\r\n \r\n
", - "Type": "Demos.Components.Alert.props.Prominent", + "Order": 0, + "Name": "class", + "Title": "类", + "Description": "

规范中的每种颜色都会被转换为 backgroundtext 变体,以便通过一个类在你的应用中设置样式,例如 <div class="red"><span class="red--text">

\n", + "Code": "
\r\n Lorem ipsum\r\n
", + "Type": "Demos.StylesAndAnimations.Color.misc.Class", "Style": "", "Debug": false, - "Group": 0 + "Group": 3 }, { - "Order": 8, - "Name": "shaped", - "Title": "形状", - "Description": "

Shaped 属性将在 MAlert 的左上角和右下角添加边界半径。与其他样式的道具类似,Shaped 可以与其他属性(如 Dense, Prominent, Outlined and **\nText**)组合,以创建独特的定制组件。

\n", - "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n I'm a shaped alert with a border-radius at top-left, bottom-right\r\n \r\n \r\n I'm a shaped alert with a outline option\r\n \r\n \r\n I'm a shaped alert with a dense option option\r\n \r\n \r\n I'm a shaped alert with a dense prominent option that Praesent blandit laoreet nibh. Praesent nonummy mi in odio. Phasellus tempus. Mauris turpis nunc, blandit et, volutpat molestie, porta ut, ligula. Duis leo.\r\n \r\n
", - "Type": "Demos.Components.Alert.props.Shaped", + "Order": 2, + "Name": "material", + "Title": "Material 色彩表", + "Description": "

以下是按原色分组的 Material Design 调色板列表。

\n", + "Code": "\r\n \r\n @foreach (var item in _materialInfos)\r\n {\r\n \r\n \r\n \r\n @item.Title\r\n \r\n \r\n @if (!string.IsNullOrWhiteSpace(item.Name))\r\n {\r\n \r\n \r\n \r\n \r\n @item.Name\r\n \r\n \r\n @item.Color\r\n \r\n \r\n \r\n \r\n }\r\n @foreach (var info in item.Chridren)\r\n {\r\n \r\n \r\n \r\n \r\n @if (!string.IsNullOrWhiteSpace(item.Name))\r\n {\r\n @item.Name\r\n }\r\n @info.Name\r\n \r\n \r\n @info.Color\r\n \r\n \r\n \r\n \r\n }\r\n \r\n }\r\n \r\n\r\n\r\n@code\r\n{\r\n private class MaterialInfo\r\n { \r\n public string Name { get; set; }\r\n\r\n public string Title { get; set; }\r\n\r\n public string Color { get; set; }\r\n\r\n public List Chridren { get; set; }\r\n }\r\n\r\n private class MaterialChridren\r\n {\r\n public string Name { get; set; }\r\n\r\n public string Color { get; set; }\r\n\r\n public bool IsDark { get; set; }\r\n }\r\n\r\n private List _materialInfos = new()\r\n {\r\n new() \r\n {\r\n Name = \"red\",\r\n Title = \"red\",\r\n Color = \"#F44336\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#FFEBEE\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#FFCDD2\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#EF9A9A\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#E57373\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#EF5350\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#E53935\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#D32F2F\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#C62828\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#B71C1C\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#FF8A80\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#FF5252\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#FF1744\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#D50000\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"pink\",\r\n Title = \"pink\",\r\n Color = \"#E91E63\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#FCE4EC\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#F8BBD0\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#F48FB1\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#F06292\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#EC407A\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#D81B60\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#C2185B\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#AD1457\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#880E4F\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#FF80AB\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#FF4081\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#F50057\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#C51162\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"purple\",\r\n Title = \"purple\",\r\n Color = \"#9C27B0\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#F3E5F5\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#E1BEE7\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#CE93D8\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#BA68C8\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#AB47BC\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#8E24AA\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#7B1FA2\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#6A1B9A\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#4A148C\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#EA80FC\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#E040FB\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#D500F9\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#AA00FF\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"deep-purple\",\r\n Title = \"deep-purple\",\r\n Color = \"#673AB7\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#EDE7F6\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#D1C4E9\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#B39DDB\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#9575CD\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#7E57C2\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#5E35B1\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#512DA8\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#4527A0\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#311B92\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#B388FF\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#7C4DFF\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#651FFF\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#6200EA\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"indigo\",\r\n Title = \"indigo\",\r\n Color = \"#3F51B5\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#E8EAF6\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#C5CAE9\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#9FA8DA\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#7986CB\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#5C6BC0\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#3949AB\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#303F9F\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#283593\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#1A237E\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#8C9EFF\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#536DFE\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#3D5AFE\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#304FFE\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"blue\",\r\n Title = \"blue\",\r\n Color = \"#2196F3\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#E3F2FD\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#BBDEFB\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#90CAF9\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#64B5F6\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#42A5F5\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#1E88E5\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#1976D2\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#1565C0\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#0D47A1\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#82B1FF\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#448AFF\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#2979FF\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#2962FF\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"light-blue\",\r\n Title = \"light-blue\",\r\n Color = \"#03A9F4\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#E1F5FE\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#B3E5FC\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#81D4FA\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#81D4FA\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#81D4FA\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#039BE5\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#039BE5\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#0277BD\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#01579B\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#80D8FF\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#40C4FF\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#00B0FF\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#0091EA\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"cyan\",\r\n Title = \"cyan\",\r\n Color = \"#00BCD4\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#E0F7FA\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#B2EBF2\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#80DEEA\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#4DD0E1\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#26C6DA\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#00ACC1\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#0097A7\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#00838F\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#006064\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#84FFFF\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#18FFFF\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#00E5FF\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#00B8D4\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"teal\",\r\n Title = \"teal\",\r\n Color = \"#009688\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#E0F2F1\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#B2DFDB\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#80CBC4\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#4DB6AC\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#26A69A\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#00897B\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#00796B\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#00695C\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#004D40\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#A7FFEB\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#64FFDA\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#1DE9B6\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#00BFA5\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"green\",\r\n Title = \"green\",\r\n Color = \"#4CAF50\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#E8F5E9\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#C8E6C9\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#A5D6A7\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#81C784\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#66BB6A\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#43A047\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#388E3C\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#2E7D32\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#1B5E20\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#B9F6CA\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#69F0AE\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#00E676\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#00C853\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"light-green\",\r\n Title = \"light-green\",\r\n Color = \"#8BC34A\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#F1F8E9\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#DCEDC8\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#C5E1A5\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#AED581\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#9CCC65\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#7CB342\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#689F38\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#558B2F\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#33691E\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#CCFF90\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#B2FF59\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#76FF03\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#64DD17\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"lime\",\r\n Title = \"lime\",\r\n Color = \"#CDDC39\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#F9FBE7\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#F0F4C3\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#E6EE9C\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#DCE775\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#D4E157\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#C0CA33\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#AFB42B\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#9E9D24\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#827717\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#F4FF81\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#EEFF41\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#C6FF00\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#AEEA00\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"yellow\",\r\n Title = \"yellow\",\r\n Color = \"#FFEB3B\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#FFFDE7\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#FFF9C4\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#FFF59D\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#FFF176\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#FFEE58\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#FDD835\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#FBC02D\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#F9A825\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#F57F17\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#FFFF8D\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#FFFF00\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#FFEA00\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#FFD600\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"amber\",\r\n Title = \"amber\",\r\n Color = \"#FFC107\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#FFF8E1\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#FFECB3\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#FFE082\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#FFD54F\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#FFCA28\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#FFB300\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#FFA000\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#FF8F00\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#FF6F00\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#FFE57F\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#FFD740\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#FFC400\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#FFAB00\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"orange\",\r\n Title = \"orange\",\r\n Color = \"#FF9800\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#FFF3E0\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#FFE0B2\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#FFCC80\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#FFB74D\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#FFA726\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#FB8C00\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#F57C00\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#EF6C00\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#E65100\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#FFD180\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#FFAB40\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#FF9100\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#FF6D00\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"deep-orange\",\r\n Title = \"deep-orange\",\r\n Color = \"#FF5722\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#FBE9E7\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#FFCCBC\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#FFAB91\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#FF8A65\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#FF7043\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#F4511E\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#E64A19\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#D84315\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#BF360C\", IsDark = true},\r\n new() { Name = \"accent-1\", Color = \"#FF9E80\", IsDark = false},\r\n new() { Name = \"accent-2\", Color = \"#FF6E40\", IsDark = false},\r\n new() { Name = \"accent-3\", Color = \"#FF3D00\", IsDark = false},\r\n new() { Name = \"accent-4\", Color = \"#DD2C00\", IsDark = false}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"brown\",\r\n Title = \"brown\",\r\n Color = \"#795548\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#EFEBE9\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#D7CCC8\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#BCAAA4\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#A1887F\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#8D6E63\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#6D4C41\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#5D4037\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#4E342E\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#3E2723\", IsDark = true}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"blue-grey\",\r\n Title = \"blue-grey\",\r\n Color = \"#607D8B\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#ECEFF1\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#CFD8DC\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#B0BEC5\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#90A4AE\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#78909C\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#546E7A\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#455A64\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#37474F\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#263238\", IsDark = true}\r\n }\r\n },\r\n new() \r\n {\r\n Name = \"grey\",\r\n Title = \"grey\",\r\n Color = \"#9E9E9E\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"lighten-5\", Color = \"#FAFAFA\", IsDark = false},\r\n new() { Name = \"lighten-4\", Color = \"#F5F5F5\", IsDark = false},\r\n new() { Name = \"lighten-3\", Color = \"#EEEEEE\", IsDark = false},\r\n new() { Name = \"lighten-2\", Color = \"#E0E0E0\", IsDark = false},\r\n new() { Name = \"lighten-1\", Color = \"#BDBDBD\", IsDark = false},\r\n new() { Name = \"darken-1\", Color = \"#757575\", IsDark = true},\r\n new() { Name = \"darken-2\", Color = \"#616161\", IsDark = true},\r\n new() { Name = \"darken-3\", Color = \"#424242\", IsDark = true},\r\n new() { Name = \"darken-4\", Color = \"#212121\", IsDark = true}\r\n }\r\n },\r\n new()\r\n {\r\n Title = \"shades\",\r\n Chridren = new()\r\n {\r\n new() { Name = \"black\", Color = \"#000000\", IsDark = true},\r\n new() { Name = \"white\", Color = \"#FFFFFF\"},\r\n new() { Name = \"transparent\"}\r\n }\r\n }\r\n };\r\n}", + "Type": "Demos.StylesAndAnimations.Color.misc.Material", "Style": "", "Debug": false, - "Group": 0 + "Group": 3 }, { - "Order": 8, + "Order": 1, "Name": "text", - "Title": "文本", - "Description": "

Text 属性是一个简单的提示框变量,它对所提供的 Color 使用不透明的背景。类似于其他样式的属性,可与 Dense, Prominent, Outlined and Shaped\n等其他属性结合使用,以创建独特的定制组件。

\n", - "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n

\r\n Lorem Ipsum\r\n

\r\n
Maecenas nec odio et ante tincidunt tempus. Sed mollis, eros et ultrices tempus, mauris ipsum aliquam libero, non adipiscing dolor urna a orci. Proin viverra, ligula sit amet ultrices semper, ligula arcu tristique sapien, a accumsan nisi mauris ac eros. Curabitur turpis.
\r\n\r\n \r\n\r\n \r\n \r\n Proin magna. Vivamus in erat ut urna cursus vestibulum. Etiam imperdiet imperdiet orci.\r\n \r\n \r\n \r\n \r\n Okay\r\n \r\n \r\n \r\n
\r\n \r\n Nullam tincidunt adipiscing enim. In consectetuer turpis ut velit. Maecenas egestas arcu quis ligula mattis placerat. Praesent metus tellus, elementum eu, semper a, adipiscing nec, purus.\r\n \r\n \r\n Vestibulum ullamcorper mauris at ligula. Nulla porta dolor. Vestibulum facilisis, purus nec pulvinar iaculis, ligula mi congue nunc, vitae euismod ligula urna in dolor. Curabitur at lacus ac velit ornare lobortis.\r\n \r\n \r\n Praesent blandit laoreet nibh. Praesent nonummy mi in odio. Phasellus tempus. Mauris turpis nunc, blandit et, volutpat molestie, porta ut, ligula. Duis leo.\r\n \r\n
", - "Type": "Demos.Components.Alert.props.Text", + "Title": "文本颜色", + "Description": "

文本颜色也支持 darkenlighten 变体,使用 text--{lighten|darken}-{n} 即可。

\n", + "Code": "
\r\n Lorem ipsum dolor sit amet, inciderint definitionem est ea, explicari prodesset eam id. Mazim doctus vix an. Amet causae probatus nec ex.\r\n
", + "Type": "Demos.StylesAndAnimations.Color.misc.Text", "Style": "", "Debug": false, - "Group": 0 - }, + "Group": 3 + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Subtitle": "颜色", + "Title": "Colors", + "Type": "颜色" + }, + { + "Desc": "

显示辅助器允许你控制内容的显示。 可以根据当前视图或实际元素显示类型有条件地显示内容。

\n", + "Order": 0, + "OtherDocs": {}, + "LastWriteTime": "2021-12-03T17:38:37.7333982+08:00", + "DemoList": [ { - "Order": 8, - "Name": "transition", - "Title": "过渡", - "Description": "

Transition 属性可让你向提示框应用一个过渡,该动画在隐藏和显示组件时可见。 你可以在 内建过渡 浏览更多信息。

\n", - "Code": "
\r\n
\r\n _alert = !_alert\">\r\n Toggle\r\n \r\n
\r\n \r\n Phasellus tempus. Fusce ac felis sit amet ligula pharetra condimentum. In dui magna, posuere eget, vestibulum et, tempor auctor, justo. Pellentesque posuere. Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo.\r\n\r\n Phasellus nec sem in justo pellentesque facilisis. Phasellus magna. Cras risus ipsum, faucibus ut, ullamcorper id, varius ac, leo. In hac habitasse platea dictumst. Praesent turpis.\r\n \r\n
\r\n\r\n @code {\r\n private bool _alert = true;\r\n }", - "Type": "Demos.Components.Alert.props.Transition", + "Order": 1, + "Name": "printdisplay", + "Title": "打印显示", + "Description": "

你还可以在打印时更改显示属性。

\n
    \n
  • .d-print-none
  • \n
  • .d-print-inline
  • \n
  • .d-print-inline-block
  • \n
  • .d-print-block
  • \n
  • .d-print-table
  • \n
  • .d-print-table-row
  • \n
  • .d-print-table-cell
  • \n
  • .d-print-flex
  • \n
  • .d-print-inline-flex
  • \n
\n

打印功能类也可以与无打印显示功能组合。

\n", + "Code": "
\r\n
\r\n Screen Only (Hide on print only)\r\n
\r\n
\r\n Print Only (Hide on screen only)\r\n
\r\n
\r\n Hide up to large on screen, but always show on print\r\n
\r\n
", + "Type": "Demos.StylesAndAnimations.DisplayHelpers.misc.PrintDisplay", "Style": "", "Debug": false, - "Group": 0 + "Group": 3 }, { - "Order": 8, - "Name": "twitter", - "Title": "Twitter", - "Description": "

通过将 ColorDismissibleBorderElevationIconColoredBorder 属性组合在一起,你可以创建时尚的自定义提醒,比如这个 twitter\n通知。

\n", - "Code": "
\r\n
\r\n \r\n You've got 5 new updates on your timeline!.\r\n \r\n\r\n
\r\n @if (!_alert)\r\n {\r\n _alert = true\">\r\n Reset Alert\r\n \r\n }\r\n
\r\n
\r\n
\r\n\r\n@code{\r\n private bool _alert = true;\r\n}", - "Type": "Demos.Components.Alert.props.Twitter", + "Order": 0, + "Name": "show", + "Title": "显示", + "Description": "\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Material Design 断点\n
设备代码类型像素范围
\n \n Extra small (超小号)\n xs小型号到大型号的手机< 600px
\n \n Small (小号)\n sm小型号到中型号的平板600px > < 960px
\n \n Medium (中号)\n md大型号平板到手提电脑960px > < 1264px*
\n \n Large (大号)\n lg桌面端1264px > < 1904px*
\n \n Extra large (超大号)\n xl4K 和超宽屏幕> 1904px*
\n 桌面端上浏览器滚动条的宽度为 * -16px \n
\n \n 规格\n
\n
\n
\n
\n

当为显示辅助类设置一个特定断点时,它将应用于所有屏幕从指定值开始的宽度。 例如, d-lg-flex 将适用于 lgxl 的屏幕尺寸。

\n", + "Code": "
\r\n
\r\n d-inline\r\n
\r\n
\r\n d-inline\r\n
\r\n
\r\n
\r\n
\r\n
\r\n d-block\r\n
\r\n
\r\n d-block\r\n
\r\n
", + "Type": "Demos.StylesAndAnimations.DisplayHelpers.misc.Show", "Style": "", "Debug": false, - "Group": 0 + "Group": 3 }, { - "Order": 9, - "Name": "type", - "Title": "类型", - "Description": "

Type 属性提供 4 种默认的样式:Success, Info, Warning, 和 Error。每个样式都提供默认图标和颜色。

\n", - "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n \r\n I'm a success alert.\r\n \r\n\r\n \r\n I'm an info alert.\r\n \r\n\r\n \r\n I'm a warning alert.\r\n \r\n\r\n \r\n I'm an error alert.\r\n \r\n
", - "Type": "Demos.Components.Alert.props.Type", + "Order": 0, + "Name": "visibility", + "Title": "可见性", + "Description": "

根据当前 viewport 的宽度上限有条件的显示元素。 断点实用类始终自下而上应用。 这意味着如果你有 .d-none, 它将应用于所有断点。 然而, .d-md-none 将仅应用于 md 及以上。

\n

您还可以使用横向显示辅助类基于当前 viewport 宽度上限来显示元素。 这些类可以使用以下格式 hidden-{breakpoint}-{condition} 使用。

\n

基于以下 条件 应用类:

\n

1.only - 只在 xsxl 断点隐藏元素

\n

2.and down - 在指定的断点和以下隐藏元素, 从 sm 到 lg 断点

\n

3.and down - 在指定的断点和以上隐藏元素, 从 sm 到 lg 断点

\n

此外, 可以使用 only 条件确定目标 媒体类型 。 目前支持 hidden-screen-onlyhidden-print-only

\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
屏幕大小
全部隐藏.d-none
仅在 xs 大小时隐藏.d-none .d-sm-flex
仅在 sm 大小时隐藏.d-sm-none .d-md-flex
仅在 md 大小时隐藏.d-md-none .d-lg-flex
仅在 lg 大小时隐藏.d-lg-none .d-xl-flex
仅在 xl 大小时隐藏.d-xl-none
全部可见.d-flex
仅在 xs 大小时可见.d-flex .d-sm-none
仅在 sm 大小时可见.d-none .d-sm-flex .d-md-none
仅在 md 大小时可见.d-none .d-md-flex .d-lg-none
仅在 lg 大小时可见.d-none .d-lg-flex .d-xl-none
仅在 xl 大小时可见.d-none .d-xl-flex
\n
\n
\n
\n", + "Code": "
\r\n
\r\n hide on screens wider than lg\r\n
\r\n
\r\n hide on screens smaller than lg\r\n
\r\n
", + "Type": "Demos.StylesAndAnimations.DisplayHelpers.misc.Visibility", "Style": "", "Debug": false, - "Group": 0 + "Group": 3 } ], "Children": [], "Category": "Components", "Cols": 1, - "Related": [ - "/components/buttons", - "/components/icons", - "/components/dialogs" - ], - "Subtitle": "提示框", - "Title": "Alerts", - "Type": "提示框" - }, - { - "Desc": "

在 MASA.Blazor 中,MApp 组件和 MNavigationDrawerMAppBarMFooter 等组件上的 App 属性,帮助你的应用围绕 MMain 组件进行适当的大小调整。\n这使你可以创建真正独特的界面,无需因管理布局尺寸而烦恼。 所有应用都需要 MApp 组件。 这是许多 MASA Blazor 组件和功能的挂载点,并确保它将默认的应用主题\n(Dark/Light)传递给子组件,并确保在浏览器中对某些点击事件的正确跨浏览器支持。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n\n

为了让你的应用正常工作,你必须将其包裹在 MApp 组件中。 该组件是确保正确的跨浏览器兼容性所必需的。

\n\n\n

如果你在应用中使用多个布局,你需要确保每个包含组件的根布局文件在其模板的根部有一个 MApp

\n\n", - "默认应用标记": "\n

这是一个默认应用标记的例子。 只要设置 App 属性,你可以将布局元素放在任何地方。此处的关键组件是MMain。它将会根据您分配的 app\n组件动态地调整大小。你可以使用上述任何或所有组件的组合,包括 MBottomNavigation

\n
<!-- MainLayout.razor -->\n@inherits LayoutComponentBase\n\n<MApp>\n  <MNavigationDrawer App>\n    <!-- -->\n  </MNavigationDrawer>\n\n  <MAppBar App>\n    <!-- -->\n  </MAppBar>\n\n  <!-- 根据应用组件来调整你的内容 -->\n  <MMain>\n    <!-- 给应用提供合适的间距 -->\n    <MContainer Fluid>\n        @Body\n    </MContainer>\n  </MMain>\n\n  <MFooter App>\n    <!-- -->\n  </MFooter>\n</MApp>\n
\n\n

设置 App 属性会自动给布局元素设置 position: fixed。 如果你的应用程序需要一个绝对定位元素,你可以使用 Absolute 属性来覆盖这个功能。

\n\n", - "应用组件": "\n

以下是所有支持 App 属性的组件列表,这些组件可以在你的应用中用作布局元素。 这些组件可以混合和匹配,并且每个特定组件在任何时候都只能存在一个。 不过,你可以把它们换掉,布局也能适应。\n有关如何构建各种布局的一些示例,请查看预制布局页面。

\n

每一个应用组件都有一个指定的位置和优先级,影响布局系统中的位置。

\n
    \n
  • MAppBar:总是放在应用顶部,优先级低于 MSystemBar
  • \n
  • MBottomNavigation:总是放在应用底部,优先级高于 MFooter
  • \n
  • MFooter:总是放在应用底部,优先级低于 MBottomNavigation
  • \n
  • MNavigationDrawer:可以放置在应用的左边或右边,并且可以配置在 MAppBar 的旁边或下面。
  • \n
  • MSystemBar:总是放在应用顶部,优先级高于 MAppBar
  • \n
\n", - "应用服务": "\n

应用服务用于配置你的布局。 它与 MMain 组件通信,以便它能够正确地调整应用内容。 它有一些可以访问的属性:

\n
double Bar { get; }\ndouble Bottom { get; }\ndouble Footer { get; }\ndouble InsetFooter { get; }\ndouble Left { get; }\ndouble Right { get; }\ndouble Top { get; }\n
\n

当你使用 App 属性添加和删除组件时,这些值会自动更新。 它们是不可编辑的,并且以只读状态存在。 你可以通过引用 Application 对象的应用属性来访问这些值。

\n
 [Inject] public GlobalConfig GlobalConfig { get; set; }\n \n Console.WriteLine(GlobalConfig.Application.Footer); // 60\n
\n\n

为了让你的应用正常工作,你必须将其包裹在 MApp 组件中。 该组件是确保正确的跨浏览器兼容性所必需的。

\n\n" - }, - "LastWriteTime": "0001-01-01T00:00:00", - "DemoList": [], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/features/theme", - "/components/app-bars", - "/components/navigation-drawers" - ], - "Subtitle": "应用程序", - "Title": "Application", - "Type": "应用程序" + "Subtitle": "显示辅助", + "Title": "Display helpers", + "Type": "显示辅助" }, { - "Desc": "

MResponsive 组件可用于将任何部分固定到特定的宽高比。

\n", + "Desc": "

该工具可以让你控制两平面之间沿 z 轴方向的相对深度,或者说距离。 总共有25个高度。 您可以通过使用 elevation-{n}类设置元素的海拔, 其中 n 是0-24之间与所需海拔对应的整数。

\n", "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.4382487+08:00", + "OtherDocs": {}, + "LastWriteTime": "2021-12-03T17:38:37.7373984+08:00", "DemoList": [ { - "Order": 1, + "Order": 0, "Name": "basic", "Title": "使用", - "Description": "

指定自定义长宽比

\n", - "Code": "
\r\n \r\n \r\n \r\n This card will always be 16:9 (unless you put more stuff in it)\r\n \r\n \r\n \r\n
", - "Type": "Demos.Components.AspectRatios.usage.Basic", + "Description": "

Elevation 助手类允许您为任何元素分配一个自定义 z-deep。

\n", + "Code": "\r\n \r\n @for (var i = 0; i < 25; i++)\r\n {\r\n var num = i;\r\n \r\n \r\n \r\n @num\r\n \r\n \r\n \r\n }\r\n \r\n", + "Type": "Demos.StylesAndAnimations.Elevation.usage.Basic", "Style": "", "Debug": false, "Group": 4 + }, + { + "Order": 0, + "Name": "attributes", + "Title": "属性", + "Description": "

动态海拔

\n

众多组件使用 Elevation 混合,获得 Elevation prop。 对于不支持的组件, 您可以动态地更改类。

\n", + "Code": "
\r\n \r\n \r\n \r\n Prop based elevation\r\n \r\n \r\n\r\n
\r\n\r\n \r\n \r\n
\r\n Class based elevation\r\n
\r\n
\r\n
", + "Type": "Demos.StylesAndAnimations.Elevation.misc.Attributes", + "Style": "", + "Debug": false, + "Group": 3 } ], "Children": [], "Category": "Components", "Cols": 1, - "Related": [ - "/components/cards", - "/components/sheets", - "/components/images" - ], - "Subtitle": "长宽比", - "Title": "Aspect ratios", - "Type": "长宽比" + "Subtitle": "海拔", + "Title": "Elevation", + "Type": "海拔" }, { - "Desc": "

MAvatar 组件通常用于显示用户个人资料图片。 此组件允许您动态添加设置响应图像、图标和文字的边框半径。 ** tile ** 变量可用来显示无边框半径的头像。

\n", + "Desc": "

使用响应的 flexbox 实用程序通过对齐、排列等方式控制 flex 容器的布局, 采用 Flex 布局的元素,称为 Flex 容器(flex container),简称”容器”。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称”项目”。

\n", "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-12-02T18:38:45.4260729+08:00", + "OtherDocs": {}, + "LastWriteTime": "2021-12-03T17:38:37.7393986+08:00", "DemoList": [ + { + "Order": 3, + "Name": "align", + "Title": "Flex 纵轴对齐", + "Description": "

可以通过 flex 的 align 类改变 align-items 设置. 默认情况下, 这将修改 y轴 上的 flex 项目, 但是当使用 flex-direction: column 时将被反转从而修改 x轴. 从 start , end, center, baseline, 或 stretch(浏览器默认) 选择一个值.

\n\n
\n \n \n
\n

\n 当在 IE11 使用 flex 纵轴对齐时,你需要显示设置一个\n height,因为\n min-height 的不足会导致不符合预期的结果。\n

\n
\n
\n
\n
\n

align-items 同样也有一些弹性变量.

\n
    \n
  • .align-start
  • \n
  • .align-end
  • \n
  • .align-center
  • \n
  • .align-baseline
  • \n
  • .align-stretch
  • \n
  • .align-sm-start
  • \n
  • .align-sm-end
  • \n
  • .align-sm-center
  • \n
  • .align-sm-baseline
  • \n
  • .align-sm-stretch
  • \n
  • .align-md-start
  • \n
  • .align-md-end
  • \n
  • .align-md-center
  • \n
  • .align-md-baseline
  • \n
  • .align-md-stretch
  • \n
  • .align-lg-start
  • \n
  • .align-lg-end
  • \n
  • .align-lg-center
  • \n
  • .align-lg-baseline
  • \n
  • .align-lg-stretch
  • \n
  • .align-xl-start
  • \n
  • .align-xl-end
  • \n
  • .align-xl-center
  • \n
  • .align-xl-baseline
  • \n
  • .align-xl-stretch
  • \n
\n", + "Code": "
\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n \r\n align-start\r\n \r\n }\r\n \r\n\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n \r\n align-end\r\n \r\n }\r\n \r\n\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n \r\n align-center\r\n \r\n }\r\n \r\n\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n \r\n align-baseline\r\n \r\n }\r\n \r\n\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n \r\n align-stretch\r\n \r\n }\r\n \r\n
", + "Type": "Demos.StylesAndAnimations.Flex.misc.Align", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 8, + "Name": "aligncontent", + "Title": "Flex 内容对齐", + "Description": "

可以通过 flex 的 align-content 类改变 align-content 设置. 默认情况下, 这将修改 x轴 上的 flex 项目, 但是当使用 flex-direction: column 时将被反转从而修改 y轴. 从 start (浏览器默认) , end, center, between, around, 或 stretch 选择一个值.

\n

align-content 同样也有一些弹性变量.

\n
    \n
  • align-content-start
  • \n
  • align-content-end
  • \n
  • align-content-center
  • \n
  • align-content-space-between
  • \n
  • align-content-space-around
  • \n
  • align-content-stretch
  • \n
  • align-sm-content-start
  • \n
  • align-sm-content-end
  • \n
  • align-sm-content-center
  • \n
  • align-sm-content-space-between
  • \n
  • align-sm-content-space-around
  • \n
  • align-sm-content-stretch
  • \n
  • align-md-content-start
  • \n
  • align-md-content-end
  • \n
  • align-md-content-center
  • \n
  • align-md-content-space-between
  • \n
  • align-md-content-space-around
  • \n
  • align-md-content-stretch
  • \n
  • align-lg-content-start
  • \n
  • align-lg-content-end
  • \n
  • align-lg-content-center
  • \n
  • align-lg-content-space-between
  • \n
  • align-lg-content-space-around
  • \n
  • align-lg-content-stretch
  • \n
  • align-xl-content-start
  • \n
  • align-xl-content-end
  • \n
  • align-xl-content-center
  • \n
  • align-xl-content-space-between
  • \n
  • align-xl-content-spacearound
  • \n
  • align-xl-content-stretch
  • \n
\n", + "Code": "
\r\n \r\n @for (var i = 1; i <= 20; i++)\r\n {\r\n \r\n Flex item\r\n \r\n }\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n @for (var i = 1; i <= 20; i++)\r\n {\r\n \r\n Flex item\r\n \r\n }\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n @for (var i = 1; i <= 20; i++)\r\n {\r\n \r\n Flex item\r\n \r\n }\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n @for (var i = 1; i <= 20; i++)\r\n {\r\n \r\n Flex item\r\n \r\n }\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n @for (var i = 1; i <= 20; i++)\r\n {\r\n \r\n Flex item\r\n \r\n }\r\n \r\n
\r\n", + "Type": "Demos.StylesAndAnimations.Flex.misc.AlignContent", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 4, + "Name": "alignself", + "Title": "Flex 自身对齐", + "Description": "

可以通过 flex 的 align-self 类改变 align-self 设置. 默认情况下, 这将修改 x轴 上的 flex 项目, 但是当使用 flex-direction: column 时将被反转从而修改 y轴. 从 start , end, center, baseline, auto, 或 stretch(浏览器默认) 选择一个值.

\n

align-self-items 同样也有一些弹性变量.

\n
    \n
  • .align-self-start
  • \n
  • .align-self-end
  • \n
  • .align-self-center
  • \n
  • .align-self-baseline
  • \n
  • .align-self-auto
  • \n
  • .align-self-stretch
  • \n
  • .align-self-sm-start
  • \n
  • .align-self-sm-end
  • \n
  • .align-self-sm-center
  • \n
  • .align-self-sm-baseline
  • \n
  • .align-self-sm-auto
  • \n
  • .align-self-sm-stretch
  • \n
  • .align-self-md-start
  • \n
  • .align-self-md-end
  • \n
  • .align-self-md-center
  • \n
  • .align-self-md-baseline
  • \n
  • .align-self-md-auto
  • \n
  • .align-self-md-stretch
  • \n
  • .align-self-lg-start
  • \n
  • .align-self-lg-end
  • \n
  • .align-self-lg-center
  • \n
  • .align-self-lg-baseline
  • \n
  • .align-self-lg-auto
  • \n
  • .align-self-lg-stretch
  • \n
  • .align-self-xl-start
  • \n
  • .align-self-xl-end
  • \n
  • .align-self-xl-center
  • \n
  • .align-self-xl-baseline
  • \n
  • .align-self-xl-auto
  • \n
  • .align-self-xl-stretch
  • \n
\n", + "Code": "
\r\n @foreach (var j in _justify)\r\n {\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n var n = i;\r\n \r\n @(n == 2 ? \"Aligned flex item\": \"Flex item\")\r\n \r\n }\r\n \r\n }\r\n
\r\n\r\n@code\r\n{\r\n private List _justify = new() { \"start\", \"end\", \"center\", \"baseline\", \"auto\", \"stretch\" };\r\n}", + "Type": "Demos.StylesAndAnimations.Flex.misc.AlignSelf", + "Style": "", + "Debug": false, + "Group": 3 + }, { "Order": 1, - "Name": "index", - "Title": "使用", - "Description": "

头像以最简单的形式在圆形容器中显示内容。

\n", - "Code": "
\r\n \r\n VJ\r\n \r\n
", - "Type": "Demos.Components.Avatar.usage.Index", + "Name": "direction", + "Title": "Flex (主轴) 方向", + "Description": "

默认情况下, d-flex 应用于 flex-direction: row 并且一般可以省略。 但是,在某些情况下,您可能需要显式地定义它。

\n", + "Code": "
\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n var num = i;\r\n \r\n @($\"Flex item {num}\")\r\n \r\n }\r\n \r\n\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n var num = i;\r\n \r\n @($\"Flex item {num}\")\r\n \r\n }\r\n \r\n
", + "Type": "Demos.StylesAndAnimations.Flex.misc.Direction", "Style": "", "Debug": false, - "Group": 4 + "Group": 3 + }, + { + "Order": 1, + "Name": "directionex", + "Title": "Flex (主轴) 方向扩展", + "Description": "

flex-columnflex-column-reverse 可以用于改变 flexbox 容器的方向. 请注意, IE11 和 Safari 可能存在列方向的问题.

\n

flex-direction 也有响应式变化。

\n
    \n
  • .flex-row
  • \n
  • .flex-row-reverse
  • \n
  • .flex-column
  • \n
  • .flex-column-reverse
  • \n
  • .flex-sm-row
  • \n
  • .flex-sm-row-reverse
  • \n
  • .flex-sm-column
  • \n
  • .flex-sm-column-reverse
  • \n
  • .flex-md-row
  • \n
  • .flex-md-row-reverse
  • \n
  • .flex-md-column
  • \n
  • .flex-md-column-reverse
  • \n
  • .flex-lg-row
  • \n
  • .flex-lg-row-reverse
  • \n
  • .flex-lg-column
  • \n
  • .flex-lg-column-reverse
  • \n
  • .flex-xl-row
  • \n
  • .flex-xl-row-reverse
  • \n
  • .flex-xl-column
  • \n
  • .flex-xl-column-reverse
  • \n
\n", + "Code": "
\r\n
\r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n var num = i;\r\n \r\n @($\"Flex item {num}\")\r\n \r\n }\r\n
\r\n
\r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n var num = i;\r\n \r\n @($\"Flex item {num}\")\r\n \r\n }\r\n
\r\n
", + "Type": "Demos.StylesAndAnimations.Flex.misc.DirectionEx", + "Style": "", + "Debug": false, + "Group": 3 }, { "Order": 0, - "Name": "size", - "Title": "尺寸", - "Description": "

size属性允许你定义m-avatar的高度和宽度。此属性以1的纵横比均匀缩放。height和width属性将覆盖此属性。

\n", - "Code": "\r\n \r\n 36\r\n \r\n\r\n \r\n 48\r\n \r\n\r\n \r\n 62\r\n \r\n\r\n", - "Type": "Demos.Components.Avatar.props.Size", + "Name": "enabling", + "Title": "启用 flexbox", + "Description": "

使用 display 工具类, 你可以将任何元素转换为 flexbox 容器并将该元素的子元素转成 flex 元素. 使用附加的 flex 属性工具类,您可以进一步定制它们的交互。

\n

您还可以基于各种断点应用自定义的 flex 工具类。

\n
    \n
  • .d-flex
  • \n
  • .d-inline-flex
  • \n
  • .d-sm-flex
  • \n
  • .d-sm-inline-flex
  • \n
  • .d-md-flex
  • \n
  • .d-md-inline-flex
  • \n
  • .d-lg-flex
  • \n
  • .d-lg-inline-flex
  • \n
  • .d-xl-flex
  • \n
  • .d-xl-inline-flex
  • \n
\n", + "Code": "\r\n
I'm a flexbox container!
\r\n
\r\n\r\n
\r\n\r\n\r\n
I'm an inline flexbox container!
\r\n
", + "Type": "Demos.StylesAndAnimations.Flex.misc.Enabling", "Style": "", "Debug": false, - "Group": 0 + "Group": 3 }, { - "Order": 1, - "Name": "tile", - "Title": "方块", - "Description": "

tile属性移除了m-avatar的边界半径,只留下一个简单的方形头像。

\n", - "Code": "
\r\n \r\n mdi-alarm\r\n \r\n
\r\n", - "Type": "Demos.Components.Avatar.props.Tile", + "Order": 9, + "Name": "growshrink", + "Title": "Flex 增长系数和收缩系数", + "Description": "

MASA Blazor 有用于手动应用增长和收缩系数的辅助类. 通过添加 flex-{condition}-{value} 格式的辅助类来使用。 condition 可以是 growshrink 两者之一, value可以是 01 两者之一。 grow 将允许元素增长以填充可用的空间, 然而 shrink 将允许项目收缩到它的内容所需要的空间. 但是,只有当项目必须收缩以适合其容器时才会发生这种情况,例如容器大小调整或受到 flex-grow-1 的影响。 值0将阻止该条件的发生,而1则允许出现这种情况。 以下类可用:

\n
    \n
  • flex-grow-0
  • \n
  • flex-grow-1
  • \n
  • flex-shrink-0
  • \n
  • flex-shrink-1
  • \n
\n

这些辅助类同样可以基于断点以 flex-{breakpoint}-{condition}-{state} 的格式创建更多的弹性变量. 以下组合可用:

\n
    \n
  • flex-sm-grow-0
  • \n
  • flex-md-grow-0
  • \n
  • flex-lg-grow-0
  • \n
  • flex-xl-grow-0
  • \n
  • flex-sm-grow-1
  • \n
  • flex-md-grow-1
  • \n
  • flex-lg-grow-1
  • \n
  • flex-xl-grow-1
  • \n
  • flex-sm-shrink-0
  • \n
  • flex-md-shrink-0
  • \n
  • flex-lg-shrink-0
  • \n
  • flex-xl-shrink-0
  • \n
  • flex-sm-shrink-1
  • \n
  • flex-md-shrink-1
  • \n
  • flex-lg-shrink-1
  • \n
  • flex-xl-shrink-1
  • \n
\n", + "Code": "\r\n \r\n \r\n \r\n I'm 2 column wide\r\n \r\n \r\n \r\n \r\n I'm 1 column wide and I grow to take all the space\r\n \r\n \r\n \r\n \r\n I'm 5 column wide and I shrink if there's not enough space\r\n \r\n \r\n \r\n", + "Type": "Demos.StylesAndAnimations.Flex.misc.GrowShrink", "Style": "", "Debug": false, - "Group": 0 + "Group": 3 }, { "Order": 2, - "Name": "default", - "Title": "默认值", - "Description": "

m-avatar 默认插槽将接受 m-icon 组件、图像或文本。 将这些道具与其他道具混合搭配以创造独特的东西。

\n", - "Code": "\r\n\t\r\n\t\tmdi-account-circle\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\tCJ\r\n\t\r\n", - "Type": "Demos.Components.Avatar.contents.Default", + "Name": "justify", + "Title": "Flex 横轴对齐", + "Description": "

可以通过 flex 的 justify 类改变 justify-content 设置. 默认情况下, 这将修改 x轴 上的 flex 项目, 但是当使用 flex-direction: column 时将被反转从而修改 y轴. 从 start (浏览器默认), end, center, space-between, 或 space-acound 选择一个值.

\n

justify-content 同样也有一些弹性变量.

\n
    \n
  • .justify-start
  • \n
  • .justify-end
  • \n
  • .justify-center
  • \n
  • .justify-space-between
  • \n
  • .justify-space-around
  • \n
  • .justify-sm-start
  • \n
  • .justify-sm-end
  • \n
  • .justify-sm-center
  • \n
  • .justify-sm-space-between
  • \n
  • .justify-sm-space-around
  • \n
  • .justify-md-start
  • \n
  • .justify-md-end
  • \n
  • .justify-md-center
  • \n
  • .justify-md-space-between
  • \n
  • .justify-md-space-around
  • \n
  • .justify-lg-start
  • \n
  • .justify-lg-end
  • \n
  • .justify-lg-center
  • \n
  • .justify-lg-space-between
  • \n
  • .justify-lg-space-around
  • \n
  • .justify-xl-start
  • \n
  • .justify-xl-end
  • \n
  • .justify-xl-center
  • \n
  • .justify-xl-space-between
  • \n
  • .justify-xl-space-around
  • \n
\n", + "Code": "
\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n \r\n justify-start\r\n \r\n }\r\n \r\n\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n \r\n justify-end\r\n \r\n }\r\n \r\n\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n \r\n justify-center\r\n \r\n }\r\n \r\n\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n \r\n justify-space-between\r\n \r\n }\r\n \r\n\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n \r\n justify-space-around\r\n \r\n }\r\n \r\n
", + "Type": "Demos.StylesAndAnimations.Flex.misc.Justify", "Style": "", "Debug": false, - "Group": 2 + "Group": 3 }, { "Order": 5, - "Name": "businesscard", - "Title": "个人名片", - "Description": "

使用 tile prop,我们可以创建一个名片。

\n", - "Code": "\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tMarcus Obrien\r\n\t\t\t\t\t\tNetwork Engineer\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n", - "Type": "Demos.Components.Avatar.misc.BusinessCard", + "Name": "margins", + "Title": "自动边距", + "Description": "

在 flexbox 容器中使用 flex-rowflex-column 这样的边距辅助类, 你可以分别控制 flex 项目在 x轴y轴 上的位置.

\n\n
\n \n \n
\n

\n IE11不能正确支持具有非默认“justify content”值的 flexbox\n 容器的 flex 元素的自动边距。 更多详细信息请\n 参阅此 StackOverflow 答案\n 。\n

\n
\n
\n
\n
\n", + "Code": "
\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n \r\n Flex item\r\n \r\n }\r\n \r\n\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n var n = i;\r\n \r\n Flex item\r\n \r\n }\r\n \r\n\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n var n = i;\r\n \r\n Flex item\r\n \r\n }\r\n \r\n
", + "Type": "Demos.StylesAndAnimations.Flex.misc.Margins", "Style": "", "Debug": false, "Group": 3 }, { - "Order": 4, - "Name": "menu", - "Title": "菜单", - "Description": "

你可以将头像和菜单结合起来。

\n", - "Code": "\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t@initials\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t@initials\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t

@fullName

\r\n\t\t\t\t\t\t\t

@email

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tEdit Account\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tDisconnect\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n@code {\r\n\tstring initials = \"JD\";\r\n\tstring fullName = \"John Doe\";\r\n\tstring email = \"john.doe@doe.com\";\r\n}", - "Type": "Demos.Components.Avatar.misc.Menu", + "Order": 5, + "Name": "marginsex", + "Title": "自动边距 使用 align-items", + "Description": "

混合 flex-direction: columnalign-items, 你可以利用 .mt-auto.mb-auto 辅助类来调整 flex 项目的位置.

\n", + "Code": "
\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n var n = i;\r\n \r\n Flex item\r\n \r\n }\r\n \r\n\r\n \r\n @for (var i = 1; i <= 3; i++)\r\n {\r\n var n = i;\r\n \r\n Flex item\r\n \r\n }\r\n \r\n
", + "Type": "Demos.StylesAndAnimations.Flex.misc.MarginsEx", "Style": "", "Debug": false, "Group": 3 }, { - "Order": 3, - "Name": "other", - "Title": "高级用法", - "Description": "

将头像与其他组件组合在一起,你就可以构建漂亮的用户界面。

\n", - "Code": "\r\n\t\r\n\t\t\r\n\t\t\tToday\r\n\t\t\r\n\t\t\r\n\t\t\t@foreach(var message in Messages)\r\n\t\t\t{\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t@if(!string.IsNullOrWhiteSpace(message.Avatar)) \r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t} \r\n\t\t\t\t\t\t\t\t\telse \r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t@message.Icon\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t@message.Name\r\n\t\t\t\t\t\t\t\t@if(message.Total > 0) \r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t@($\"({message.Total})\")\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t@if(message.New > 0) \r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t@($\"{message.New} new\")\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@message.Title\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t@if(!string.IsNullOrWhiteSpace(message.Excerpt)) \r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t@message.Excerpt\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t@_lorem\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\r\n\t\r\n\r\n\r\n@code\r\n{\r\n private string _lorem = \"Lorem ipsum dolor sit amet, at aliquam vivendum vel, everti delicatissimi cu eos.\" + \r\n\t\t\" Dico iuvaret debitis mel an, et cum zril menandri. Eum in consul legimus accusam. Ea dico abhorreant duo,\" + \r\n\t\t\" quo illum minimum incorrupte no, nostro voluptaria sea eu. Suas eligendi ius at, at nemore equidem est.\" + \r\n\t\t\" Sed in error hendrerit, in consul constituam cum.\";\r\n\r\n private class MessageDemo\r\n {\r\n public int Key { get; set; }\r\n public string Avatar { get; set; }\r\n public string Color { get; set; }\r\n public string Icon { get; set; }\r\n public string Name { get; set; }\r\n public int Total { get; set; }\r\n public int New { get; set; }\r\n public string Title { get; set; }\r\n public string Excerpt { get; set; }\r\n }\r\n\r\n private List Messages = new()\r\n {\r\n new () \r\n\t\t{ \r\n\t\t\tKey = 1,\r\n\t\t\tAvatar = \"https://avatars0.githubusercontent.com/u/9064066?v=4&s=460\", \r\n\t\t\tName = \"John Leider\",\r\n\t\t\tTotal = 0,\r\n\t\t\tTitle = \"Welcome to MASA Blazor!\",\r\n\t\t\tExcerpt = \" — Thank you for joining our community... \"\r\n\t\t},\r\n new () \r\n\t\t{ \r\n\t\t\tKey = 2,\r\n\t\t\tIcon = \"mdi-account-multiple\",\r\n\t\t\tColor = \"red\", \r\n\t\t\tName = \"Social\",\r\n\t\t\tTotal = 3,\r\n\t\t\tTitle = \"Twitter\", \r\n\t\t\tNew = 1 \r\n\t\t},\r\n new () \r\n\t\t{ \r\n\t\t\tKey = 3,\r\n\t\t\tIcon = \"mdi-tag\", \r\n\t\t\tColor = \"teal\", \r\n\t\t\tName = \"Promos\",\r\n\t\t\tTotal = 4,\r\n\t\t\tTitle = \"Shop your way\", \r\n\t\t\tNew = 2 \r\n\t\t}\r\n };\r\n}", - "Type": "Demos.Components.Avatar.misc.Other", + "Order": 7, + "Name": "order", + "Title": "Flex 排序", + "Description": "

您可以使用 order 工具类改变 flex 项目的视觉排序.

\n

order 同样也有一些弹性变量.

\n
    \n
  • .order-first
  • \n
  • .order-0
  • \n
  • .order-1
  • \n
  • .order-2
  • \n
  • .order-3
  • \n
  • .order-4
  • \n
  • .order-5
  • \n
  • .order-6
  • \n
  • .order-7
  • \n
  • .order-8
  • \n
  • .order-9
  • \n
  • .order-10
  • \n
  • .order-11
  • \n
  • .order-12
  • \n
  • .order-last
  • \n
  • .order-sm-first
  • \n
  • .order-sm-0
  • \n
  • .order-sm-1
  • \n
  • .order-sm-2
  • \n
  • .order-sm-3
  • \n
  • .order-sm-4
  • \n
  • .order-sm-5
  • \n
  • .order-sm-6
  • \n
  • .order-sm-7
  • \n
  • .order-sm-8
  • \n
  • .order-sm-9
  • \n
  • .order-sm-10
  • \n
  • .order-sm-11
  • \n
  • .order-sm-12
  • \n
  • .order-sm-last
  • \n
  • .order-md-first
  • \n
  • .order-md-0
  • \n
  • .order-md-1
  • \n
  • .order-md-2
  • \n
  • .order-md-3
  • \n
  • .order-md-4
  • \n
  • .order-md-5
  • \n
  • .order-md-6
  • \n
  • .order-md-7
  • \n
  • .order-md-8
  • \n
  • .order-md-9
  • \n
  • .order-md-10
  • \n
  • .order-md-11
  • \n
  • .order-md-12
  • \n
  • .order-md-last
  • \n
  • .order-lg-first
  • \n
  • .order-lg-0
  • \n
  • .order-lg-1
  • \n
  • .order-lg-2
  • \n
  • .order-lg-3
  • \n
  • .order-lg-4
  • \n
  • .order-lg-5
  • \n
  • .order-lg-6
  • \n
  • .order-lg-7
  • \n
  • .order-lg-8
  • \n
  • .order-lg-9
  • \n
  • .order-lg-10
  • \n
  • .order-lg-11
  • \n
  • .order-lg-12
  • \n
  • .order-lg-last
  • \n
  • .order-lg-first
  • \n
  • .order-xl-0
  • \n
  • .order-xl-1
  • \n
  • .order-xl-2
  • \n
  • .order-xl-3
  • \n
  • .order-xl-4
  • \n
  • .order-xl-5
  • \n
  • .order-xl-6
  • \n
  • .order-xl-7
  • \n
  • .order-xl-8
  • \n
  • .order-xl-9
  • \n
  • .order-xl-10
  • \n
  • .order-xl-11
  • \n
  • .order-xl-12
  • \n
  • .order-xl-last
  • \n
\n", + "Code": "
\r\n \r\n \r\n First flex item\r\n \r\n \r\n Second flex item\r\n \r\n \r\n Third flex item\r\n \r\n \r\n
", + "Type": "Demos.StylesAndAnimations.Flex.misc.Order", + "Style": "", + "Debug": false, + "Group": 3 + }, + { + "Order": 6, + "Name": "wrap", + "Title": "Flex 堆叠", + "Description": "

默认情况下 .d-flex 不提供任何包装(其行为类似于 flex-wrap:nowrap)。 这可以通过使用 flex-{condition} 格式的 flex-wrap 辅助类进行修改, condition 的值可以为 nowrap, wrapwrap-reverse.

\n
    \n
  • .flex-nowrap
  • \n
  • .flex-wrap
  • \n
  • .flex-wrap-reverse
  • \n
\n

这些辅助类同样可以基于断点以 flex-{breakpoint}-{condition} 的格式创建更多的弹性变量. 以下组合可用:

\n
    \n
  • .flex-sm-nowrap
  • \n
  • .flex-sm-wrap
  • \n
  • .flex-sm-wrap-reverse
  • \n
  • .flex-md-nowrap
  • \n
  • .flex-md-wrap
  • \n
  • .flex-md-wrap-reverse
  • \n
  • .flex-lg-nowrap
  • \n
  • .flex-lg-wrap
  • \n
  • .flex-lg-wrap-reverse
  • \n
  • .flex-xl-nowrap
  • \n
  • .flex-xl-wrap
  • \n
  • .flex-xl-wrap-reverse
  • \n
\n", + "Code": "
\r\n \r\n @for (var i = 1; i <= 5; i++)\r\n {\r\n \r\n Flex item\r\n \r\n }\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n @for (var i = 1; i <= 20; i++)\r\n {\r\n var n = i;\r\n \r\n @($\"Flex item {n}\")\r\n \r\n }\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n @for (var i = 1; i <= 20; i++)\r\n {\r\n var n = i;\r\n \r\n @($\"Flex item {n}\")\r\n \r\n }\r\n \r\n
", + "Type": "Demos.StylesAndAnimations.Flex.misc.Wrap", "Style": "", "Debug": false, "Group": 3 @@ -306,76 +350,71 @@ ], "Children": [], "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Avatars.svg", "Cols": 1, - "Related": [ - "/components/badges", - "/components/icons", - "/components/lists" - ], - "Subtitle": "头像", - "Title": "Avatars", - "Type": "头像" + "Subtitle": "弹性布局", + "Title": "Flex", + "Type": "弹性布局" }, { - "Desc": "

MBadge组件可以上覆或订阅一个像头像的图标,或者内容上的文本来突出显示用户的信息,或只是提请注意某个特定元素。 徽章中的内容通常包含数字或图标。

\n", + "Desc": "

使用响应式 float 工具在任何断点上应用自定义浮动。

\n", "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-26T16:40:15.5637749+08:00", + "OtherDocs": {}, + "LastWriteTime": "2021-12-03T17:38:37.7493969+08:00", "DemoList": [ - { - "Order": 1, - "Name": "basic", - "Title": "使用", - "Description": "

最简单形式的徽章显示在它包装的内容的右上角,并且需要徽章插槽。

\n", - "Code": "
\r\n \r\n mdi-vuetify\r\n \r\n
", - "Type": "Demos.Components.Badge.usage.Basic", - "Style": "", - "Debug": false, - "Group": 4 - }, { "Order": 0, - "Name": "customize", - "Title": "自定义选项", - "Description": "

MBadge组件是灵活的,可以用于众多元素的各种使用案例。 调整位置的选项也可以通过 offset-x 和 offset-y props。

\n", - "Code": "\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\tLock Account\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t
\r\n
", - "Type": "Demos.Components.Badge.misc.Customize", + "Name": "class", + "Title": "类", + "Description": "

概述

\n

浮动辅助类基于当前视口尺寸(及以上)使用 CSS 浮动属性 应用浮动功能.

\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Material Design 断点\n
设备代码类型像素范围
\n \n Extra small (超小号)\n xs小型号到大型号的手机< 600px
\n \n Small (小号)\n sm小型号到中型号的平板600px > < 960px
\n \n Medium (中号)\n md大型号平板到手提电脑960px > < 1264px*
\n \n Large (大号)\n lg桌面端1264px > < 1904px*
\n \n Extra large (超大号)\n xl4K 和超宽屏幕> 1904px*
\n 桌面端上浏览器滚动条的宽度为 * -16px \n
\n \n 规格\n
\n
\n
\n
\n

轻松切换一个带有类的 float:

\n", + "Code": "
\r\n
\r\n Float left on all viewport sizes\r\n
\r\n
\r\n
\r\n Float right on all viewport sizes\r\n
\r\n
\r\n
\r\n Don't float on all viewport sizes\r\n
\r\n
", + "Type": "Demos.StylesAndAnimations.Float.misc.Class", "Style": "", "Debug": false, "Group": 3 }, { - "Order": 1, - "Name": "dynamicnotification", - "Title": "动态通知", - "Description": "

你可以将徽章与动态内容合并,以创建通知系统之类的东西。

\n", - "Code": "\r\n\t\r\n\t\t
\r\n\t\t\tSend Message\r\n\t\t\t\r\n\t\t\tClear Notifications\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\tmdi-vuetify\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t
\r\n
\r\n\r\n@code\r\n{\r\n private int _message = 0;\r\n\r\n private void Send() => _message++;\r\n\r\n private void Clear() => _message = 0;\r\n}", - "Type": "Demos.Components.Badge.misc.DynamicNotification", + "Order": 0, + "Name": "responsive", + "Title": "响应式", + "Description": "

Floats 也可以在每个断点(视图)的基础上适用。

\n

以下是所有可用的支持类列表:

\n\n", + "Code": "
\r\n
\r\n Float left on viewports sized SM (small) or wider\r\n
\r\n
\r\n
\r\n Float left on viewports sized MD (medium) or wider\r\n
\r\n
\r\n
\r\n Float left on viewports sized LG (large) or wider\r\n
\r\n
\r\n
\r\n Float left on viewports sized XL (extra-large) or wider\r\n
\r\n
\r\n
", + "Type": "Demos.StylesAndAnimations.Float.misc.Responsive", "Style": "", "Debug": false, "Group": 3 - }, + } + ], + "Children": [], + "Category": "Components", + "Cols": 1, + "Subtitle": "浮动", + "Title": "Float", + "Type": "浮动" + }, + { + "Desc": "

配置内容超出容器边界时如何溢出。

\n", + "Order": 0, + "OtherDocs": {}, + "LastWriteTime": "2021-12-03T17:38:37.7513968+08:00", + "DemoList": [ { - "Order": 2, - "Name": "hover", - "Title": "鼠标悬停显示", - "Description": "

你可以用可见性控制做很多事情,例如,在鼠标悬停时显示徽章。

\n", - "Code": "
\r\n \r\n \r\n \r\n mdi-account\r\n \r\n \r\n \r\n
\r\n\r\n @code{\r\n private bool _hover;\r\n }", - "Type": "Demos.Components.Badge.misc.Hover", + "Order": 0, + "Name": "property", + "Title": "溢出属性", + "Description": "

如何运行

\n

指定元素 overflow, overflow-xoverflow-y 属性。 可以使用以下格式应用这些类:{overflow}-{value}。 其中溢出是指类型:overflow, overflow-xoverflow-y可以是以下之一:auto, hiddenvisible

\n

这是属性列表:

\n\n

overflow-auto 用于在元素内容溢出边界时向元素添加滚动条。 而 overflow-hidden 则用于剪辑任何溢出边界的内容。 overflow-visible将防止内容被剪裁,即使它溢出了边界。

\n", + "Code": "\r\n \r\n \r\n \r\n

Overflow Auto

\r\n Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis\r\n facilis dicta esse molestias vero hic laudantium provident nisi eos\r\n quasi iusto alias sequi, aut aliquid voluptatibus commodi! Minima, eum\r\n voluptates?\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

Overflow Auto

\r\n Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis\r\n facilis dicta esse molestias vero hic laudantium provident nisi eos\r\n quasi iusto alias sequi, aut aliquid voluptatibus commodi! Minima, eum\r\n voluptates?\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

Overflow Auto

\r\n Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis\r\n facilis dicta esse molestias vero hic laudantium provident nisi eos\r\n quasi iusto alias sequi, aut aliquid voluptatibus commodi! Minima, eum\r\n voluptates?\r\n
\r\n
\r\n
\r\n
", + "Type": "Demos.StylesAndAnimations.Overflow.misc.Property", "Style": "", "Debug": false, "Group": 3 }, { - "Order": 3, - "Name": "tabs", - "Title": "标签页", - "Description": "

徽章有助于以各种方式向用户传递信息。

\n", - "Code": "\r\n \r\n \r\n \r\n Item One\r\n \r\n \r\n \r\n \r\n Item Two\r\n \r\n \r\n \r\n \r\n Item Three\r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Badge.misc.Tabs", + "Order": 0, + "Name": "xproperty", + "Title": "横坐标溢出属性", + "Description": "

如果需要,overflow-x 可用于指定元素的水平溢出。

\n", + "Code": "
\r\n

Overflow Auto

\r\n

\r\n QrLmmW69vMQDtCOg48jidqvvWD2FzDt7I7bBoDc98SRP5OwvOScVYbRzFdfp540eF5v1pjogYkyI8NXqu4wY8chgsXIV0LU7XQKWJ98wLaBSHWiBhvkEU1T3sd6KEFo53CLjVjIz8UvZajb8sbsu62xTsF9cRtFdwEvusq6zJHvedymDCUkY6qXHsuL6fOmHo4KKMurZuJZrK3plRPUaI8XVciz8dVq5CEUXjMrTcB76H1w90CnkRER3nYjs3suTa3223xs8aL97m0peQfjlvKbF8HcmQG5mHEitCn1QZnbMZUK3zE9AIjwcVXP7R9V4fw2A93cZD7wj333X6aaiHZdkkTPtst0u05KSob5c0ZuKQi4D3V395NfFKKr8cR27jmpB7dqK2GiWXeOQUFcjmFVwlHWSlH8ZdUoVJpXf1xL6CRUxwZP4EhBbqQZaJm26ijWII6LRxJ5eVU9Y7KKvQsUeX5BawtgeMWRmjeCwQadTLTQG8gLpi2DvGpMtPWCdqHgEglVSB1ZlDrjEEsXYrNx1IOY0053K3pWNaR1ezyz8kahRfNs3byaHcIQu9tWTrcMpBWhZ45DzLjVV1N8Zt96uLnNWK5DvbKW8GgMuwY7fHkZFz85MN4d2gL0j85HmXGx9oPTFRkPWsmMOHUvm5IhB7QqGSAwT1uL7HgBrNX9a1BAWrp9zV1IWAd1q65sKOOCxTZrXJDpxBxYE4rJAGU6pcri9mUf4g49ZiIAwfu9njtZyYimmImCa6TFhk2jQcSmFDHacExxqC2BfYATHFrKSy94dbw6uWT52nM7MSM9JDu4cs9cbfnaf6amt4hTUotCTONg604b8JKPI1sfd4CG36fBNcnErhpllfRlXkY1xFwmwZT7IJV8okPGNQdTKpdPJOBGw3LHMKojPJl1nPiQB5C9bdePFMNLejSXY5DDvO70ehOCJpBtKZY2quoFJJjGfXe8T4DuGYGmM6JYd5DNinWZuUWXGvfIlJRHgf8BQNQvtmEzqGXIeQZitiq9F\r\n

\r\n

Overflow Hidden

\r\n

\r\n QrLmmW69vMQDtCOg48jidqvvWD2FzDt7I7bBoDc98SRP5OwvOScVYbRzFdfp540eF5v1pjogYkyI8NXqu4wY8chgsXIV0LU7XQKWJ98wLaBSHWiBhvkEU1T3sd6KEFo53CLjVjIz8UvZajb8sbsu62xTsF9cRtFdwEvusq6zJHvedymDCUkY6qXHsuL6fOmHo4KKMurZuJZrK3plRPUaI8XVciz8dVq5CEUXjMrTcB76H1w90CnkRER3nYjs3suTa3223xs8aL97m0peQfjlvKbF8HcmQG5mHEitCn1QZnbMZUK3zE9AIjwcVXP7R9V4fw2A93cZD7wj333X6aaiHZdkkTPtst0u05KSob5c0ZuKQi4D3V395NfFKKr8cR27jmpB7dqK2GiWXeOQUFcjmFVwlHWSlH8ZdUoVJpXf1xL6CRUxwZP4EhBbqQZaJm26ijWII6LRxJ5eVU9Y7KKvQsUeX5BawtgeMWRmjeCwQadTLTQG8gLpi2DvGpMtPWCdqHgEglVSB1ZlDrjEEsXYrNx1IOY0053K3pWNaR1ezyz8kahRfNs3byaHcIQu9tWTrcMpBWhZ45DzLjVV1N8Zt96uLnNWK5DvbKW8GgMuwY7fHkZFz85MN4d2gL0j85HmXGx9oPTFRkPWsmMOHUvm5IhB7QqGSAwT1uL7HgBrNX9a1BAWrp9zV1IWAd1q65sKOOCxTZrXJDpxBxYE4rJAGU6pcri9mUf4g49ZiIAwfu9njtZyYimmImCa6TFhk2jQcSmFDHacExxqC2BfYATHFrKSy94dbw6uWT52nM7MSM9JDu4cs9cbfnaf6amt4hTUotCTONg604b8JKPI1sfd4CG36fBNcnErhpllfRlXkY1xFwmwZT7IJV8okPGNQdTKpdPJOBGw3LHMKojPJl1nPiQB5C9bdePFMNLejSXY5DDvO70ehOCJpBtKZY2quoFJJjGfXe8T4DuGYGmM6JYd5DNinWZuUWXGvfIlJRHgf8BQNQvtmEzqGXIeQZitiq9F\r\n

\r\n

Overflow visible

\r\n

\r\n QrLmmW69vMQDtCOg48jidqvvWD2FzDt7I7bBoDc98SRP5OwvOScVYbRzFdfp540eF5v1pjogYkyI8NXqu4wY8chgsXIV0LU7XQKWJ98wLaBSHWiBhvkEU1T3sd6KEFo53CLjVjIz8UvZajb8sbsu62xTsF9cRtFdwEvusq6zJHvedymDCUkY6qXHsuL6fOmHo4KKMurZuJZrK3plRPUaI8XVciz8dVq5CEUXjMrTcB76H1w90CnkRER3nYjs3suTa3223xs8aL97m0peQfjlvKbF8HcmQG5mHEitCn1QZnbMZUK3zE9AIjwcVXP7R9V4fw2A93cZD7wj333X6aaiHZdkkTPtst0u05KSob5c0ZuKQi4D3V395NfFKKr8cR27jmpB7dqK2GiWXeOQUFcjmFVwlHWSlH8ZdUoVJpXf1xL6CRUxwZP4EhBbqQZaJm26ijWII6LRxJ5eVU9Y7KKvQsUeX5BawtgeMWRmjeCwQadTLTQG8gLpi2DvGpMtPWCdqHgEglVSB1ZlDrjEEsXYrNx1IOY0053K3pWNaR1ezyz8kahRfNs3byaHcIQu9tWTrcMpBWhZ45DzLjVV1N8Zt96uLnNWK5DvbKW8GgMuwY7fHkZFz85MN4d2gL0j85HmXGx9oPTFRkPWsmMOHUvm5IhB7QqGSAwT1uL7HgBrNX9a1BAWrp9zV1IWAd1q65sKOOCxTZrXJDpxBxYE4rJAGU6pcri9mUf4g49ZiIAwfu9njtZyYimmImCa6TFhk2jQcSmFDHacExxqC2BfYATHFrKSy94dbw6uWT52nM7MSM9JDu4cs9cbfnaf6amt4hTUotCTONg604b8JKPI1sfd4CG36fBNcnErhpllfRlXkY1xFwmwZT7IJV8okPGNQdTKpdPJOBGw3LHMKojPJl1nPiQB5C9bdePFMNLejSXY5DDvO70ehOCJpBtKZY2quoFJJjGfXe8T4DuGYGmM6JYd5DNinWZuUWXGvfIlJRHgf8BQNQvtmEzqGXIeQZitiq9F\r\n

\r\n
", + "Type": "Demos.StylesAndAnimations.Overflow.misc.XProperty", "Style": "", "Debug": false, "Group": 3 @@ -384,85 +423,56 @@ "Children": [], "Category": "Components", "Cols": 1, - "Related": [ - "/components/avatars", - "/components/icons", - "/components/toolbars" - ], - "Subtitle": "徽章", - "Title": "Badges", - "Type": "徽章" + "Subtitle": "溢出", + "Title": "Overflow", + "Type": "溢出" }, { - "Desc": "

MBanner组件被用来作为向用户发送1-2动作的中间段描述信息。 它有两个变量单行and多行(默认多行展示)。 这些图标可以与您的消息和操作一起使用。

\n", + "Desc": "

不通过创建新类的方式来更新您的布局. 间距辅助类在修改元素的 padding 和 margin 时非常有用

\n", "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.4462475+08:00", + "OtherDocs": {}, + "LastWriteTime": "2021-12-03T17:38:37.7563968+08:00", "DemoList": [ { - "Order": 1, - "Name": "basic", + "Order": 0, + "Name": "start", "Title": "使用", - "Description": "

横幅可以有 1-2 行文本、动作和图标。

\n", - "Code": "
\r\n \r\n A banner for use on desktop / mobile \r\n \r\n
", - "Type": "Demos.Components.Banner.usage.Basic", + "Description": "

如何运行

\n

辅助类应用到元素的 marginpadding 范围是从 0 到 16. 每个尺寸增量都与 Material Design 边距规范一致. 这些类可以通过 {property}{direction}-{size} 格式使用。

\n

property 应用间距类型:

\n\n

direction 指定了该属性所应用的侧边:

\n\n

size 以4px增量控制间距属性:

\n\n

使用 playground 来了解不同的辅助类能做些什么. 要了解他们如何工作,请参阅下面的部分。

\n", + "Code": "\r\n \r\n \r\n r\" ItemText=\"r => r\" Class=\"pr-2\" Label=\"@(\"Padding\")\">\r\n \r\n p\r\n \r\n \r\n
-
\r\n
\r\n
\r\n\r\n r\" ItemText=\"r => r.ToString()\" Label=\"@(\"Size\")\">\r\n \r\n
\r\n\r\n \r\n r\" ItemText=\"r => r\" Class=\"pr-2\" Label=\"@(\"Margin\")\">\r\n \r\n m\r\n \r\n \r\n
-
\r\n
\r\n
\r\n\r\n r\" ItemText=\"r => r.ToString()\" Label=\"@(\"Size\")\">\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
@_playgroundText
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code\r\n{\r\n private List _paddingDirection = new() {\"t\", \"b\", \"l\", \"r\", \"s\", \"e\", \"x\", \"y\", \"a\" };\r\n private List _paddingSize = new() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };\r\n private string _paddingDirectionVal { get; set; } = \"a\";\r\n private int _paddingSizeionVal { get; set; } = 6;\r\n private List _marginDirection => _paddingDirection;\r\n private List _marginSize => _paddingSize;\r\n private string _marginDirectionVal { get; set; } = \"a\";\r\n private int _marginSizeVal { get; set; } = 2;\r\n private string _playgroundText = \"Use the controls above to try out the different spacing helpers.\";\r\n\r\n private string ComputedPadding()\r\n {\r\n return $\"p{_paddingDirectionVal}-{_paddingSizeionVal}\";\r\n }\r\n\r\n private string ComputedMargin()\r\n {\r\n return $\"m{_marginDirectionVal}-{_marginSizeVal}\";\r\n }\r\n}", + "Type": "Demos.StylesAndAnimations.Spacing.usage.Start", "Style": "", "Debug": false, "Group": 4 }, { "Order": 0, - "Name": "singleLine", - "Title": "单行亮色主题", - "Description": "

单行 MBanner 用于少量信息,建议仅用于桌面实现。 您可以选择启用粘性道具以确保内容固定在屏幕上(注意:在 IE11 中不起作用)。

\n", - "Code": "\r\n\t\r\n\t\r\n\t\t\r\n\t\t\tMy Document\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n\t\t\r\n\t\t\tWe can't save your edits while you are in offline mode.\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\tGet Online\r\n\t\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\r\n
\r\n\r\n@code\r\n{\r\n\tprivate bool _sticky = false;\r\n}", - "Type": "Demos.Components.Banner.props.SingleLine", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "iconClick", - "Title": "图标事件", - "Description": "

横幅上的图标在点击时发出 click:icon 事件,该事件带有自定义图标插槽。

\n", - "Code": "\r\n\t\r\n\t\tmdi-wifi-strength-alert-outline\r\n\t\t\r\n\t\r\n\t\r\n\t\tUnable to verify your Internet connection\r\n\t\r\n\t\r\n\t\t\r\n\t\t\tConnection Settings\r\n\t\t\r\n\t\r\n\r\n\r\n@code\r\n{\r\n\t[Inject]\r\n\tprivate IJSRuntime Js { get; set; }\r\n\r\n\tprivate void Alert()\r\n\t{\r\n\t\tJs.InvokeVoidAsync(\"alert\", \"Hello world!\");\r\n\t}\r\n}", - "Type": "Demos.Components.Banner.events.IconClick", - "Style": "", - "Debug": false, - "Group": 1 - }, - { - "Order": 2, - "Name": "actions", - "Title": "行为", - "Description": "

Actions 插槽在其范围内具有 dismiss 功能,你可以使用它来轻松地隐藏横幅。

\n", - "Code": "
\r\n\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\tNo Internet connection\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\tDismiss\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tRetry\r\n\t\t\t\r\n\t\t\r\n\t\r\n
\r\n\r\n@code\r\n{\r\n\tprivate bool _sticky = true;\r\n}", - "Type": "Demos.Components.Banner.contents.Actions", + "Name": "breakpoints", + "Title": "断点", + "Description": "

MASA Blazor 使用 Flexbox 通过12点网格系统建构. 间距用来创建应用程序内容的特定布局. 它包含5个媒体断点查询来确定特定屏幕的大小或方向: xs, sm, md, lgxl. 下面的 视图断点 表中定义了默认解析。

\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Material Design 断点\n
设备代码类型像素范围
\n \n Extra small (超小号)\n xs小型号到大型号的手机< 600px
\n \n Small (小号)\n sm小型号到中型号的平板600px > < 960px
\n \n Medium (中号)\n md大型号平板到手提电脑960px > < 1264px*
\n \n Large (大号)\n lg桌面端1264px > < 1904px*
\n \n Extra large (超大号)\n xl4K 和超宽屏幕> 1904px*
\n 桌面端上浏览器滚动条的宽度为 * -16px \n
\n \n 规格\n
\n
\n
\n\n

助手类在给定的断点应用 marginpadding。 这些类可以通过 {property}{direction}-{breakpoint}-{size} 格式使用。 这不适用于 xs ,因为它是推断出来的; 例如: ma-xs-2 等于 ma-2.

\n", + "Code": "\r\n \r\n Adjust screen size to see spacing changes\r\n \r\n", + "Type": "Demos.StylesAndAnimations.Spacing.misc.Breakpoints", "Style": "", "Debug": false, - "Group": 2 + "Group": 3 }, { - "Order": 4, - "Name": "icon", - "Title": "图标", - "Description": "

图标插槽允许你明确控制其包含的内容和功能。

\n", - "Code": "\r\n\t\r\n\t\tThree line text string example with two actions. One to two lines is preferable. Three lines should be considered the maximum string length on desktop in order to keep messages short and actionable.\r\n\t\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\tmdi-lock\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\tAction\r\n\t\t\r\n\t\t\r\n\t\t\tAction\r\n\t\t\r\n\t\r\n", - "Type": "Demos.Components.Banner.contents.Icon", + "Order": 0, + "Name": "Horizontal", + "Title": "水平布局", + "Description": "

使用边距助手类,你可以轻松地水平居中内容。

\n", + "Code": "\r\n \r\n Centered\r\n \r\n", + "Type": "Demos.StylesAndAnimations.Spacing.misc.Horizontal", "Style": "", "Debug": false, - "Group": 2 + "Group": 3 }, { - "Order": 5, - "Name": "twoline", - "Title": "两行", - "Description": "

两行MBanner可以存储更大的数据量,用于大消息。 这是推荐的移动实现。

\n", - "Code": "\r\n\t\r\n\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent cursus nec sem id malesuada. Curabitur lacinia sem et turpis euismod, eget elementum ex pretium.\r\n\t\r\n\t\r\n\t\t\r\n\t\t\tDismiss\r\n\t\t\r\n\t\t\r\n\t\t\tRetry\r\n\t\t\r\n\t\r\n", - "Type": "Demos.Components.Banner.misc.TwoLine", + "Order": 0, + "Name": "margin", + "Title": "负边距", + "Description": "

同样也可以使用从 116 间隔的负边距.

\n", + "Code": "
\r\n \r\n \r\n \r\n This card has negative top margin applied\r\n \r\n \r\n
", + "Type": "Demos.StylesAndAnimations.Spacing.misc.Margin", "Style": "", "Debug": false, "Group": 3 @@ -471,7230 +481,269 @@ "Children": [], "Category": "Components", "Cols": 1, - "Related": [ - "/components/alerts", - "/components/icons", - "/components/snackbars" - ], - "Subtitle": "横幅", - "Title": "Banners", - "Type": "横幅" + "Subtitle": "间距", + "Title": "Spacing", + "Type": "间距" }, { - "Desc": "

MAppBar 组件对于任何图形用户界面 (GUI) 都是至关重要的,因为它通常是网站导航的主要来源。MAppBarMNavigationDrawer 结合在一起为应用程序提供站点导航。

\n", + "Desc": "

控制文本大小、对齐、换行、溢出、变形等等。

\n", "Order": 0, - "OtherDocs": { - "API": "\n\n", - "功能组件": "\n
    \n
  • MAppBarNavIcon:专门为与 MToolbarMAppBar 一起使用而创建的样式化图标按钮组件。 在工具栏的左侧显示为汉堡菜单,它通常用于控制导航抽屉的状态。 默认插槽可以用于自定义此组件的图标和功能。
  • \n
  • MAppBarTitle:修改过的 MToolbarTitle 组件 ,用于配合 ShrinkOnScroll 属性使用。 在小屏幕上,MToolbarTitle\n将被截断,但这个组件在展开时使用了绝对定位使其内容可见。 我们不建议您在没有使用 ShrinkOnScroll 属性时使用 MAppBarTitle 组件。确实是因为向此组件添加了resize事件,并进行了很多额外的计算。
  • \n
\n", - "注意事项": "\n\n

当在 MToolbarMAppBar 内部使用带有 Icon 属性的 MButton 时,它们将自动增大其尺寸并应用负边距,以确保根据Material设计规范的适当间距。\n如果您选择将按钮包装在任何容器例如div中,则需要对该容器应用负边距,以便正确对齐它们。

\n\n" - }, - "LastWriteTime": "2021-11-22T17:46:11.4558363+08:00", + "OtherDocs": {}, + "LastWriteTime": "2021-12-03T17:38:37.7643976+08:00", "DemoList": [ { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

MAppBar 组件用于应用程序范围内的操作和信息。

\n", - "Code": "\r\n \r\n\r\n\r\n", - "Type": "Demos.Components.Bars.children.AppBar.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "collapsibleBars", - "Title": "可折叠栏", - "Description": "

借助 CollapseCollapseOnScroll 属性,简单的实现toolbar与用户的交互。

\n", - "Code": "\r\n \r\n \r\n Collapsing Bar\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool collapseOnScroll = true;\r\n}", - "Type": "Demos.Components.Bars.children.AppBar.props.CollapsibleBars", + "Order": 5, + "Name": "decoration", + "Title": "装饰线", + "Description": "

使用 .text-decoration-none 移除文本装饰线或使用 .text-decoration-overline, .text-decoration-underline, 和 .text-decoration-line-through 添加一个 上划线, 下划线或删除线。

\n", + "Code": "
\r\n Non-underlined link\r\n\r\n
\r\n Line-through text\r\n
\r\n\r\n
\r\n Overline text\r\n
\r\n\r\n
\r\n Underline text\r\n
\r\n
", + "Type": "Demos.StylesAndAnimations.TextAndTypography.demo.Decoration", "Style": "", "Debug": false, "Group": 0 }, { - "Order": 0, - "Name": "dense", - "Title": "紧凑", - "Description": "

您可以使 MAppBar 更加紧凑。 紧凑应用栏的高度低于普通应用栏。

\n", - "Code": "
\r\n \r\n \r\n\r\n Page title\r\n\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n var n = i + 1;\r\n {}\">\r\n Option @n\r\n \r\n }\r\n \r\n \r\n \r\n \r\n
", - "Type": "Demos.Components.Bars.children.AppBar.props.Dense", + "Order": 2, + "Name": "fontEmphasis", + "Title": "字体强调", + "Description": "

Material 设计, 默认情况下, 支持 100, 300, 400, 500, 700, 900 字体宽度和斜体文本.

\n", + "Code": "
\r\n

\r\n Black text.\r\n

\r\n

\r\n Bold text.\r\n

\r\n

\r\n Medium weight text.\r\n

\r\n

\r\n Normal weight text.\r\n

\r\n

\r\n Light weight text.\r\n

\r\n

\r\n Thin weight text.\r\n

\r\n

\r\n Italic text.\r\n

\r\n
", + "Type": "Demos.StylesAndAnimations.TextAndTypography.demo.FontEmphasis", "Style": "", "Debug": false, "Group": 0 }, { - "Order": 0, - "Name": "elevateOnScroll", - "Title": "滚动时的高度(Z轴)", - "Description": "

使用 ElevateOnScroll 属性时,MAppBar 默认的高度为 0dp,当用户开始向下滚动时,高度会升至 4dp。

\n", - "Code": "\r\n \r\n \r\n Title\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n mdi-heart\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n\r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Bars.children.AppBar.props.ElevateOnScroll", + "Order": 6, + "Name": "opacity", + "Title": "不透明度", + "Description": "

不透明度辅助类可以让您轻松调整文本的重点。 text--primary 与默认文本具有相同的不透明度。 text--secondary 用于提示和辅助文本。 使用 text--disabled 去除强调文本。

\n", + "Code": "
\r\n

\r\n High-emphasis has an opacity of 87% in light theme and 100% in dark.\r\n

\r\n

\r\n Medium-emphasis text and hint text have opacities of 60% in light theme and 70% in dark.\r\n

\r\n

\r\n Disabled text has an opacity of 38% in light theme and 50% in dark.\r\n

\r\n
", + "Type": "Demos.StylesAndAnimations.TextAndTypography.demo.Opacity", "Style": "", "Debug": false, "Group": 0 }, { - "Order": 0, - "Name": "fadeImageOnScroll", - "Title": "滚动时淡入淡出图像", - "Description": "

The background image of a MAppBar can fade on scroll. Use the FadeImgOnScroll property for this.

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Title\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n mdi-heart\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n\r\n \r\n \r\n \r\n Tab 1\r\n Tab 2\r\n Tab 3\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Bars.children.AppBar.props.FadeImageOnScroll", + "Order": 4, + "Name": "responsiveDisplays", + "Title": "响应式显示", + "Description": "

还有可用于支持响应式显示的 alignment 类。

\n", + "Code": "
\r\n

\r\n Left aligned text on all viewport sizes.\r\n

\r\n

\r\n Center aligned text on all viewport sizes.\r\n

\r\n

\r\n Right aligned text on all viewport sizes.\r\n

\r\n\r\n

\r\n Left aligned text on viewports sized SM (small) or wider.\r\n

\r\n

\r\n Left aligned text on viewports sized MD (medium) or wider.\r\n

\r\n

\r\n Left aligned text on viewports sized LG (large) or wider.\r\n

\r\n

\r\n Left aligned text on viewports sized XL (extra-large) or wider.\r\n

\r\n
", + "Type": "Demos.StylesAndAnimations.TextAndTypography.demo.ResponsiveDisplays", "Style": "", "Debug": false, "Group": 0 }, { - "Order": 0, - "Name": "hiddenOnScroll", - "Title": "滚动隐藏", - "Description": "

当设置了HideOnScroll 属性,MAppBar 向下滚动时会被隐藏。

\n", - "Code": "\r\n \r\n \r\n Title\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n mdi-heart\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n\r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Bars.children.AppBar.props.HiddenOnScroll", + "Order": 10, + "Name": "RTLAlignment", + "Title": "RTL 对齐", + "Description": "

当使用 RTL 时, 无论 rtl 指定如何,您可能都希望保持对齐 。 这可以通过以下格式的文本对齐辅助类实现: text-<breakpoint>-<direction>, breakpoint 可以是 sm, md, lg, 或 xl , direction 可以是 leftright。 你也可以通过使用 startend 对齐rtl.

\n", + "Code": "
\r\n

\r\n Agnostic RTL Alignment\r\n

\r\n\r\n

\r\n Left aligned text on viewports sized SM (small) or wider for rtl or ltr.\r\n

\r\n

\r\n Left aligned text on viewports sized MD (medium) or wider for rtl or ltr.\r\n

\r\n

\r\n Right aligned text on viewports sized LG (large) or wider for rtl or ltr.\r\n

\r\n

\r\n Left aligned text on viewports sized XL (extra-large) or wider for rtl or ltr.\r\n

\r\n\r\n

\r\n Responsive RTL Alignment\r\n

\r\n\r\n

\r\n Left aligned text on ltr and right aligned on rtl.\r\n

\r\n

\r\n Right aligned text on ltr and left aligned on rtl.\r\n

\r\n
", + "Type": "Demos.StylesAndAnimations.TextAndTypography.demo.RTLAlignment", "Style": "", "Debug": false, "Group": 0 }, { - "Order": 0, - "Name": "images", - "Title": "图像", - "Description": "

MAppBar 可以包含背景图像。您可以通过 Src 属性设置。 如果您需要自定义 MImage,应用栏将为您提供一个 ImgContent 插槽。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Title\r\n \r\n \r\n mdi-magnify\r\n \r\n \r\n mdi-heart\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Bars.children.AppBar.props.Images", + "Order": 3, + "Name": "textAlignment", + "Title": "文本对齐", + "Description": "

Alignment 助手类允许你轻松的创建 re-align 文本。

\n", + "Code": "

\r\n Morbi mattis ullamcorper velit. Donec orci lectus, aliquam ut, faucibus non, euismod id, nulla. Fusce convallis metus id felis luctus adipiscing. Aenean massa. Vestibulum purus quam, scelerisque ut, mollis sed, nonummy id, metus.\r\n\r\n Nulla consequat massa quis enim. Praesent venenatis metus at tortor pulvinar varius. Donec venenatis vulputate lorem. Phasellus accumsan cursus velit. Pellentesque ut neque.\r\n

", + "Type": "Demos.StylesAndAnimations.TextAndTypography.demo.TextAlignment", "Style": "", "Debug": false, "Group": 0 }, { - "Order": 0, - "Name": "inverted", - "Title": "滚动反转", - "Description": "

When using the InvertedScroll property, the bar will hide until the user scrolls past the designated threshold. Once\npast the threshold, the MAppBar will continue to display until the users scrolls up past the threshold. If no **\nScrollThreshold** value is supplied a default value of 0 will be used.

\n", - "Code": "\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n \r\n\r\n mdi-dots-vertical\r\n \r\n\r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Bars.children.AppBar.props.Inverted", + "Order": 7, + "Name": "transform", + "Title": "变形", + "Description": "

文本 capitalization 类可以转换文字的大小写。也可以断开文本或删除 text-transform . 在第一个示例中, 自定义类 text-transform: uppercase 将被覆盖,并允许保留文本大小写。 在第二个示例中,我们将一个较长的单词拆分以填充可用空间。

\n", + "Code": "
\r\n

\r\n Lowercased text.\r\n

\r\n

\r\n Uppercased text.\r\n

\r\n

\r\n CapiTaliZed text.\r\n

\r\n
\r\n\r\n
\r\n\r\n
\r\n

\r\n Random TEXT cApitaLization\r\n

\r\n \r\n SUBDERMATOGLYPHIC\r\n

\r\n
", + "Type": "Demos.StylesAndAnimations.TextAndTypography.demo.Transform", "Style": "", "Debug": false, "Group": 0 }, { - "Order": 0, - "Name": "prominent", - "Title": "突出", - "Description": "

一个带有 Prominent 属性的 MAppBar 可以被设置为随着用户滚动而收缩。 当用户滚动浏览内容时,这提供了一个平滑的过渡,以减少视觉空间占用。 收缩高度有 Dense(紧密,48px)和 Short\n(短,56px)两种选择。

\n", - "Code": "\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Bars.children.AppBar.props.Prominent", + "Order": 9, + "Name": "truncated", + "Title": "文本截取", + "Description": "

可以使用 .text-truncate 实用程序类使用文本省略号截断较长的内容。

\n
\n
\n \n \n
\n

Requires display: inline-block or display: block.

\n
\n
\n
\n
\n", + "Code": "
\r\n \r\n
\r\n
\r\n Suspendisse faucibus, nunc et pellentesque egestas, lacus ante convallis tellus.\r\n
\r\n
\r\n\r\n \r\n \r\n Suspendisse faucibus, nunc et pellentesque egestas, lacus ante convallis tellus.\r\n \r\n
", + "Type": "Demos.StylesAndAnimations.TextAndTypography.demo.Truncated", "Style": "", "Debug": false, "Group": 0 }, { "Order": 0, - "Name": "scrollThreshold", - "Title": "滚动阈值", - "Description": "

MAppBar can have scroll threshold. It will start reacting to scroll only after defined via ScrollThreshold\nproperty amount of pixels.

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Bars.children.AppBar.props.ScrollThreshold", + "Name": "typography", + "Title": "排版", + "Description": "

使用排版辅助类控制文本的大小和样式.

\n", + "Code": "\r\n \r\n @foreach (var item in _classes)\r\n {\r\n var c = item[0];\r\n var text = item[1];\r\n var size = item[2];\r\n var weight = item[3];\r\n var spacing = item[4];\r\n var margin = item[5];\r\n\r\n \r\n \r\n\r\n
\r\n @text\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n Font\r\n
\r\n\r\n
\r\n Roboto\r\n
\r\n
\r\n\r\n
\r\n
\r\n Weight\r\n
\r\n\r\n
\r\n @weight\r\n
\r\n
\r\n\r\n
\r\n
\r\n Size\r\n
\r\n\r\n
\r\n @size\r\n
\r\n
\r\n\r\n
\r\n
\r\n Letter spacing\r\n
\r\n\r\n
\r\n @spacing\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n@code {\r\n\r\n bool GloabIsDark = false;\r\n\r\n string[][] _classes = new string[][]\r\n {\r\n new string[] {\"h1\", \"Heading 1\", \"6rem\", \"300\", \"-.015625em\", \"-1\"},\r\n new string[] {\"h2\", \"Heading 2\", \"3.75rem\", \"300\", \"-.0083333333em\", \"0\"},\r\n new string[] {\"h3\", \"Heading 3\", \"3rem\", \"400\", \"normal\", \"1\"},\r\n new string[] {\"h4\", \"Heading 4\", \"2.125rem\", \"400\", \".0073529412em\", \"2\"},\r\n new string[] {\"h5\", \"Heading 5\", \"1.5rem\", \"400\", \"normal\", \"2\"},\r\n new string[] {\"h6\", \"Heading 6\", \"1.25rem\", \"500\", \".0125em\", \"3\"},\r\n new string[] {\"subtitle-1\", \"Subtitle 1\", \"1rem\", \"400\", \".009375em\", \"4\"},\r\n new string[] {\"subtitle-2\", \"Subtitle 2\", \"0.875rem\", \"500\", \".0071428571em\", \"4\"},\r\n new string[] {\"body-1\", \"Body 1\", \"1rem\", \"400\", \".03125em\", \"4\"},\r\n new string[] {\"body-2\", \"Body 2\", \"0.875rem\", \"400\", \".0178571429em\", \"4\"},\r\n new string[] {\"button\", \"Button\", \"0.875rem\", \"500\", \".0892857143em\", \"4\"},\r\n new string[] {\"caption\", \"Caption\", \"0.75rem\", \"400\", \".0333333333em\", \"4\"},\r\n new string[] {\"overline\", \"Overline\", \"0.75rem\", \"500\", \".1666666667em\", \"4\"},\r\n };\r\n}", + "Type": "Demos.StylesAndAnimations.TextAndTypography.demo.Typography", "Style": "", "Debug": false, "Group": 0 }, { "Order": 1, - "Name": "menu", - "Title": "菜单", - "Description": "

您可以通过添加 MMenu 来轻松地扩展应用栏的功能。 单击最后一个图标以查看其运行情况。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n @item\r\n \r\n }\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Tab 1\r\n Tab 2\r\n Tab 3\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n readonly List items = new()\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\",\r\n };\r\n\r\n}", - "Type": "Demos.Components.Bars.children.AppBar.misc.Menu", + "Name": "typographyIllustrate", + "Title": "排版说明", + "Description": "

这些类可以应用于从 xsxl的所有断点。 当使用基础类 .text-{value} 时, 它被推断为 .text-xs-${value}.

\n
    \n
  • .text-{value} 用于 xs
  • \n
  • .text-{breakpoint}-{value} 用于 sm, md, lgxl
  • \n
\n

value 属性的值是以下之一:

\n
    \n
  • h1
  • \n
  • h2
  • \n
  • h3
  • \n
  • h4
  • \n
  • h5
  • \n
  • h6
  • \n
  • subtitle-1
  • \n
  • subtitle-2
  • \n
  • body-1
  • \n
  • body-2
  • \n
  • button
  • \n
  • caption
  • \n
  • overline
  • \n
\n
\n
\n
\n \n \n
\n

提示

\n

在v2.3.0之前的所有版本中,这些类都是以下内容之一:


\n
    \n
  • .display-4
  • \n
  • .display-3
  • \n
  • .display-2
  • \n
  • .display-1
  • \n
  • .headline
  • \n
  • .title
  • \n
  • .subtitle-1
  • \n
  • .subtitle-2
  • \n
  • .body-1
  • \n
  • .body-2
  • \n
  • .caption
  • \n
  • .overline
  • \n
\n
\n
\n
\n
\n

下面的示例演示如何在不同的断点显示不同的大小:

\n", + "Code": "
\r\n \r\n @foreach (var item in _sizes)\r\n {\r\n var icon = item[0];\r\n var bp = item[1];\r\n var size = item[2];\r\n\r\n \r\n \r\n
\r\n\r\n \r\n @icon\r\n \r\n\r\n
@bp
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n
\r\n @TypeClass()\r\n
\r\n\r\n \r\n
\r\n Example Heading\r\n
\r\n
\r\n\r\n
\r\n\r\n@code {\r\n\r\n StringNumber _model = \"caption\";\r\n string[][] _sizes = new string[][]\r\n {\r\n new string[]\r\n {\r\n \"mdi-devices\", \"all\", \"caption\"\r\n },\r\n new string[]\r\n {\r\n \"mdi-cellphone\", \"sm\", \"body-2\"\r\n },\r\n new string[]\r\n {\r\n \"mdi-laptop\", \"md\", \"body-1\"\r\n },\r\n new string[]\r\n {\r\n \"mdi-monitor\", \"lg\", \"h6\"\r\n },\r\n new string[]\r\n {\r\n \"mdi-television\", \"xl\", \"h4\"\r\n },\r\n };\r\n\r\n string[] Current()\r\n {\r\n return _sizes.First(size => size[2] == _model);\r\n }\r\n\r\n string TypeClass()\r\n {\r\n List type = new List { \"text\", _model.ToString() };\r\n string breakpoint = Current()[1];\r\n if (breakpoint != \"all\")\r\n {\r\n type.Insert(1, breakpoint);\r\n }\r\n\r\n return $\".{string.Join(\"-\", type)}\";\r\n }\r\n}", + "Type": "Demos.StylesAndAnimations.TextAndTypography.demo.TypographyIllustrate", "Style": "", "Debug": false, - "Group": 3 + "Group": 0 }, { - "Order": 1, - "Name": "toggleNavigationDrawers", - "Title": "切换导航抽屉", - "Description": "

使用函数式组件 MAppBarNavIcon 可以切换其他组件的状态,例如 MNavigationDrawer

\n", - "Code": "\r\n \r\n drawer = true\">\r\n\r\n Title\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n mdi-home\r\n \r\n Home\r\n \r\n\r\n \r\n \r\n mdi-account\r\n \r\n Account\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool drawer;\r\n StringNumber group;\r\n}", - "Type": "Demos.Components.Bars.children.AppBar.misc.ToggleNavigationDrawers", + "Order": 8, + "Name": "wrappingAndOverflow", + "Title": "文本换行和溢出", + "Description": "

您可以使用 .text-no-wrap 工具类来防止文本换行。

\n", + "Code": "
\r\n This text should overflow the parent.\r\n
", + "Type": "Demos.StylesAndAnimations.TextAndTypography.demo.WrappingAndOverflow", "Style": "", "Debug": false, - "Group": 3 + "Group": 0 } ], "Children": [], "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/AppBars.svg", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", "Cols": 1, - "Related": [ - "/components/buttons", - "/components/icons", - "/components/toolbars" - ], - "Subtitle": "应用栏", - "Title": "App bars", - "Type": "应用栏" + "Subtitle": "文本和排版", + "Title": "Text and typography", + "Type": "文本和排版" }, { - "Desc": "

MSystemBar 组件可以用于向用户显示状态。 它看起来像Android系统栏,可以包含图标、空格和一些文本。

\n", + "Desc": "

平滑的动画让界面体验更好。 使用 Blazor 的过渡系统和可复用的功能组件, 你可以轻松的控制应用程序的运动. 大多数组件可以通过 stansition prop改变它们的过渡动画.

\n", "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.4502473+08:00", + "OtherDocs": {}, + "LastWriteTime": "2021-12-03T17:38:37.7793971+08:00", "DemoList": [ { "Order": 0, - "Name": "color", - "Title": "颜色", - "Description": "

您可以选择使用 color 更改 MSystemBar 的颜色。

\n", - "Code": "
\r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n
\r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n
\r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n
", - "Type": "Demos.Components.Bars.children.SystemBar.demo.Color", + "Name": "index", + "Title": "使用", + "Description": "

MASA Blazor 提供了 10 多个 css 动画模版,可快速应用于众多官方组件或自定义的组件上。

\n", + "Code": "\r\n\r\n \r\n\r\n \r\n \r\n Slide X Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n\r\n
\r\n \r\n \r\n\r\n \r\n \r\n Scroll Y Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n\r\n
", + "Type": "Demos.StylesAndAnimations.Transitions.usage.Index", "Style": "", "Debug": false, - "Group": 0 + "Group": 4 }, { "Order": 0, - "Name": "lightout", - "Title": "熄灯", - "Description": "

您可以使用 lights-out 属性来降低 MSystemBar 的不透明度。

\n", - "Code": "
\r\n Lights out (light)\r\n \r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n \r\n Lights out (dark)\r\n \r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n \r\n
", - "Type": "Demos.Components.Bars.children.SystemBar.demo.LightOut", + "Name": "customOrigin", + "Title": "自定义原点", + "Description": "

用一个简单的 prop 以编程的方式控制变换原点。

\n", + "Code": "
\r\n \r\n\r\n \r\n \r\n Scale Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n
", + "Type": "Demos.StylesAndAnimations.Transitions.props.CustomOrigin", "Style": "", "Debug": false, "Group": 0 }, { "Order": 0, - "Name": "theme", - "Title": "主题", - "Description": "

可以将dark或light主题变量应用于MSystemBar。

\n", - "Code": "
\r\n Light status bar\r\n \r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n \r\n Dark status bar\r\n \r\n \r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n \r\n
", - "Type": "Demos.Components.Bars.children.SystemBar.demo.Theme", + "Name": "expandX", + "Title": "Expand x", + "Description": "

扩展过渡用于扩展面板和列表组。 同样还有一个水平版本 Transition 可用.

\n", + "Code": "\r\n\r\n \r\n\r\n _expand=!_expand\">\r\n Expand Transition\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n\r\n _expand2=!_expand2\">\r\n Expand X Transition\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n\r\n@code {\r\n bool _expand = false;\r\n bool _expand2 = false;\r\n}", + "Type": "Demos.StylesAndAnimations.Transitions.misc.ExpandX", "Style": "", "Debug": false, - "Group": 0 + "Group": 3 }, { - "Order": 0, - "Name": "window", - "Title": "窗口", - "Description": "

带有窗口控件和状态信息的窗口栏。

\n", - "Code": "
\r\n \r\n mdi-message\r\n 10 unread messages\r\n \r\n mdi-minus\r\n mdi-checkbox-blank-outline\r\n mdi-close\r\n \r\n
", - "Type": "Demos.Components.Bars.children.SystemBar.demo.Window", + "Order": 1, + "Name": "fab", + "Title": "Fab", + "Description": "

fab 过渡的示例.

\n", + "Code": "
\r\n \r\n\r\n \r\n \r\n Fab Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n
", + "Type": "Demos.StylesAndAnimations.Transitions.misc.Fab", "Style": "", "Debug": false, - "Group": 0 + "Group": 3 }, { - "Order": 1, - "Name": "basic", - "Title": "使用", - "Description": "

MSystemBar 最最简单的形式是显示一个带有默认主题的小容器。

\n", - "Code": "\r\n \r\n \r\n \r\n mdi-message\r\n 10 unread messages\r\n \r\n mdi-wifi-strength-4\r\n mdi-signal-cellular-outline\r\n mdi-battery\r\n 12:30\r\n \r\n \r\n \r\n\r\n\r\n", - "Type": "Demos.Components.Bars.children.SystemBar.usage.Basic", - "Style": "", - "Debug": false, - "Group": 4 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/buttons", - "/components/toolbars", - "/components/tabs" - ], - "Subtitle": "系统栏", - "Title": "System bars", - "Type": "系统栏" - }, - { - "Desc": "

MToolbar 组件对于任何 GUI 都是至关重要的,因为它通常是站点导航的主要来源。 工具栏组件与 MNavigationDrawerMCard 配合使用非常有效。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n", - "注意": "\n\n

当在 MToolbarMAppBar 内部使用带有 Icon prop的 MButton 时,它们将自动增大其尺寸并应用负边距,以确保根据Material设计规范的适当间距。\n如果您选择将您的按钮包装在任何容器中,例如div, 您需要对容器应用负边距,以便正确对齐。

\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.4602468+08:00", - "DemoList": [ - { - "Order": 1, - "Name": "basic", - "Title": "使用", - "Description": "

工具栏是一个灵活的容器,可以通过多种方式使用。 默认情况下,工具栏在桌面上是64px高,在移动设备上是56px高。 有许多辅助组件可供工具栏使用。 MToolbarTitle 用于显示标题并且 MToolbarItems 允许 MButton 扩展全高度。

\n", - "Code": "\r\n \r\n", - "Type": "Demos.Components.Bars.children.Toolbar.usage.Basic", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "background", - "Title": "背景", - "Description": "

工具栏可以使用 src 属性显示背景而不是纯色。 这可以通过使用 img 插槽并提供您自己的 MImage 组件来修改。\n可以使用 MAppBar 使背景淡入淡出

\n", - "Code": "
\r\n \r\n \r\n\r\n MASA Blazor\r\n\r\n \r\n\r\n \r\n mdi-export\r\n \r\n \r\n
", - "Type": "Demos.Components.Bars.children.Toolbar.props.Background", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "collapse", - "Title": "折叠", - "Description": "

可以折叠工具栏以节省屏幕空间。

\n", - "Code": "\r\n \r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n", - "Type": "Demos.Components.Bars.children.Toolbar.props.Collapse", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "denseToolbars", - "Title": "紧凑工具栏", - "Description": "

紧凑工具栏将其高度降低到 48px。 当与 prominent prop 同时使用时,将会将高度降低到 96px。

\n", - "Code": "\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n", - "Type": "Demos.Components.Bars.children.Toolbar.props.DenseToolbars", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "extended", - "Title": "扩展", - "Description": "

工具栏可以在不使用 扩展 插槽的情况下扩展。

\n", - "Code": "\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n", - "Type": "Demos.Components.Bars.children.Toolbar.props.Extended", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "extensitionHeight", - "Title": "扩展高度", - "Description": "

扩展的高度可以定制。

\n", - "Code": "\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n ", - "Type": "Demos.Components.Bars.children.Toolbar.props.ExtensitionHeight", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "floatingWithSearch", - "Title": "搜索时浮动", - "Description": "

浮动工具栏变成内联元素,只占用所需空间的。 这在将工具栏放置在内容上时特别有用。

\n", - "Code": "\r\n \r\n \r\n\r\n \r\n mdi-crosshairs-gps\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n ", - "Type": "Demos.Components.Bars.children.Toolbar.props.FloatingWithSearch", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "lightAndDark", - "Title": "浅色和深色", - "Description": "

工具栏有 2 种变体,浅色和深色。 浅色工具栏具有深色按钮和深色文本,而深色工具栏具有白色按钮和白色文本。

\n", - "Code": "\r\n \r\n \r\n
\r\n \r\n \r\n mdi-arrow-left\r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n mdi-reply\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n
\r\n
\r\n
\r\n
", - "Type": "Demos.Components.Bars.children.Toolbar.props.LightAndDark", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "prominentToolbars", - "Title": "突出的工具栏", - "Description": "

突出的工具栏将 MToolbar 的高度增加到 128px ,并将 MToolbarTitle 放置到容器底部。 在 MApp 中扩展了这个功能,能够将\nprominent 的工具栏缩小到 紧凑 工具栏或 工具栏。

\n", - "Code": "\r\n \r\n \r\n\r\n Title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n ", - "Type": "Demos.Components.Bars.children.Toolbar.props.ProminentToolbars", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "contextualActionBar", - "Title": "上下文操作栏", - "Description": "

可以更新工具栏的外观以响应应用程序状态的改变。 在本例中,工具栏的颜色和内容会随着用户在 MSelect 中的选择而改变。

\n", - "Code": "\r\n 0 ? \"grey darken-4\" : \"deep-purple accent-4\")\"\r\n Dark>\r\n @if (!(_selection.Count > 0))\r\n {\r\n \r\n }\r\n else\r\n {\r\n _selection = new List()\">\r\n mdi-close\r\n \r\n }\r\n\r\n \r\n @(_selection.Count>0 ? $\"{_selection.Count} selected\" : \"Photos\")\r\n \r\n\r\n \r\n\r\n \r\n 0)\"\r\n Icon>\r\n mdi-export-variant\r\n \r\n \r\n \r\n 0)\"\r\n Icon>\r\n mdi-delete\r\n \r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n r\"\r\n ItemText=\"r=>r\"\r\n Multiple\r\n Label=\"Select an option\">\r\n \r\n\r\n\r\n@code {\r\n private List _selection = new List();\r\n private List _items = new List\r\n {\r\n \"Foo\", \"Bar\", \"Fizz\", \"Buzz\"\r\n };\r\n}", - "Type": "Demos.Components.Bars.children.Toolbar.misc.ContextualActionBar", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 1, - "Name": "flexibleAndCardToolbar", - "Title": "灵活的卡片工具栏", - "Description": "

在本例中,我们使用 extended prop 将卡片偏移到工具栏的扩展内容区域。

\n", - "Code": "\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Title\r\n \r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-apps\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n", - "Type": "Demos.Components.Bars.children.Toolbar.misc.FlexibleAndCardToolbar", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 1, - "Name": "variations", - "Title": "变量", - "Description": "

MToolbar 有多个变量,可以应用主题和辅助类。 这些主题包括浅色和深色的主题、彩色和透明。

\n", - "Code": "\r\n @for (var i = 0; i < _bars.Count; i++)\r\n {\r\n var bar = _bars[i];\r\n \r\n \r\n \r\n \r\n Title\r\n \r\n \r\n mdi-magnify\r\n \r\n \r\n mdi-heart\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n }\r\n\r\n\r\n@code {\r\n class Bar\r\n {\r\n public string Class { get; set; }\r\n\r\n public bool Dark { get; set; }\r\n }\r\n private List _bars = new List\r\n {\r\n new Bar\r\n {\r\n Class=\"\"\r\n },\r\n new Bar\r\n {\r\n Class=\"class\",\r\n Dark=true\r\n },\r\n new Bar\r\n {\r\n Class=\"primary\",\r\n Dark=true\r\n },\r\n new Bar\r\n {\r\n Class=\"elevation-0\"\r\n }\r\n };\r\n}", - "Type": "Demos.Components.Bars.children.Toolbar.misc.Variations", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/buttons", - "/components/footer", - "/components/tabs" - ], - "Subtitle": "工具栏", - "Title": "Toolbars", - "Type": "工具栏" - }, - { - "Desc": "

边框组件可以给任何内容添加一个额外的边框。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-12-02T18:38:45.4654435+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "border", - "Title": "边框定位", - "Description": "

设置 Border 属性,可自定义边框的位置。默认值为 Borders.Left

\n", - "Code": "\r\n \r\n \r\n Card Title\r\n Card Subtitle\r\n \r\n \r\n

Greyhound divisively hello coldly wonderfully marginally far upon excluding.

\r\n
\r\n \r\n \r\n fas fa-edit\r\n edit\r\n \r\n \r\n fas fa-share-square\r\n share\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n private Borders _border = Borders.Bottom;\r\n}", - "Type": "Demos.Components.Border.props.Border", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "offset", - "Title": "偏移", - "Description": "

添加 Offset 属性,可控制边框偏移到子元素之外。

\n", - "Code": "\r\n \r\n REPORTS\r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item.Icon\r\n \r\n \r\n @item.Text\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n readonly Item[] items = new[]\r\n {\r\n new Item { Text = \"Real-Time\", Icon = \"mdi-clock\" },\r\n new Item { Text = \"Audience\", Icon = \"mdi-account\" },\r\n new Item { Text = \"Conversions\", Icon = \"mdi-flag\" }\r\n };\r\n \r\n bool offset;\r\n StringNumber selectedItem = \"Audience\";\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.Border.props.Offset", - "Style": "", - "Debug": false, - "Group": 0 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/cards", - "/components/lists", - "/components/radio" - ], - "Subtitle": "边框", - "Title": "Borders", - "Type": "边框" - }, - { - "Desc": "

Breadcrumbs 组件适用于页面层级导航

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n", - "注意": "\n\n

默认情况下,MBreadcrumbs 将禁用路由联动。可以通过 Linkage 属性开启路由联动。

\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.4642468+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

默认情况下,面包屑导航使用文本分隔符。 可以是任何字符串。

\n", - "Code": "
\r\n Items:\r\n \r\n
\r\n\r\n
\r\n Markup:\r\n \r\n Dashboard\r\n \r\n Link 2\r\n \r\n
\r\n\r\n @code {\r\n\r\n List items = new()\r\n {\r\n new BreadcrumbItem() { Text = \"Dashboard\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_dashboard\" },\r\n new BreadcrumbItem() { Text = \"Link 1\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_link_1\" },\r\n new BreadcrumbItem() { Text = \"Link 2\", Disabled = true, Href = \"/components/breadcrumbs#breadcrumbs_link_2\" }\r\n };\r\n }\r\n", - "Type": "Demos.Components.Breadcrumbs.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "divider", - "Title": "分隔线", - "Description": "

可以使用 divider 属性来设置面包屑分隔符。

\n", - "Code": "
\r\n \r\n\r\n \r\n
\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n new BreadcrumbItem() {Text = \"Dashboard\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_dashboard\"},\r\n new BreadcrumbItem() {Text = \"Link 1\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_link_1\"},\r\n new BreadcrumbItem() {Text = \"Link 2\", Disabled = true, Href = \"/components/breadcrumbs#breadcrumbs_link_2\"}\r\n };\r\n\r\n}", - "Type": "Demos.Components.Breadcrumbs.props.Divider", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "large", - "Title": "大号", - "Description": "

大的面包屑具有较大的字体。

\n", - "Code": "
\r\n \r\n\r\n \r\n
\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n new BreadcrumbItem() {Text = \"Dashboard\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_dashboard\"},\r\n new BreadcrumbItem() {Text = \"Link 1\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_link_1\"},\r\n new BreadcrumbItem() {Text = \"Link 2\", Disabled = true, Href = \"/components/breadcrumbs#breadcrumbs_link_2\"}\r\n };\r\n\r\n}", - "Type": "Demos.Components.Breadcrumbs.props.Large", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "linkage", - "Title": "路由联动", - "Description": "", - "Code": "
\r\n \r\n
\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n new BreadcrumbItem() {Text = \"MASA.Blazor\", Href = \"/\"},\r\n new BreadcrumbItem() {Text = \"Components\", Href = \"/components\"},\r\n new BreadcrumbItem() {Text = \"Breadcrumbs\", Href = \"/components/breadcrumbs\"}\r\n };\r\n\r\n}", - "Type": "Demos.Components.Breadcrumbs.props.Linkage", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 10, - "Name": "icon-dividers", - "Title": "图标分隔符", - "Description": "

对于图标变量,面包屑可以使用Material设计中的任何图标。

\n", - "Code": "
\r\n \r\n \r\n mdi-forward\r\n \r\n \r\n\r\n \r\n \r\n mdi-chevron-right\r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n new BreadcrumbItem() {Text = \"Dashboard\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_dashboard\"},\r\n new BreadcrumbItem() {Text = \"Link 1\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_link_1\"},\r\n new BreadcrumbItem() {Text = \"Link 2\", Disabled = true, Href = \"/components/breadcrumbs#breadcrumbs_link_2\"}\r\n };\r\n\r\n}", - "Type": "Demos.Components.Breadcrumbs.contents.IconDividers", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 11, - "Name": "item", - "Title": "项目", - "Description": "

您可以使用 item 插槽自定义每个面包屑。

\n", - "Code": "\r\n \r\n \r\n @context.Text.ToUpper()\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n new BreadcrumbItem() {Text = \"Dashboard\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_dashboard\"},\r\n new BreadcrumbItem() {Text = \"Link 1\", Disabled = false, Href = \"/components/breadcrumbs#breadcrumbs_link_1\"},\r\n new BreadcrumbItem() {Text = \"Link 2\", Disabled = true, Href = \"/components/breadcrumbs#breadcrumbs_link_2\"}\r\n };\r\n\r\n}", - "Type": "Demos.Components.Breadcrumbs.contents.Item", - "Style": "", - "Debug": false, - "Group": 2 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", - "Cols": 1, - "Related": [ - "/components/buttons", - "/components/navigation-drawers", - "/components/icons" - ], - "Subtitle": "面包屑导航", - "Title": "Breadcrumbs", - "Type": "面包屑导航" - }, - { - "Desc": "

MButton(按钮)组件采 Material Design 设计主题风格,并增加众多的配置选项替换了标准的 html 按钮。 任何颜色助手类都可以用来改变背景或文字颜色。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n", - "注意": "\n \n

当使用 Dark 属性时,MButton 是唯一一种拥有不同行为的组件。 通常来说,组件使用 Dark 属性来表示他们将有深色背景,文本也需要是白色的。 虽然这对\nMButton 也是起作用的,但由于禁用状态与白色背景容易造成混淆,建议仅在按钮彩色背景时使用此属性。 If you need white text, simply add the white--text class.

\n" - }, - "LastWriteTime": "2021-11-22T17:46:11.4758353+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

最简单的按钮包含大写文本、轻微的仰角、悬停效果和单击时的波纹效果。

\n", - "Code": "\r\n Click Me\r\n", - "Type": "Demos.Components.Button.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "block", - "Title": "块状", - "Description": "

添加 Block 属性,按钮将延占满可用的宽度。

\n", - "Code": "Block Button", - "Type": "Demos.Components.Button.props.Block", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "depressed", - "Title": "凹陷", - "Description": "

Depressed 按钮依然保持其背景色,但没有框阴影。

\n", - "Code": "\r\n \r\n Normal\r\n \r\n \r\n Primary\r\n \r\n \r\n Error\r\n \r\n \r\n Disabled\r\n \r\n", - "Type": "Demos.Components.Button.props.Depressed", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "floating", - "Title": "浮动", - "Description": "

浮动按钮是圆形的,通常包含一个图标。

\n", - "Code": "
\r\n \r\n \r\n mdi-minus\r\n \r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-plus\r\n \r\n\r\n \r\n mdi-format-list-bulleted-square\r\n \r\n\r\n \r\n mdi-pencil\r\n \r\n\r\n \r\n \r\n mdi-android\r\n \r\n \r\n
\r\n", - "Type": "Demos.Components.Button.props.Floating", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "icon", - "Title": "图标", - "Description": "

图标可作为按钮的主要内容。此属性使按钮变圆并应用 Text 属性样式。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n

Normal

\r\n
\r\n \r\n \r\n \r\n mdi-heart\r\n \r\n \r\n \r\n \r\n mdi-star\r\n \r\n \r\n \r\n \r\n mdi-cached\r\n \r\n \r\n \r\n \r\n mdi-thumb-up\r\n \r\n \r\n
\r\n \r\n \r\n

Disabled

\r\n
\r\n \r\n \r\n \r\n mdi-heart\r\n \r\n \r\n \r\n \r\n mdi-star\r\n \r\n \r\n \r\n \r\n mdi-cached\r\n \r\n \r\n \r\n \r\n mdi-thumb-up\r\n \r\n \r\n
\r\n
\r\n
\r\n
", - "Type": "Demos.Components.Button.props.Icon", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "loaders", - "Title": "加载", - "Description": "

使用加载道具,可以通知用户正在进行处理。默认行为是使用 MProgressCircular 组件,但这可以自定义。

\n", - "Code": "
\r\n \r\n Accept Terms\r\n \r\n\r\n \r\n Upload\r\n \r\n mdi-cloud-upload\r\n \r\n \r\n\r\n \r\n \r\n Loading...\r\n \r\n \r\n Custom Loader\r\n \r\n \r\n\r\n \r\n \r\n mdi-cached\r\n \r\n \r\n Icon Loader\r\n \r\n \r\n\r\n \r\n \r\n mdi-cloud-upload\r\n \r\n \r\n
\r\n\r\n@code {\r\n private bool loading = false;\r\n private void OnClick()\r\n {\r\n loading = true;\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(1000);\r\n loading = false;\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n\r\n private bool loading2 = false;\r\n private void OnClick2()\r\n {\r\n loading2 = true;\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(1000);\r\n loading2 = false;\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n\r\n private bool loading3 = false;\r\n private void OnClick3()\r\n {\r\n loading3 = true;\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(1000);\r\n loading3 = false;\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n\r\n private bool loading4 = false;\r\n private void OnClick4()\r\n {\r\n loading4 = true;\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(1000);\r\n loading4 = false;\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n\r\n private bool loading5 = false;\r\n private void OnClick5()\r\n {\r\n loading5 = true;\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(1000);\r\n loading5 = false;\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n}\r\n\r\n\r\n", - "Type": "Demos.Components.Button.props.Loaders", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 5, - "Name": "outlined", - "Title": "轮廓", - "Description": "

添加 Outlined 属性,按钮的边框颜色将继承自当前应用的按钮颜色。

\n", - "Code": "
\r\n \r\n Outlined Button\r\n \r\n \r\n mdi-format-list-bulleted-square\r\n \r\n \r\n mdi-pencil\r\n \r\n
", - "Type": "Demos.Components.Button.props.Outlined", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 6, - "Name": "plain", - "Title": "Plain(朴实)", - "Description": "

应用 Plain 属性, 按钮将会有较低的基准不透明度, 以响应 hover(悬停)focus(聚焦) 事件。

\n", - "Code": "
\r\n \r\n\r\n
\r\n Are you sure you want to delete this album?\r\n
\r\n\r\n \r\n Cancel\r\n \r\n\r\n \r\n Delete\r\n \r\n
\r\n
\r\n\r\n@code {\r\n\r\n bool loading = false;\r\n\r\n private async Task Remove()\r\n {\r\n loading = true;\r\n\r\n await Task.Delay(3000);\r\n\r\n loading = false;\r\n }\r\n\r\n}", - "Type": "Demos.Components.Button.props.Plain", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 7, - "Name": "rounded", - "Title": "圆角", - "Description": "

Rounded 按钮的行为与常规按钮相同,但具有圆形边缘。

\n", - "Code": "
\r\n Rounded Button\r\n
", - "Type": "Demos.Components.Button.props.Rounded", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 8, - "Name": "size", - "Title": "大小", - "Description": "

可以为按钮提供不同的大小调整选项,以适应多种场景。

\n", - "Code": "\r\n \r\n \r\n
\r\n
\r\n XSmall Button\r\n
\r\n
\r\n Small Button\r\n
\r\n
\r\n Normal Button\r\n
\r\n
\r\n Large Button\r\n
\r\n
\r\n XLarge Button\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n mdi-television\r\n \r\n
\r\n
\r\n \r\n mdi-pencil\r\n \r\n
\r\n
\r\n \r\n mdi-account-circle\r\n \r\n
\r\n
\r\n \r\n mdi-alarm\r\n \r\n
\r\n
\r\n \r\n mdi-domain\r\n \r\n
\r\n
\r\n
\r\n
\r\n
", - "Type": "Demos.Components.Button.props.Size", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 9, - "Name": "text", - "Title": "文本", - "Description": "

文本按钮没有框阴影和背景。只在悬停时显示按钮的容器。与 Color 属性一起使用时,提供的颜色将应用于按钮文本而不是背景。

\n", - "Code": "\r\n \r\n Normal\r\n \r\n \r\n Primary\r\n \r\n \r\n Error\r\n \r\n \r\n Disabled\r\n \r\n\r\n", - "Type": "Demos.Components.Button.props.Text", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 10, - "Name": "tile", - "Title": "方块", - "Description": "

Tile 按钮的行为与常规按钮相同,但没有边框半径。

\n", - "Code": "\r\n \r\n mdi-pencil\r\n Edit\r\n \r\n", - "Type": "Demos.Components.Button.props.Tile", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 11, - "Name": "raised", - "Title": "Raised", - "Description": "

Raised buttons have a box shadow that increases when clicked. This is the default style.

\n", - "Code": "\r\n Normal\r\n Primary\r\n Error\r\n Disabled\r\n", - "Type": "Demos.Components.Button.misc.Raised", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/fNUKzY1sk/Buttons.svg", - "Cols": 1, - "Related": [ - "/components/button-groups", - "/components/icons", - "/components/floating-action-buttons" - ], - "Subtitle": "按钮", - "Title": "Buttons", - "Type": "按钮" - }, - { - "Desc": "

MCard 组件是一个可用于从面板到静态图像的多功能组件。 卡 组件有许多帮助程序组件来尽可能简单地进行标记。 没有列出选项的组件使用Vue的功能组件来更快渲染并充当标记糖以使建筑变得更加容易。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n", - "功能组件": "\n
    \n
  • MCardActions:用于为卡片放置 动作 的容器,如 MButtonMMenu。 同时在按钮上使用 个特殊边距\n,以便它们与其他卡片内容区域的匹配。
  • \n
  • MCardSubtitle:为卡片字幕提供默认的 字体大小填充。 字体大小可以以 排版类 覆盖。
  • \n
  • MCardText:主要用于卡片中的 文本内容。 对文本应用填充,将其字体大小减少为 .875rem。
  • \n
  • MCardTitle:为卡片字幕提供默认的 字体大小 和 填充。 字体大小可以以 排版类 覆盖。
  • \n
\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.4752459+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "basic", - "Title": "使用", - "Description": "

卡中有4个基本组件。 MCardTitle, MCardSubtitle, MCardTextMCardActions

\n", - "Code": "\r\n Card title\r\n Subtitle text\r\n Greyhound divisively hello coldly wonderfully marginally far upon excluding. \r\n \r\n Action 1\r\n Action 2\r\n \r\n", - "Type": "Demos.Components.Card.usage.Basic", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "loading", - "Title": "加载", - "Description": "

处理用户操作时,卡片可以设置为加载状态。 这会禁用进一步的操作,并通过 MProgressLinear 提供视觉反馈

\n", - "Code": "\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n Cafe Badilico\r\n\r\n \r\n \r\n \r\n
4.5 (413)
\r\n
\r\n
$ • Italian, Cafe
\r\n
Small plates, salads & sandwiches - an intimate setting with 12 indoor seats plus patio seating.
\r\n
\r\n\r\n \r\n\r\n Tonight's availability\r\n\r\n \r\n \r\n _selection=0\">5:30PM\r\n _selection=1\">7:30PM\r\n _selection=2\">8:00PM\r\n _selection=3\">9:00PM\r\n \r\n \r\n\r\n \r\n Reserve\r\n \r\n\r\n
\r\n
\r\n\r\n@code {\r\n StringBoolean _loading;\r\n\r\n int _selection = 1;\r\n\r\n async Task Reserve()\r\n {\r\n _loading = true;\r\n await Task.Delay(2000);\r\n _loading = false;\r\n }\r\n}", - "Type": "Demos.Components.Card.props.Loading", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "outlined", - "Title": "轮廓", - "Description": "

带轮廓具有0高程并包含软边框的卡片。

\n", - "Code": "\r\n \r\n \r\n
\r\n OVERLINE\r\n
\r\n \r\n Headline 5\r\n \r\n Greyhound divisely hello coldly fonwderfully\r\n
\r\n \r\n
\r\n \r\n Button\r\n \r\n
", - "Type": "Demos.Components.Card.props.Outlined", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "cardReveal", - "Title": "卡片显示", - "Description": "

使用 ExpandTransition 和 @click 事件,您的卡片可以获得单击按钮就会激活显示隐藏卡片从而展示更多信息的功能。

\n", - "Code": "\r\n \r\n
Word of the Day
\r\n

\r\n el·ee·mos·y·nar·y\r\n

\r\n

adjective

\r\n
\r\n relating to or dependent on charity; charitable.
\r\n \"an eleemosynary educational institution.\"\r\n
\r\n
\r\n\r\n \r\n _reveal = true\">Learn More\r\n \r\n\r\n \r\n \r\n \r\n

\r\n Origin\r\n

\r\n

late 16th century (as a noun denoting a place where alms were distributed): from medieval Latin eleemosynarius, from late Latin eleemosyna ‘alms’, from Greek eleēmosunē ‘compassion’

\r\n
\r\n \r\n _reveal = false\">Close\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n@code {\r\n bool _reveal;\r\n}", - "Type": "Demos.Components.Card.misc.CardReveal", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 3, - "Name": "contentWrapping", - "Title": "包含内容", - "Description": "

MCard 组件可用于包装内容。

\n", - "Code": "\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n Messages\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n

\r\n John Doe\r\n

\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n Today\r\n
\r\n \r\n @foreach (var message in _messages)\r\n {\r\n \r\n
\r\n
\r\n @message.From@message.Time\r\n
\r\n
@message.Message
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n MessageDto[] _messages = new[]\r\n {\r\n new MessageDto\r\n {\r\n From=\"You\",\r\n Message=\"Sure, I'll see you later.\",\r\n Time=\"10:42am\",\r\n Color=\"deep-purple lighten-1\"\r\n },\r\n new MessageDto\r\n {\r\n From=\"John Doe\",\r\n Message=\"Yeah, sure. Does 1:00pm work?\",\r\n Time=\"10:37am\",\r\n Color=\"green\"\r\n },\r\n new MessageDto\r\n {\r\n From=\"You\",\r\n Message=\"Did you still want to grab lunch today?\",\r\n Time=\"9:47am\",\r\n Color=\"deep-purple lighten-1\"\r\n }\r\n };\r\n\r\n class MessageDto\r\n {\r\n public string From { get; set; }\r\n public string Message { get; set; }\r\n public string Time { get; set; }\r\n public string Color { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.Card.misc.ContentWrapping", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 4, - "Name": "customActions", - "Title": "自定义操作", - "Description": "

使用简单的条件,您就可以轻松添加隐藏的补充文本直到您开启显示。

\n", - "Code": "\r\n\r\n \r\n\r\n \r\n Top western road trips\r\n \r\n\r\n \r\n 1,000 miles of wonder\r\n \r\n\r\n \r\n Explore\r\n\r\n \r\n\r\n show = !show\">\r\n @(show ? \"mdi-chevron-down\" : \"mdi-chevron-up\")\r\n \r\n\r\n \r\n
\r\n \r\n \r\n I'm a thing. But, like most politicians, he promised more than he could deliver. You won't have time for sleeping, soldier, not with all the bed making you'll be doing. Then we'll go with that data file! Hey, you add a one and two zeros to that or we walk! You're going to do his laundry? I've got to find a way to escape.\r\n \r\n
\r\n\r\n
\r\n\r\n@code {\r\n bool show = true;\r\n}", - "Type": "Demos.Components.Card.misc.CustomActions", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 5, - "Name": "grids", - "Title": "栅格", - "Description": "

使用网格,您可以创建漂亮的布局。

\n", - "Code": "\r\n\r\n \r\n \r\n mdi-window-minimize\r\n mdi-window-maximize\r\n mdi-close\r\n \r\n\r\n \r\n \r\n Discover\r\n \r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var card in _cards)\r\n {\r\n \r\n \r\n \r\n @card.Title\r\n \r\n\r\n \r\n \r\n \r\n mdi-heart\r\n \r\n \r\n mdi-bookmark\r\n \r\n \r\n mdi-share-variant\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n\r\n@code {\r\n Card[] _cards = new Card[]\r\n {\r\n new Card\r\n {\r\n Title=\"Pre-fab homes\",\r\n Src=\"https://cdn.vuetifyjs.com/images/cards/house.jpg\",\r\n Flex=12,\r\n },\r\n new Card\r\n {\r\n Title=\"Favorite road trips\",\r\n Src=\"https://cdn.vuetifyjs.com/images/cards/road.jpg\",\r\n Flex=6,\r\n },\r\n new Card\r\n {\r\n Title=\"Best airlines\",\r\n Src=\"https://cdn.vuetifyjs.com/images/cards/plane.jpg\",\r\n Flex=6,\r\n }\r\n };\r\n\r\n class Card\r\n {\r\n public string Title { get; set; }\r\n public string Src { get; set; }\r\n public int Flex { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.Card.misc.Grids", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 6, - "Name": "horizontalCards", - "Title": "水平卡片", - "Description": "

使用 MCol,您可以创建自定义的水平卡片。 使用 contain 属性缩小 MImage 以适应容器内部,而不是覆盖。

\n", - "Code": "\r\n\r\n \r\n \r\n mdi-window-minimize\r\n mdi-window-maximize\r\n mdi-close\r\n \r\n\r\n \r\n \r\n My Music\r\n \r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n Unlimited music now\r\n Listen to your favorite artists and albums whenever and wherever, online and offline.\r\n \r\n \r\n Listen Now\r\n \r\n \r\n \r\n \r\n @for (var i = 0; i < _cards.Length; i++)\r\n {\r\n var card = _cards[i];\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n @card.Title\r\n \r\n\r\n \r\n @card.Artist\r\n \r\n\r\n \r\n @if (card.Artist == \"Ellie Goulding\")\r\n {\r\n \r\n mdi-play\r\n \r\n }\r\n else\r\n {\r\n START RADIO\r\n }\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n }\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n@code {\r\n Card[] _cards = new[]\r\n {\r\n new Card\r\n {\r\n Color=\"#1F7087\",\r\n Src=\"https://cdn.vuetifyjs.com/images/cards/foster.jpg\",\r\n Title=\"Supermodel\",\r\n Artist=\"Foster the People\"\r\n },\r\n new Card\r\n {\r\n Color=\"#952175\",\r\n Src=\"https://cdn.vuetifyjs.com/images/cards/halcyon.png\",\r\n Title=\"Halcyon Days\",\r\n Artist=\"Ellie Goulding\"\r\n }\r\n };\r\n\r\n class Card\r\n {\r\n public string Color { get; set; }\r\n public string Src { get; set; }\r\n public string Title { get; set; }\r\n public string Artist { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.Card.misc.HorizontalCards", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 7, - "Name": "informationCard", - "Title": "信息卡片", - "Description": "

卡片是获取更详细信息的入口点。 为了保持简洁,请确保限制用户可以执行的操作数量。

\n", - "Code": "\r\n\r\n \r\n
Word of the Day
\r\n

\r\n be•nev•o•lent\r\n

\r\n

adjective

\r\n
\r\n well meaning and kindly.
\r\n \"a benevolent smile\"\r\n
\r\n
\r\n\r\n \r\n Learn More\r\n \r\n\r\n
\r\n", - "Type": "Demos.Components.Card.misc.InformationCard", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 8, - "Name": "mediaWithText", - "Title": "带文字的媒体", - "Description": "

使用布局系统,我们可以在背景中的任何地方添加自定义文本。

\n", - "Code": "\r\n\r\n \r\n Top 10 Australian beaches\r\n \r\n\r\n \r\n Number 10\r\n \r\n\r\n \r\n
Whitehaven Beach
\r\n
Whitsunday Island, Whitsunday Islands
\r\n
\r\n\r\n \r\n Share\r\n Explore\r\n \r\n\r\n
\r\n", - "Type": "Demos.Components.Card.misc.MediaWithText", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 9, - "Name": "twitterCard", - "Title": "Twitter卡片", - "Description": "

MCard 组件具有多个子组件,可帮助您构建复杂的示例而无需担心关于间距。 此示例由 MCardTitle、MCardText 和 MCardActions 组件组成。

\n", - "Code": "\r\n\r\n \r\n \r\n mdi-twitter\r\n \r\n Twitter\r\n \r\n\r\n \r\n \"Turns out semicolon-less style is easier and safer in TS because most gotcha edge cases are type invalid as well.\"\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n Evan You\r\n \r\n\r\n \r\n mdi-heart\r\n 256\r\n ·\r\n mdi-share-variant\r\n 45\r\n \r\n\r\n \r\n \r\n\r\n\r\n", - "Type": "Demos.Components.Card.misc.TwitterCard", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 10, - "Name": "weatherCard", - "Title": "天气卡片", - "Description": "

使用 MListItemMSlider,我们能够创建一个独特的天气卡。\n列表组件确保我们具有一致的间距和功能,而滑块组件允许我们为用户提供有用的选择界面。

\n", - "Code": "\r\n\r\n \r\n \r\n \r\n San Francisco\r\n \r\n Mon, 12:30 PM, Mostly sunny\r\n \r\n \r\n\r\n \r\n \r\n \r\n 23°C\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n mdi-send\r\n \r\n 23 km/h\r\n \r\n\r\n \r\n \r\n mdi-cloud-download\r\n \r\n 48%\r\n \r\n\r\n \r\n \r\n \r\n @foreach (var forecast in _forecasts)\r\n {\r\n \r\n\r\n @forecast.Day\r\n\r\n \r\n \r\n @forecast.Icon\r\n \r\n \r\n\r\n \r\n @forecast.Temp\r\n \r\n\r\n \r\n }\r\n \r\n\r\n \r\n\r\n \r\n \r\n Full Report\r\n \r\n \r\n\r\n\r\n\r\n@code {\r\n List _labels = new List { \"SU\", \"MO\", \"TU\", \"WED\", \"TH\", \"FR\", \"SR\" };\r\n\r\n double _time = 0;\r\n\r\n Forecast[] _forecasts = new[]\r\n {\r\n new Forecast\r\n {\r\n Day=\"Tuesday\",\r\n Icon=\"mdi-white-balance-sunny\",\r\n Temp=\"24\\xB0/12\\xB0\"\r\n },\r\n new Forecast\r\n {\r\n Day=\"Wednesday\",\r\n Icon=\"mdi-white-balance-sunny\",\r\n Temp=\"22\\xB0/14\\xB0\"\r\n },\r\n new Forecast\r\n {\r\n Day=\"Thursday\",\r\n Icon=\"mdi-cloud\",\r\n Temp=\"25\\xB0/15\\xB0\"\r\n },\r\n };\r\n\r\n class Forecast\r\n {\r\n public string Day { get; set; }\r\n public string Icon { get; set; }\r\n public string Temp { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.Card.misc.WeatherCard", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Cards.svg", - "Cols": 1, - "Related": [ - "/components/buttons", - "/components/images", - "/styles/text-and-typography" - ], - "Subtitle": "卡片", - "Title": "Cards", - "Type": "卡片" - }, - { - "Desc": "

MChip 组件用于传送小信息。 使用 Close 属性,纸片将变为交互式,允许用户进行交互。 此组件由 MChipGroup 用于高级选择选项。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.4772465+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "basic", - "Title": "使用", - "Description": "

纸片有以下几种变化:封闭式、过滤式、轮廓式、药丸式。 MChip 的默认插槽也接受文本旁边的头像和图标。

\n", - "Code": "\r\n Chip Component \r\n", - "Type": "Demos.Components.Chip.usage.Basic", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "closable", - "Title": "可关闭", - "Description": "

可关闭的纸片默认使用Close控制。 如果您想知道纸片何时关闭也可以侦听OnCloseClick事件。

\n", - "Code": "
\r\n @if (!_chip1 && !_chip2 && !_chip3 && !_chip4)\r\n {\r\n { _chip1 = true; _chip2 = true; _chip3 = true; _chip4 = true; }\">\r\n Reset Chips\r\n \r\n }\r\n\r\n @if (_chip1)\r\n {\r\n _chip1 = false\">\r\n Closable\r\n \r\n }\r\n\r\n @if (_chip2)\r\n {\r\n _chip2 = false\">\r\n Remove\r\n \r\n }\r\n\r\n @if (_chip3)\r\n {\r\n _chip3 = false\">\r\n Success\r\n \r\n }\r\n\r\n @if (_chip4)\r\n {\r\n _chip4 = false\">\r\n Complete\r\n \r\n }\r\n
\r\n\r\n@code{\r\n private bool _chip1 = true;\r\n private bool _chip2 = true;\r\n private bool _chip3 = true;\r\n private bool _chip4 = true;\r\n}", - "Type": "Demos.Components.Chip.props.Closable", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "colored", - "Title": "色彩", - "Description": "

Material Design 调色板中的任何颜色都可用于更改纸片颜色。

\n", - "Code": "
\r\n \r\n Default\r\n \r\n\r\n \r\n Primary\r\n \r\n\r\n \r\n Secondary\r\n \r\n\r\n \r\n Red Chip\r\n \r\n\r\n \r\n Green Chip\r\n \r\n
", - "Type": "Demos.Components.Chip.props.Colored", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "draggable", - "Title": "可拖动", - "Description": "

Draggable MChip 组件可以被鼠标拖拽。

\n", - "Code": "\r\n Default\r\n", - "Type": "Demos.Components.Chip.props.Draggable", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "filter", - "Title": "过滤器", - "Description": "

MChip 组件有 Filter 选项,在chip处于活动状态时向您显示额外的图标。 可以使用 FilterIcon 来自定义。

\n", - "Code": "\r\n \r\n I'm MChip\r\n \r\n\r\n \r\n I'm MChip\r\n \r\n\r\n \r\n I'm MChip\r\n \r\n\r\n \r\n\r\n\r\n@code\r\n{\r\n private bool _active = false;\r\n}", - "Type": "Demos.Components.Chip.props.Filter", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "label", - "Title": "标签", - "Description": "

纸片标签的使用

\n", - "Code": "
\r\n \r\n Label\r\n \r\n\r\n \r\n \r\n mdi-label\r\n \r\n Tags\r\n \r\n\r\n \r\n \r\n mdi-account-circle-outline\r\n \r\n John Leider\r\n \r\n\r\n \r\n \r\n mdi-twitter\r\n \r\n New Tweets\r\n \r\n
", - "Type": "Demos.Components.Chip.props.Label", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 5, - "Name": "noRipple", - "Title": "无波纹", - "Description": "

MChip 可以在 ripple prop 被设置为 false 情况下不渲染波纹效果

\n", - "Code": "\r\n Default\r\n", - "Type": "Demos.Components.Chip.props.NoRipple", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 6, - "Name": "outlined", - "Title": "轮廓", - "Description": "

轮廓纸片从当前文本颜色继承其边框颜色。

\n", - "Code": "
\r\n \r\n \r\n mdi-server-plus\r\n \r\n Server Status\r\n \r\n\r\n \r\n User Account\r\n \r\n mdi-account-outline\r\n \r\n \r\n\r\n \r\n \r\n mdi-wrench\r\n \r\n Update Settings\r\n \r\n\r\n \r\n \r\n mdi-fire\r\n \r\n New Posts Available\r\n \r\n
", - "Type": "Demos.Components.Chip.props.Outlined", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 7, - "Name": "sizes", - "Title": "大小", - "Description": "

MChip 组件可以有从 XSmall 到 XLarge 不同的大小.

\n", - "Code": "
\r\n \r\n x-small chip\r\n \r\n\r\n \r\n small chip\r\n \r\n\r\n \r\n Default\r\n \r\n\r\n \r\n large chip\r\n \r\n\r\n \r\n x-large chip\r\n \r\n
", - "Type": "Demos.Components.Chip.props.Sizes", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "actionChips", - "Title": "行为纸片", - "Description": "

纸片可以用作可操作的项目。 只要有 click 事件,纸片就会变成可交互并且可以调用方法。

\n", - "Code": "\r\n \r\n \r\n
Welcome Home...
\r\n
Monday, 12:30 PM, Mostly Sunny
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n 81° / 62°\r\n \r\n \r\n \r\n\r\n \r\n \r\n mdi-brightness-5\r\n Turn on Lights\r\n \r\n \r\n mdi-alarm-check\r\n Set alarm\r\n \r\n \r\n mdi-blinds\r\n Close blinds\r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n [Inject]\r\n private IJSRuntime Js { get; set; }\r\n\r\n private void Alarm()\r\n {\r\n Js.InvokeVoidAsync(\"alert\", \"Toggling lights...\");\r\n }\r\n\r\n private void Blinds()\r\n {\r\n Js.InvokeVoidAsync(\"alert\", \"Toggling lights...\");\r\n }\r\n\r\n private void Lights()\r\n {\r\n Js.InvokeVoidAsync(\"alert\", \"Toggling lights...\");\r\n }\r\n}", - "Type": "Demos.Components.Chip.events.ActionChips", - "Style": "", - "Debug": false, - "Group": 1 - }, - { - "Order": 2, - "Name": "icon", - "Title": "图标", - "Description": "

纸片可以使用文本或 Material Icons 字体库中可用的任何图标。

\n", - "Code": "
\r\n \r\n \r\n mdi-account-circle\r\n \r\n Mike\r\n \r\n\r\n \r\n Premium\r\n mdi-star\r\n \r\n\r\n \r\n 1 Year\r\n mdi-cake-variant\r\n \r\n\r\n \r\n \r\n 1\r\n \r\n Years\r\n \r\n\r\n \r\n \r\n mdi-checkbox-marked-circle\r\n \r\n Confirmed\r\n \r\n\r\n \r\n \r\n mdi-checkbox-marked-circle\r\n \r\n Confirmed\r\n \r\n
\r\n\r\n@code\r\n{\r\n [Inject]\r\n private IJSRuntime Js { get; set; }\r\n\r\n private void Close()\r\n {\r\n Js.InvokeVoidAsync(\"alert\", \"Chip close clicked\");\r\n }\r\n}", - "Type": "Demos.Components.Chip.contents.Icon", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 0, - "Name": "customList", - "Title": "自定义列表", - "Description": "

使用自定义列表使我们能够始终显示可用的选项,同时提供相同的搜索和选择功能。TODO 暂无OnInput事件

\n", - "Code": "@using System.Timers;\r\n@using Timer = System.Timers.Timer;\r\n\r\n\r\n \r\n \r\n Photo Info\r\n \r\n _search.InputElement.FocusAsync()\">\r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n \r\n @foreach(var item in Selections())\r\n {\r\n \r\n selected?.Remove(selected.FirstOrDefault(x => x.Text == item.Text))\">\r\n @item.Icon\r\n @item.Text\r\n \r\n \r\n }\r\n @if (!allSelected())\r\n {\r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n @if (allSelected())\r\n {\r\n \r\n }\r\n\r\n \r\n @foreach(var item in Categories())\r\n {\r\n @if (!selected.Any(x => x.Text.Equals(item.Text)))\r\n {\r\n selected.Add(item)\">\r\n \r\n @item.Icon\r\n \r\n @item.Text\r\n \r\n }\r\n }\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n Next\r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private Timer Timer { get; set; }\r\n private bool loading = false;\r\n private string search = string.Empty;\r\n private List selected = new();\r\n private MTextField _search;\r\n private class Selection\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n\r\n private List Items = new()\r\n {\r\n new() { Text = \"Nature\", Icon = \"mdi-nature\" },\r\n new() { Text = \"Nightlife\", Icon = \"mdi-glass-wine\" },\r\n new() { Text = \"November\", Icon = \"mdi-calendar-range\" },\r\n new() { Text = \"Portland\", Icon = \"mdi-map-marker\" },\r\n new() { Text = \"Biking\", Icon = \"mdi-bike\" }\r\n };\r\n\r\n private bool allSelected() => selected.Count == Items.Count;\r\n\r\n private List Categories()\r\n {\r\n var ent = search.ToLower();\r\n if (string.IsNullOrWhiteSpace(ent))\r\n {\r\n return Items;\r\n }\r\n\r\n return Items.Where(x => x.Text.ToLower().Contains(ent)).ToList();\r\n }\r\n\r\n private List Selections() => selected;\r\n\r\n private void Next()\r\n {\r\n loading = true;\r\n\r\n if (Timer == null)\r\n {\r\n Timer = new Timer\r\n {\r\n Interval = 2000\r\n };\r\n Timer.Elapsed += Timer_Elapsed;\r\n }\r\n\r\n Timer.Start();\r\n }\r\n \r\n private async void Timer_Elapsed(object sender, ElapsedEventArgs e)\r\n {\r\n await InvokeAsync(() =>\r\n {\r\n search = string.Empty;\r\n selected = new ();\r\n loading = false;\r\n Timer.Stop();\r\n\r\n StateHasChanged();\r\n });\r\n }\r\n}", - "Type": "Demos.Components.Chip.misc.CustomList", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 1, - "Name": "expandable", - "Title": "可展开", - "Description": "

纸片可与MMenu组合使用,为纸片启用一组特定的操作。

\n", - "Code": "\r\n \r\n\r\n \r\n To\r\n \r\n \r\n \r\n \r\n \r\n \r\n John Leider\r\n \r\n \r\n \r\n \r\n \r\n @*TODO:Dark没有从MList继承*@\r\n \r\n \r\n \r\n \r\n John Leider\r\n john@vuetifyjs.com\r\n \r\n \r\n menu = false\" Dark> @*TODO:Dark没有从MList继承*@\r\n mdi-close-circle\r\n \r\n \r\n \r\n \r\n \r\n { }\">\r\n \r\n mdi-briefcase\r\n \r\n john@gmail.com\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n@code\r\n{\r\n bool menu = false;\r\n}", - "Type": "Demos.Components.Chip.misc.Expandable", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 2, - "Name": "filtering", - "Title": "过滤", - "Description": "

纸片非常适合为特定任务提供辅助操作。 在本例中,我们搜索一个项目列表并收集一个子集信息以显示可用的关键字。 TODO 暂无OnInput事件

\n", - "Code": "\r\n \r\n\r\n \r\n \r\n mdi-arrow-left\r\n \r\n\r\n \r\n \r\n\r\n \r\n @foreach (var keyword in Keywords())\r\n {\r\n @keyword\r\n }\r\n \r\n\r\n \r\n @foreach (var item in Searching())\r\n {\r\n {}\">\r\n \r\n\r\n \r\n @item.Category\r\n
@item.Title
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n@code\r\n{\r\n private string search = string.Empty;\r\n private class DataDemo\r\n {\r\n public string Image { get; set; }\r\n public string Title { get; set; }\r\n public string Category { get; set; }\r\n public string KeyWord { get; set; }\r\n }\r\n private List Items = new()\r\n {\r\n new()\r\n {\r\n Image = \"https://cdn-images-1.medium.com/max/1024/1*9C9hLji68wV373tk8okLYA.jpeg\",\r\n Title = \"TBI’s 5 Best: SF Mocktails to Finish Dry January Strong\",\r\n Category = \"Travel\",\r\n KeyWord = \"Drinks\"\r\n },\r\n new()\r\n {\r\n Image = \"https://cdn-images-1.medium.com/max/1024/1*BBNtYUieAqHoXKjiJ2mMjQ.png\",\r\n Title = \"PWAs on iOS 12.2 beta: the good, the bad, and the “not sure yet if good”\",\r\n Category = \"Technology\",\r\n KeyWord = \"Phones\"\r\n },\r\n new()\r\n {\r\n Image = \"https://cdn-images-1.medium.com/max/1024/1*rTEtei1UEmNqbq6evRsExw.jpeg\",\r\n Title = \"How to Get Media Mentions for Your Business\",\r\n Category = \"Media\",\r\n KeyWord = \"Social\"\r\n },\r\n new()\r\n {\r\n Image = \"https://cdn-images-1.medium.com/max/1024/1*FD2nkJewVeQnGf0ommQfrw.jpeg\",\r\n Title = \"The Pitfalls Of Outsourcing Self-Awareness To Artificial Intelligence\",\r\n Category = \"Technology\",\r\n KeyWord = \"Military\"\r\n },\r\n new()\r\n {\r\n Image = \"https://cdn-images-1.medium.com/max/1024/1*eogFpsVgNzXQLCVgFzT_-A.jpeg\",\r\n Title = \"Degrees of Freedom and Sudoko\",\r\n Category = \"Travel\",\r\n KeyWord = \"Social\"\r\n }\r\n };\r\n\r\n private List Keywords()\r\n {\r\n if (string.IsNullOrWhiteSpace(search))\r\n {\r\n return new List();\r\n }\r\n\r\n return Searching()?.Select(x => x.KeyWord).ToList();\r\n }\r\n\r\n private List Searching()\r\n {\r\n if (string.IsNullOrWhiteSpace(search))\r\n {\r\n return Items;\r\n }\r\n\r\n var searchLow = search.ToLower();\r\n\r\n return Items.Where(x => x.Title.ToLower().Contains(searchLow)).ToList();\r\n }\r\n}", - "Type": "Demos.Components.Chip.misc.Filtering", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 3, - "Name": "inSelects", - "Title": "选中(TODO)", - "Description": "

选择可以使用纸片显示所选数据。 尝试在下方添加您自己的标签。

\n", - "Code": "TODO", - "Type": "Demos.Components.Chip.misc.InSelects", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Chips.svg", - "Cols": 1, - "Related": [ - "/components/avatars", - "/components/icons", - "/components/selects" - ], - "Subtitle": "纸片", - "Title": "Chips", - "Type": "纸片" - }, - { - "Desc": "

Dialog组件通知用户有关特定任务,且可能包含关键信息、需要决策或涉及多个任务。减少使用对话框的频率,因为它们具有干扰性。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-09T10:30:56.7828998+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "Index", - "Title": "使用", - "Description": "

对话框包含两个插槽,一个用于它的激活器,另一个用于它的内容(默认)。 有利于隐私政策。

\n", - "Code": "
\r\n \r\n \r\n \r\n Click Me\r\n \r\n \r\n\r\n \r\n \r\n \r\n Privacy Policy\r\n \r\n\r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\r\n \r\n\r\n \r\n\r\n \r\n \r\n dialog = false\">\r\n I accept\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n bool dialog;\r\n\r\n}", - "Type": "Demos.Components.Dialog.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "fullscreen", - "Title": "全屏对话框", - "Description": "

由于屏幕空间有限,相对于使用普通对话框的大屏设备,全屏对话框更适合移动设备。

\n", - "Code": "\r\n \r\n \r\n \r\n Open Dialog\r\n \r\n \r\n \r\n \r\n \r\n dialog = false\">\r\n mdi-close\r\n \r\n Settings\r\n \r\n \r\n dialog = false\">\r\n Save\r\n \r\n \r\n \r\n \r\n User Controls\r\n \r\n \r\n Content filtering\r\n Set the content filtering level to restrict apps that can be downloaded\r\n \r\n \r\n \r\n \r\n Password\r\n Require password for purchase or use password to restrict purchase\r\n \r\n \r\n \r\n \r\n \r\n General\r\n \r\n \r\n \r\n \r\n \r\n Notifications\r\n Notify me about updates to apps or games that I downloaded\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Sound\r\n Auto-update apps at any time. Data charges may apply\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Auto-add widgets\r\n Automatically add home screen widgets\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private bool dialog = false;\r\n private bool notifications = false;\r\n private bool sound = true;\r\n private bool widgets = false;\r\n}", - "Type": "Demos.Components.Dialog.props.Fullscreen", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "persistent", - "Title": "保留", - "Description": "

与普通对话框相似,但当用户点击对话框外部或按下 esc 键时,对话框不会关闭。

\n", - "Code": "\r\n \r\n \r\n \r\n Open Dialog\r\n \r\n \r\n \r\n \r\n \r\n Use Google'location service?\r\n \r\n Let Google help apps determine location. This means sending anonymous location data to Google, even when no apps are running.\r\n \r\n \r\n dialog = false\">\r\n Disagree\r\n \r\n dialog = false\">\r\n Agree\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool dialog = false;\r\n}", - "Type": "Demos.Components.Dialog.props.Persistent", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "scrollable", - "Title": "可滚动", - "Description": "

一个可滚动内容的对话框示例。

\n", - "Code": "\r\n \r\n \r\n Open Dialog\r\n \r\n \r\n \r\n Select Country\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n dialog = false\">\r\n Close\r\n \r\n dialog = false\">\r\n Save\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool dialog = false;\r\n}", - "Type": "Demos.Components.Dialog.props.Scrollable", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "transitions", - "Title": "过渡动画", - "Description": "

您可以让对话框从顶部或底部出现。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n From the bottom\r\n \r\n \r\n \r\n \r\n \r\n Opening from the bottom\r\n \r\n \r\n
Hello world!
\r\n
\r\n \r\n dialog = false\">\r\n Close\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n From the top\r\n \r\n \r\n \r\n \r\n \r\n Opening from the top\r\n \r\n \r\n
Hello world!
\r\n
\r\n \r\n dialog2 = false\">\r\n Close\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n bool dialog = false;\r\n bool dialog2 = false;\r\n}", - "Type": "Demos.Components.Dialog.props.Transitions", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 5, - "Name": "form", - "Title": "表单", - "Description": "

一个简单的表单对话框的例子。

\n", - "Code": "\r\n \r\n \r\n \r\n Open Dialog\r\n \r\n \r\n \r\n \r\n \r\n User Profile\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r => r\">\r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r => r\"\r\n Multiple>\r\n \r\n \r\n \r\n \r\n *indicates required field\r\n \r\n \r\n \r\n dialog = false\">\r\n Close\r\n \r\n dialog = false\">\r\n Save\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool dialog = false;\r\n List _values = new List();\r\n List _items = new() {\"0-17\", \"18-29\", \"30-54\", \"54+\"};\r\n List _items2 = new() {\"Skiing\", \"Ice hockey\", \"Soccer\", \"Basketball\", \"Hockey\", \"Reading\", \"Writing\", \"Coding\", \"Basejump\"};\r\n}", - "Type": "Demos.Components.Dialog.misc.Form", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 6, - "Name": "loader", - "Title": "加载器", - "Description": "

MDialog 组件可以轻松为您的应用程序创建自定义加载体验。

\n", - "Code": "
\r\n dialog = true\">\r\n Start loading\r\n \r\n \r\n \r\n \r\n Please stand by\r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n bool dialog = false;\r\n protected override async Task OnAfterRenderAsync(bool firstRender)\r\n {\r\n if (dialog)\r\n {\r\n await Task.Delay(4000);\r\n dialog = false;\r\n\r\n StateHasChanged();\r\n }\r\n }\r\n}", - "Type": "Demos.Components.Dialog.misc.Loader", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 7, - "Name": "nesting", - "Title": "嵌套", - "Description": "

对话框可以嵌套:可以从一个对话框打开另一个对话框。

\n", - "Code": "
\r\n\r\n dialog = true\">\r\n Open Dialog 1\r\n \r\n dialog2 = true\">\r\n Open Dialog 2\r\n\r\n dialog3 = true\">\r\n Open Dialog 3\r\n\r\n\r\n\r\n\r\n \r\n \r\n A Menu\r\n \r\n \r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n { }\">\r\n @item\r\n \r\n }\r\n \r\n \r\n\r\n\r\n \r\n \r\n dialog = false\">\r\n mdi-close\r\n \r\n Settings\r\n \r\n \r\n dialog = false\">\r\n Save\r\n \r\n \r\n \r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n { }\">\r\n @item\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n dialog2 = !dialog2\">\r\n Open Dialog 2\r\n \r\n \r\n \r\n \r\n Tool Tip Activator\r\n \r\n \r\n \r\n Tool Tip\r\n \r\n \r\n \r\n User Controls\r\n \r\n \r\n Content filtering\r\n Set the content filtering level to restrict apps that can be downloaded\r\n \r\n \r\n \r\n \r\n Password\r\n Require password for purchase or use password to restrict purchase\r\n \r\n \r\n \r\n \r\n \r\n General\r\n \r\n \r\n \r\n \r\n \r\n Notifications\r\n Notify me about updates to apps or games that I downloaded\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Sound\r\n Auto-update apps at any time. Data charges may apply\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Auto-add widgets\r\n Automatically add home screen widgets\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n Dialog 2\r\n \r\n \r\n dialog3 = !dialog3\">\r\n Open Dialog 3\r\n \r\n r\"\r\n ItemText=\"r => r\">\r\n \r\n \r\n \r\n dialog2 = false\">\r\n Close\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n Dialog 3\r\n \r\n \r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n { }\">\r\n @item\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n dialog3 = false\">\r\n Close\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n@code {\r\n bool dialog = false;\r\n bool dialog2 = false;\r\n bool dialog3 = false;\r\n bool notifications = false;\r\n bool sound = true;\r\n bool widgets = false;\r\n\r\n List _items = new() {\"0-17\", \"18-29\", \"30-54\", \"54+\"};\r\n List items = new() {\"Click Me\", \"Click Me\", \"Click Me\", \"Click Me\"};\r\n}", - "Type": "Demos.Components.Dialog.misc.Nesting", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 8, - "Name": "overflowed", - "Title": "溢出", - "Description": "

若对话框内容溢出,将在对话框内显示滚动条。

\n", - "Code": "\r\n \r\n \r\n \r\n Open Dialog\r\n \r\n \r\n \r\n \r\n \r\n Use Google's location service?\r\n \r\n \r\n Lorem ipsum dolor sit amet, semper quis, sapien id natoque elit. Nostra urna at, magna at neque sed sed ante imperdiet, dolor mauris cursus velit, velit non, sem nec. Volutpat sem ridiculus placerat leo, augue in, duis erat proin condimentum in a eget, sed fermentum sed vestibulum varius ac, vestibulum volutpat orci ut elit eget tortor. Ultrices nascetur nulla gravida ante arcu. Pharetra rhoncus morbi ipsum, nunc tempor debitis, ipsum pellentesque, vitae id quam ut mauris dui tempor, aptent non. Quisque turpis. Phasellus quis lectus luctus orci eget rhoncus. Amet donec vestibulum mattis commodo, nulla aliquet, nibh praesent, elementum nulla. Sit lacus pharetra tempus magna neque pellentesque, nulla vel erat.\r\n Justo ex quisque nulla accusamus venenatis, sed quis. Nibh phasellus gravida metus in, fusce aenean ut erat commodo eros. Ut turpis, dui integer, nonummy pede placeat nec in sit leo. Faucibus porttitor illo taciti odio, amet viverra scelerisque quis quis et tortor, curabitur morbi a. Enim tempor at, rutrum elit condimentum, amet rutrum vitae tempor torquent nunc. Praesent vestibulum integer maxime felis. Neque aenean quia vitae nostra, tempus elit enim id dui, at egestas pulvinar. Integer libero vestibulum, quis blandit scelerisque mattis fermentum nulla, tortor donec vestibulum dolor amet eget, elit nullam. Aliquam leo phasellus aliquam curabitur metus a, nulla justo mattis duis interdum vel, mollis vitae et id, vestibulum erat ridiculus sit pulvinar justo sed. Vehicula convallis, et nulla wisi, amet vestibulum risus, quam ac egestas.\r\n Et vitae, nulla gravida erat scelerisque nullam nunc pellentesque, a dictumst cras augue, purus imperdiet non. Varius montes cursus varius vel tortor, nec leo a qui, magni cras, velit vel consectetuer lobortis vel. Nibh erat et wisi felis leo porttitor, sapien nibh sapien pede mi, sed eget porttitor, repellendus arcu ac quis. Luctus vulputate aut est sem magna, placerat accumsan nunc vestibulum ipsum ac auctor, maecenas lorem in ut nec mauris tortor, doloribus varius sem tortor vestibulum mollis, eleifend tortor felis tempus lacus eu eu. Eleifend vel eu, nullam maecenas mauris nec nunc euismod, tortor porta ridiculus potenti, massa tristique nam magna, et wisi placerat et erat ante. Eget pede erat in facilisis, fermentum venenatis sodales. Ac tortor sociis et non animi tristique, rhoncus malesuada, ut arcu volutpat scelerisque sollicitudin, elit curabitur dui pede purus dolor, integer aenean risus taciti nulla eleifend accumsan. At pulvinar diam parturient, interdum mi velit aliquet et a. Arcu at ac placerat eget justo semper, purus sociis curabitur mi ipsum consequat ut, mollis vestibulum, est ante ornare lacus sem. Neque magna mauris, commodo quisque, praesent semper suscipit lobortis nam. Justo malesuada cursus ac nunc litora nunc. Tellus ac, in lobortis nunc, montes lectus purus fermentum.\r\n Ac sit wisi. Sodales aliquam, sed vestibulum nullam arcu sit risus arcu, id luctus vitae lorem nibh, integer nec nullam class cursus mi, purus arcu lectus. Vel ante suscipit volutpat potenti mattis sed, wisi eu placerat aliquam erat, lectus morbi lobortis at assumenda. Consequat neque purus ipsum voluptas odio, netus vestibulum ut nec, suspendisse pellentesque nec enim in. Wisi dictum sed semper a, ipsum erat tellus habitasse est, erat sem ornare, vitae quisque ultricies. Dui sed blandit. Tempor et faucibus justo sed luctus, nec vitae vitae. Nunc nibh pede, ipsum vestibulum aenean leo ante ultricies, nam cras quis sed penatibus amet. In mauris a. Integer metus mauris tortor, et rutrum vestibulum ultricies, ut phasellus in ullamcorper ut mollit, eu justo. Cursus pretium venenatis.\r\n Cras pellentesque vel sodales accumsan aenean. Feugiat metus sit nec in aliquet amet, porttitor pretium vulputate massa. Consequat ipsum luctus quisque adipiscing libero. Wisi sollicitudin. Eget vitae ac lobortis, lorem natoque vestibulum et, aliquet faucibus at morbi nibh, vel condimentum. Massa unde orci sed id sed, odio donec congue nec praesent amet. Hymenaeos velit lacus, quis vivamus libero tempus duis, eu nisi eu, ipsum at accumsan pede justo morbi donec, massa et libero sit risus neque tortor. Ut sed sed etiam hendrerit dapibus, quis metus suspendisse nibh.\r\n Fringilla tempor felis augue magna. Cum arcu a, id vitae. Pellentesque pharetra in cras sociis adipiscing est. Nibh nec mattis at maecenas, nisl orci aliquam nulla justo egestas venenatis, elementum duis vel porta eros, massa vitae, eligendi imperdiet amet. Nec neque luctus suscipit, justo sem praesent, ut nisl quisque, volutpat torquent wisi tellus aliquam reprehenderit, curabitur cras at quis massa porttitor mauris. Eros sed ultrices. Amet dignissim justo urna feugiat mauris litora, etiam accumsan, lobortis a orci suspendisse. Semper ac mauris, varius bibendum pretium, orci urna nunc ullamcorper auctor, saepe sem integer quam, at feugiat egestas duis. Urna ligula ante. Leo elementum nonummy. Sagittis mauris est in ipsum, nulla amet non justo, proin id potenti platea posuere sit ut, nunc sit erat bibendum. Nibh id auctor, ab nulla vivamus ultrices, posuere morbi nunc tellus gravida vivamus.\r\n Mauris nec, facilisi quam fermentum, ut mauris integer, orci tellus tempus diam ut in pellentesque. Wisi faucibus tempor et odio leo diam, eleifend quis integer curabitur sit scelerisque ac, mauris consequat luctus quam penatibus fringilla dis, vitae lacus in, est eu ac tempus. Consectetuer amet ipsum amet dui, sed blandit id sed. Tellus integer, dignissim id pede sodales quis, felis dolorem id mauris orci, orci tempus ut. Nullam hymenaeos. Curabitur in a, tortor ut praesent placerat tincidunt interdum, ac dignissim metus nonummy hendrerit wisi, etiam ut.\r\n Semper praesent integer fusce, tortor suspendisse, augue ligula orci ante asperiores ullamcorper. In sit per mi sed sed, mi vestibulum mus nam, morbi mauris neque vitae aliquam proin senectus. Ac amet arcu mollis ante congue elementum, inceptos eget optio quam pellentesque quis lobortis, sollicitudin sed vestibulum sollicitudin, lectus parturient nullam, leo orci ligula ultrices. At tincidunt enim, suspendisse est sit sem ac. Amet tellus molestie est purus magna augue, non etiam et in wisi id. Non commodo, metus lorem facilisi lobortis ac velit, montes neque sed risus consectetuer fringilla dolor. Quam justo et integer aliquam, cursus nulla enim orci, nam cursus adipiscing, integer torquent non, fringilla per maecenas. Libero ipsum sed tellus purus et. Duis molestie placerat erat donec ut. Dolor enim erat massa faucibus ultrices in, ante ultricies orci lacus, libero consectetuer mauris magna feugiat neque dapibus, donec pretium et. Aptent dui, aliquam et et amet nostra ligula.\r\n Augue curabitur duis dui volutpat, tempus sed ut pede donec. Interdum luctus, lectus nulla aenean elit, id sit magna, vulputate ultrices pellentesque vel id fermentum morbi. Tortor et. Adipiscing augue lorem cum non lacus, rutrum sodales laoreet duis tortor, modi placerat facilisis et malesuada eros ipsum, vehicula tempus. Ac vivamus amet non aliquam venenatis lectus, sociosqu adipiscing consequat nec arcu odio. Blandit orci nec nec, posuere in pretium, enim ut, consectetuer nullam urna, risus vel. Nullam odio vehicula massa sed, etiam sociis mauris, lacus ullamcorper, libero imperdiet non sodales placerat justo vehicula. Nec morbi imperdiet. Fermentum sem libero iaculis bibendum et eros, eget maecenas non nunc, ad pellentesque. Ut nec diam elementum interdum. Elementum vitae tellus lacus vitae, ipsum phasellus, corporis vehicula in ac sed massa vivamus, rutrum elit, ultricies metus volutpat.\r\n Semper wisi et, sollicitudin nunc vestibulum, cursus accumsan nunc pede tempus mi ipsum, ligula sed. Non condimentum ac dolor sit. Mollis eu aliquam, vel mattis mollis massa ut dolor ante, tempus lacinia arcu. Urna vestibulum lorem, nulla fermentum, iaculis ut congue ac vivamus. Nam libero orci, pulvinar nulla, enim pellentesque consectetuer leo, feugiat rhoncus rhoncus vel. Magna sociosqu donec, dictum cursus ullamcorper viverra. Ultricies quis orci lorem, suspendisse ut vestibulum integer, purus sed lorem pulvinar habitasse turpis.\r\n +\r\n \r\n \r\n \r\n dialog = false\">\r\n Disagree\r\n \r\n dialog = false\">\r\n Agree\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool dialog = false;\r\n}", - "Type": "Demos.Components.Dialog.misc.Overflowed", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 9, - "Name": "withoutActivator", - "Title": "没有激活器", - "Description": "

如果因为某些原因不能使用激活器插槽,请确保将 StopPropagation 修饰符添加到触发对话框的事件。

\n", - "Code": "\r\n dialog = true\">\r\n Open Dialog\r\n \r\n\r\n \r\n \r\n \r\n Use Google's location service?\r\n \r\n\r\n \r\n Let Google help apps determine location. This means sending anonymous location data to Google, even when no apps are running.\r\n \r\n\r\n \r\n \r\n\r\n dialog = false\">\r\n Disagree\r\n \r\n\r\n dialog = false\">\r\n Agree\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool dialog = false;\r\n}", - "Type": "Demos.Components.Dialog.misc.WithoutActivator", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/buttons", - "/components/cards", - "/components/menus" - ], - "Subtitle": "对话框", - "Title": "Dialogs", - "Type": "对话框" - }, - { - "Desc": "

MDivider 组件用于分隔列表或布局的各个部分。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.4842458+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "Index", - "Title": "使用", - "Description": "

最简单的分隔线显示一条水平线。

\n", - "Code": "", - "Type": "Demos.Components.Divider.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "inset", - "Title": "缩进", - "Description": "

inset属性令分隔线向右缩进72px。 这将使他们与列表项保持一致。

\n", - "Code": "\r\n \r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n if (!string.IsNullOrWhiteSpace(item.Header))\r\n {\r\n @item.Header\r\n }\r\n else if (item.Divider)\r\n {\r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n \r\n \r\n \r\n @((MarkupString)item.Title)\r\n @((MarkupString)item.SubTtile)\r\n \r\n \r\n }\r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private class DataDemo\r\n {\r\n public string Header { get; set; }\r\n public string Avatar { get; set; }\r\n public string Title { get; set; }\r\n public string SubTtile { get; set; }\r\n public bool Divider { get; set; }\r\n public bool Inset { get; set; }\r\n }\r\n\r\n private List _items = new List()\r\n {\r\n new DataDemo\r\n {\r\n Header = \"Today\"\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://cdn.vuetifyjs.com/images/lists/1.jpg\",\r\n Title = \"Brunch this weekend?\",\r\n SubTtile = \"Ali Connors — I'll be in your neighborhood doing errands this weekend. Do you want to hang out?\"\r\n },\r\n new DataDemo\r\n {\r\n Divider = true,\r\n Inset = true\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://cdn.vuetifyjs.com/images/lists/2.jpg\",\r\n Title = \"Summer BBQ 4\",\r\n SubTtile = \"to Alex, Scott, Jennifer — Wish I could come, but I'm out of town this weekend.\"\r\n },\r\n new DataDemo\r\n {\r\n Divider = true,\r\n Inset = true\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://cdn.vuetifyjs.com/images/lists/3.jpg\",\r\n Title = \"Oui oui\",\r\n SubTtile = \"Sandra Adams — Do you have Paris recommendations? Have you ever been?\"\r\n }\r\n };\r\n}\r\n", - "Type": "Demos.Components.Divider.props.Inset", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "vertical", - "Title": "垂直", - "Description": "

垂直分隔线为您提供了更多用于独特布局的工具。

\n", - "Code": "\r\n Title\r\n\r\n \r\n\r\n My Home\r\n\r\n \r\n\r\n \r\n News\r\n\r\n \r\n\r\n Blog\r\n\r\n \r\n\r\n Music\r\n\r\n \r\n \r\n\r\n \r\n\r\n", - "Type": "Demos.Components.Divider.props.Vertical", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "subheaders", - "Title": "副标题", - "Description": "

分割线和副标题可以帮助分解内容,并可以使用相同的 inset 属性来相互对齐。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n\r\n Message Board\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n if (!string.IsNullOrWhiteSpace(item.Header))\r\n {\r\n @item.Header\r\n }\r\n else if (item.Divider)\r\n {\r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n \r\n \r\n \r\n @((MarkupString)item.Title)\r\n @((MarkupString)item.SubTtile)\r\n \r\n \r\n }\r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private class DataDemo\r\n {\r\n public string Header { get; set; }\r\n public string Avatar { get; set; }\r\n public string Title { get; set; }\r\n public string SubTtile { get; set; }\r\n public bool Divider { get; set; }\r\n }\r\n\r\n private List _items = new List()\r\n {\r\n new DataDemo\r\n {\r\n Header = \"Today\"\r\n },\r\n new DataDemo\r\n {\r\n Divider = true\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=660\",\r\n Title = \"Meeting @ Noon\",\r\n SubTtile = \"Spike Lee — I'll be in your neighborhood\"\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=821\",\r\n Title = \"Summer BBQ \",\r\n SubTtile = \"to Operations support — Wish I could come.\"\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=783\",\r\n Title = \"Yes yes\",\r\n SubTtile = \"Bella — Do you have Paris recommendations\"\r\n },\r\n new DataDemo\r\n {\r\n Header = \"Yesterday\"\r\n },\r\n new DataDemo\r\n {\r\n Divider = true\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=1006\",\r\n Title = \"Dinner tonight?\",\r\n SubTtile = \"LaToya — Do you want to hang out?\"\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=146\",\r\n Title = \"So long\",\r\n SubTtile = \"Nancy — Do you see what time it is?\"\r\n },\r\n new DataDemo\r\n {\r\n Header = \"Last Week\"\r\n },\r\n new DataDemo\r\n {\r\n Divider = true\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=1008\",\r\n Title = \"Breakfast?\",\r\n SubTtile = \"LaToya — Do you want to hang out?\"\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=839\",\r\n Title = \"Winter Porridge \",\r\n SubTtile = \"cc: Daniel — Tell me more...\"\r\n },\r\n new DataDemo\r\n {\r\n Avatar = \"https://picsum.photos/250/300?image=145\",\r\n Title = \"Oui oui\",\r\n SubTtile = \"Nancy — Do you see what time it is?\"\r\n }\r\n };\r\n}", - "Type": "Demos.Components.Divider.misc.SubHeaders", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "view", - "Title": "纵向视图", - "Description": "

创建自定义卡片以适应任何用例。

\n", - "Code": "\r\n \r\n \r\n \r\n Sarah Mcbeal\r\n\r\n \r\n\r\n \r\n mdi-chevron-left\r\n \r\n\r\n \r\n mdi-pencil\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n \r\n mdi-phone\r\n \r\n\r\n \r\n (650) 555-1234\r\n \r\n\r\n \r\n mdi-message-text\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n mdi-phone\r\n \r\n\r\n \r\n (323) 555-6789\r\n \r\n\r\n \r\n mdi-message-text\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n mdi-email\r\n \r\n\r\n \r\n mcbeal@example.com\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n mdi-map-marker\r\n \r\n\r\n \r\n Orlando, FL 79938\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Divider.misc.View", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Dividers.svg", - "Cols": 1, - "Related": [ - "/components/lists", - "/components/navigation-drawers", - "/components/toolbars" - ], - "Subtitle": "分隔线", - "Title": "Dividers", - "Type": "分隔线" - }, - { - "Desc": "

ECharts

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-12-02T18:38:45.4850728+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "basic", - "Title": "使用", - "Description": "

图表示例

\n", - "Code": "
\r\n \r\n \r\n
\r\n\r\n@code{\r\n private object _option = new\r\n {\r\n Title = new\r\n {\r\n Text = \"ECharts 入门示例\"\r\n },\r\n Tooltip = new { },\r\n Legend = new\r\n {\r\n Data = new[] { \"销量\" }\r\n },\r\n XAxis = new\r\n {\r\n Data = new[] { \"衬衫\", \"羊毛衫\", \"雪纺衫\", \"裤子\", \"高跟鞋\", \"袜子\" }\r\n },\r\n YAxis = new { },\r\n Series = new[]\r\n {\r\n new \r\n {\r\n Name= \"销量\",\r\n Type= \"bar\",\r\n Data= new []{ 5, 20, 36, 10, 10, 20 }\r\n }\r\n }\r\n };\r\n}\r\n\r\n", - "Type": "Demos.Components.ECharts.usage.Basic", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "heightAndWidth", - "Title": "高度和宽度", - "Description": "

通过 Height,Width 属性设置宽高

\n", - "Code": "\r\n 柱状图\r\n \r\n \r\n \r\n \r\n \r\n \r\n 宽高比:400/300\r\n \r\n \r\n\r\n\r\n@code {\r\n private object _option = new\r\n {\r\n Title = new\r\n {\r\n Text = \"ECharts 入门示例\"\r\n },\r\n Tooltip = new { },\r\n Legend = new\r\n {\r\n Data = new[] { \"销量\" }\r\n },\r\n XAxis = new\r\n {\r\n Data = new[] { \"衬衫\", \"羊毛衫\", \"雪纺衫\", \"裤子\", \"高跟鞋\", \"袜子\" }\r\n },\r\n YAxis = new { },\r\n Series = new[]\r\n {\r\n new\r\n {\r\n Name= \"销量\",\r\n Type= \"bar\",\r\n Data= new []{ 5, 20, 36, 10, 10, 20 }\r\n }\r\n }\r\n };\r\n}\r\n\r\n", - "Type": "Demos.Components.ECharts.props.HeightAndWidth", - "Style": "", - "Debug": false, - "Group": 0 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ECharts.svg", - "Cols": 1, - "Subtitle": "图表", - "Title": "ECharts", - "Type": "图表" - }, - { - "Desc": "

MExpansionPanel 组件有助于减少大量信息的垂直空间占用。 组件的默认功能是仅显示一个扩展面板; 然而,使用 Multiple 属性后,扩展面板可以保持打开,直到显式地关闭。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-09T10:30:56.7909558+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

最简单的扩展面板显示可扩展项目的列表。

\n", - "Code": "\r\n @foreach (var i in Enumerable.Range(0, 5))\r\n {\r\n \r\n \r\n Item\r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n }\r\n", - "Type": "Demos.Components.ExpansionPanels.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "accordion", - "Title": "手风琴", - "Description": "

Accordion 属性激活时,当前扩展面板周围不会有边距。

\n", - "Code": "\r\n \r\n @foreach (var i in Enumerable.Range(0, 5))\r\n {\r\n \r\n Item\r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n }\r\n \r\n", - "Type": "Demos.Components.ExpansionPanels.props.Accordion", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "disabled", - "Title": "禁用", - "Description": "

ExpansionPanels 扩展面板及其内容都可以使用 disabled 属性禁用。

\n", - "Code": "
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n Panel 1\r\n \r\n Some content\r\n \r\n \r\n\r\n \r\n Panel 2\r\n \r\n Some content\r\n \r\n \r\n\r\n \r\n Panel 3\r\n \r\n Some content\r\n \r\n \r\n \r\n
\r\n\r\n\r\n@code {\r\n bool disabled;\r\n List panel = new() {0, 1};\r\n}", - "Type": "Demos.Components.ExpansionPanels.props.Disabled", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "focusable", - "Title": "调焦", - "Description": "

扩展面板头部可以使用 focusable 属性使其可以聚焦。

\n", - "Code": "\r\n @foreach (var i in Enumerable.Range(0, 5))\r\n {\r\n \r\n \r\n Item\r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n }\r\n", - "Type": "Demos.Components.ExpansionPanels.props.Focusable", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "inset", - "Title": "缩进", - "Description": "

inset 属性激活时,当前扩张面板变得更小。

\n", - "Code": "\r\n \r\n @foreach (var i in Enumerable.Range(0, 5))\r\n {\r\n \r\n Item\r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n }\r\n \r\n", - "Type": "Demos.Components.ExpansionPanels.props.Inset", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 5, - "Name": "model", - "Title": "外部控制", - "Description": "

可以通过修改 v-model 来从外部控制扩展面板。 它的值对应于当前打开的扩展面板索引(从0开始)。 如果使用 multiple 属性,则是一个包含打开项索引的数组。

\n", - "Code": "
\r\n
\r\n \r\n all\r\n \r\n
[@string.Join(\",\", panel)]
\r\n \r\n none\r\n \r\n
\r\n\r\n \r\n @foreach (var i in Enumerable.Range(0, items))\r\n {\r\n \r\n Header @(i + 1)\r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n }\r\n \r\n
\r\n\r\n@code {\r\n\r\n List panel = new();\r\n\r\n int items = 5;\r\n\r\n void All()\r\n {\r\n panel = Enumerable.Range(0, 5).Select(i => (StringNumber)i).ToList();\r\n }\r\n\r\n void None()\r\n {\r\n panel.Clear();\r\n }\r\n\r\n}", - "Type": "Demos.Components.ExpansionPanels.props.Model", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 6, - "Name": "popout", - "Title": "弹出", - "Description": "

扩展面板还具有 popout 设计。 如果扩展面板激活popout属性,扩张面板将会在激活时扩大。

\n", - "Code": "\r\n \r\n @foreach (var i in Enumerable.Range(0, 5))\r\n {\r\n \r\n Item\r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n }\r\n \r\n", - "Type": "Demos.Components.ExpansionPanels.props.Popout", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 7, - "Name": "readonly", - "Title": "只读", - "Description": "

readonly 属性做了与 disabled 相同的事情,但不涉及样式。

\n", - "Code": "
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n Panel 1\r\n \r\n Some content\r\n \r\n \r\n\r\n \r\n Panel 2\r\n \r\n Some content\r\n \r\n \r\n\r\n \r\n Panel 3\r\n \r\n Some content\r\n \r\n \r\n \r\n
\r\n\r\n\r\n@code {\r\n List panel = new() {0, 1};\r\n\r\n bool _readonly;\r\n}", - "Type": "Demos.Components.ExpansionPanels.props.Readonly", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 8, - "Name": "advanced", - "Title": "高级版", - "Description": "

扩展面板为构建真正高级的实现提供了丰富的平台。 在这里,我们可以利用 MExpansionPanelHeader 组件中的插槽,通过淡入淡出内容来响应打开或关闭的状态。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n Trip name\r\n \r\n \r\n \r\n @*TODO: Transition need to update, support LeaveAbsolute*@\r\n \r\n \r\n Enter a name for the trip\r\n \r\n \r\n \r\n \r\n \r\n \r\n @trip.name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Location\r\n \r\n \r\n \r\n \r\n \r\n Select trip destination\r\n \r\n \r\n \r\n \r\n \r\n \r\n @trip.location\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n item\"\r\n ItemText=\"item => item\"\r\n Chips\r\n Flat\r\n Solo>\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n Select your destination of choice\r\n
\r\n Learn more\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n Start and end dates\r\n \r\n \r\n \r\n \r\n When do you want to travel?\r\n \r\n \r\n \r\n \r\n \r\n \r\n Start date: @(trip.start ?? \"Not set\")\r\n \r\n \r\n End date: @(trip.end ?? \"Not set\")\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n visible = false\">\r\n Cancel\r\n \r\n { trip.start = date.ToShortDateString(); visible = false;}\">\r\n OK\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n visible2 = false\">\r\n Cancel\r\n \r\n { trip.end = date2.ToShortDateString(); visible2 = false; }\">\r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n DateOnly date = DateOnly.FromDateTime(DateTime.Now);\r\n DateOnly date2 = DateOnly.FromDateTime(DateTime.Now);\r\n\r\n List locations = new() { \"Australia\", \"Barbados\", \"Chile\", \"Denmark\", \"Ecuador\", \"France\" };\r\n\r\n Trip trip = new();\r\n\r\n bool visible = false;\r\n bool visible2 = false;\r\n\r\n class Trip\r\n {\r\n public string name { get; set; }\r\n public string location { get; set; }\r\n public string start { get; set; }\r\n public string end { get; set; }\r\n }\r\n\r\n}", - "Type": "Demos.Components.ExpansionPanels.misc.Advanced", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 9, - "Name": "customIcon", - "Title": "自定义图标", - "Description": "

展开操作的图标可以使用 ExpandIcon 属性或 ActionsContent 定义。

\n", - "Code": "
\r\n \r\n @foreach (var item in Enumerable.Range(0, 5))\r\n {\r\n \r\n \r\n Item\r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n }\r\n \r\n\r\n \r\n \r\n \r\n \r\n Item\r\n \r\n \r\n \r\n mdi-chevron-down\r\n \r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n\r\n \r\n \r\n \r\n Item\r\n \r\n \r\n \r\n mdi-check\r\n \r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n\r\n \r\n \r\n \r\n Item\r\n \r\n \r\n \r\n mdi-alert-circle\r\n \r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n \r\n
", - "Type": "Demos.Components.ExpansionPanels.misc.CustomIcon", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", - "Cols": 1, - "Related": [ - "/components/cards", - "/components/data-tables", - "/components/lists" - ], - "Subtitle": "扩展面板", - "Title": "Expansion panels", - "Type": "扩展面板" - }, - { - "Desc": "

MFooter组件用于显示用户可能想要从网站中的任何页面都能访问到的公共信息。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.4882464+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

最简单形式的 MFooter 组件是一个容器。

\n", - "Code": "\r\n \r\n \r\n \r\n @foreach (var icon in _icons)\r\n {\r\n \r\n \r\n @icon\r\n \r\n \r\n }\r\n \r\n\r\n \r\n\r\n \r\n @DateTime.Now.Year - MASA Blazor\r\n \r\n \r\n \r\n\r\n \r\n \r\n x\" ItemValue=\"x => x\">\r\n\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[] _icons = new string[4] { \"mdi-home\", \"mdi-email\", \"mdi-calendar\", \"mdi-delete\" };\r\n private List _items = new List { \"Default\", \"Absolute\", \"Fixed\" };\r\n private bool _padless = false;\r\n private string _variant = \"Default\";\r\n\r\n private Dictionary LocalAttrs\r\n {\r\n get\r\n {\r\n var dic = new Dictionary();\r\n if (_variant == \"Default\")\r\n {\r\n dic.Add(\"Absolute\", false);\r\n dic.Add(\"Fixed\", false);\r\n }\r\n else if (_variant == \"Absolute\")\r\n {\r\n dic.Add(\"Default\", false);\r\n dic.Add(\"Fixed\", false);\r\n }\r\n else\r\n {\r\n dic.Add(\"Default\", false);\r\n dic.Add(\"Absolute\", false);\r\n }\r\n \r\n dic.Add(_variant, true);\r\n\r\n return dic;\r\n }\r\n }\r\n}", - "Type": "Demos.Components.Footer.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "padless", - "Title": "无内边距的页脚", - "Description": "

Padless属性移除页脚组件所有默认的内边距。

\n", - "Code": "\r\n \r\n @DateTime.Now.Year - MASA Blazor\r\n \r\n", - "Type": "Demos.Components.Footer.props.Padless", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "company", - "Title": "公司页脚", - "Description": "

页脚组件可以作为带有链接的基本公司页脚。

\n", - "Code": "\r\n \r\n @foreach (var link in _links)\r\n {\r\n \r\n @link\r\n \r\n }\r\n \r\n @DateTime.Now.Year - MASA Blazor\r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[] _links = new string[6] { \"Home\", \"About Us\", \"Team\", \"Services\", \"Blog\", \"Contact Us\" };\r\n}", - "Type": "Demos.Components.Footer.misc.Company", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 2, - "Name": "indigo", - "Title": "靛蓝色页脚", - "Description": "

靛蓝背景色、带有社交媒体图标和按钮的页脚组件。

\n", - "Code": "\r\n \r\n \r\n @foreach (var icon in _icons)\r\n {\r\n \r\n @icon\r\n \r\n }\r\n \r\n\r\n \r\n @_description\r\n \r\n \r\n \r\n\r\n \r\n @DateTime.Now.Year - MASA Blazor\r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[] _icons = new string[4] { \"mdi-facebook\", \"mdi-twitter\", \"mdi-linkedin\", \"mdi-instagram\" };\r\n private const string _description = \"Phasellus feugiat arcu sapien, et iaculis ipsum elementum sit amet. \" +\r\n \"Mauris cursus commodo interdum. Praesent ut risus eget metus luctus accumsan id ultrices nunc. \" + \r\n \"Sed at orci sed massa consectetur dignissim a sit amet dui. Duis commodo vitae velit et faucibus. \" +\r\n \"Morbi vehicula lacinia malesuada. Nulla placerat augue vel ipsum ultrices, cursus iaculis dui sollicitudin. \" +\r\n \"Vestibulum eu ipsum vel diam elementum tempor vel ut orci. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.\";\r\n}", - "Type": "Demos.Components.Footer.misc.Indigo", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 2, - "Name": "teal", - "Title": "蓝绿色页脚", - "Description": "

蓝绿背景色的头部、带有多列链接的页脚组件。

\n", - "Code": "\r\n \r\n \r\n Get connected with us on social networks!\r\n\r\n \r\n\r\n @foreach (var icon in _icons)\r\n {\r\n \r\n @icon\r\n \r\n }\r\n \r\n\r\n \r\n @DateTime.Now.Year - MASA Blazor\r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[] _icons = new string[4] { \"mdi-facebook\", \"mdi-twitter\", \"mdi-linkedin\", \"mdi-instagram\" };\r\n}", - "Type": "Demos.Components.Footer.misc.Teal", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/grid-system", - "/components/buttons", - "/components/toolbars" - ], - "Subtitle": "页脚", - "Title": "Footers", - "Type": "页脚" - }, - { - "Desc": "

MAutocomplete 组件提供简单且灵活的自动补全功能 且支持查找大规模数据甚至是从API请求的动态数据

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n", - "注意": "\n \n

当使用一个Object(对象) 作为Items的属性时,你必须使用ItemTextItemValue与传入的对象关联起来。 这些值默认为 TextValue 且可以更改。

\n \n \n

MenuPropsAuto 属性只支持默认输入样式。

\n \n \n

浏览器自动补全默认设置为关闭,可能因不同的浏览器而变化或忽略。 MDN

\n \n" - }, - "LastWriteTime": "2021-12-02T18:38:45.4921918+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

自动补全组件拓展了v-select并且添加了过滤项目的功能

\n", - "Code": "r\"\r\n ItemValue=\"r=>r\">\r\n\r\n@code {\r\n private List _items = new List()\r\n {\r\n \"Alabama\", \"Alaska\", \"American Samoa\", \"Arizona\",\r\n \"Arkansas\", \"California\", \"Colorado\", \"Connecticut\",\r\n \"Delaware\", \"District of Columbia\", \"Federated States of Micronesia\",\r\n \"Florida\", \"Georgia\", \"Guam\", \"Hawaii\", \"Idaho\",\r\n \"Illinois\", \"Indiana\", \"Iowa\", \"Kansas\", \"Kentucky\",\r\n \"Louisiana\", \"Maine\", \"Marshall Islands\", \"Maryland\",\r\n \"Massachusetts\", \"Michigan\", \"Minnesota\", \"Mississippi\",\r\n \"Missouri\", \"Montana\", \"Nebraska\", \"Nevada\",\r\n \"New Hampshire\", \"New Jersey\", \"New Mexico\", \"New York\",\r\n \"North Carolina\", \"North Dakota\", \"Northern Mariana Islands\", \"Ohio\",\r\n \"Oklahoma\", \"Oregon\", \"Palau\", \"Pennsylvania\", \"Puerto Rico\",\r\n \"Rhode Island\", \"South Carolina\", \"South Dakota\", \"Tennessee\",\r\n \"Texas\", \"Utah\", \"Vermont\", \"Virgin Island\", \"Virginia\",\r\n \"Washington\", \"West Virginia\", \"Wisconsin\", \"Wyoming\"\r\n };\r\n private string _value;\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Autocomplete.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "dense", - "Title": "紧凑", - "Description": "

你可以使用dense属性来降低自动补全的高度和缩小列表项的最大高度。

\n", - "Code": "\r\n \r\n \r\n \r\n r\"\r\n ItemValue=\"r=>r\"\r\n Outlined\r\n Dense\r\n Chips\r\n SmallChips\r\n Label=\"Outlined\"\r\n Multiple>\r\n \r\n \r\n r\"\r\n ItemValue=\"r=>r\"\r\n Dense\r\n Chips\r\n Label=\"Solo\"\r\n Multiple\r\n Solo>\r\n \r\n \r\n r\"\r\n ItemValue=\"r=>r\"\r\n Dense\r\n Filled\r\n Label=\"Filled\">\r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private List _items = new List\r\n {\r\n \"foo\", \"bar\", \"fizz\", \"buzz\"\r\n };\r\n private List _values = new List\r\n {\r\n \"foo\", \"bar\"\r\n };\r\n private string _value = \"foo\";\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Autocomplete.props.Dense", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "filter", - "Title": "过滤器", - "Description": "

filter属性可以用自定义的逻辑来过滤单独的项目 在这个例子中我们使用name来过滤项目

\n", - "Code": "\r\n \r\n mdi-account\r\n \r\n User Profile\r\n \r\n \r\n _isEditing = !_isEditing\">\r\n @if (_isEditing)\r\n {\r\n \r\n mdi-close\r\n \r\n }\r\n else\r\n {\r\n \r\n mdi-pencil\r\n \r\n }\r\n \r\n \r\n \r\n \r\n r.Name\"\r\n ItemValue=\"r=>r.Id\"\r\n Label=\"State\">\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n Your profile has been updated\r\n \r\n\r\n\r\n@code {\r\n public class Model\r\n {\r\n public int Id { get; set; }\r\n public string Name { get; set; }\r\n public string Abbr { get; set; }\r\n }\r\n\r\n private bool _hasSaved;\r\n private bool _isEditing;\r\n private string _model;\r\n private List _states = new List\r\n {\r\n new Model\r\n {\r\n Name=\"Florida\",\r\n Abbr=\"FL\",\r\n Id=1\r\n },\r\n new Model\r\n {\r\n Name=\"Georgia\",\r\n Abbr=\"GA\",\r\n Id=2\r\n },\r\n new Model\r\n {\r\n Name=\"Nebraska\",\r\n Abbr=\"NE\",\r\n Id=3\r\n },\r\n new Model\r\n {\r\n Name=\"California\",\r\n Abbr=\"CA\",\r\n Id=4\r\n },\r\n new Model\r\n {\r\n Name=\"New York\",\r\n Abbr=\"NY\",\r\n Id=5\r\n }\r\n };\r\n\r\n public bool CustomFilter(Model item, string queryText)\r\n {\r\n var textOne = item.Name.ToLowerInvariant();\r\n var textTwo = item.Abbr.ToLowerInvariant();\r\n var searchText = queryText.ToLowerInvariant();\r\n\r\n return textOne.IndexOf(searchText) > -1 ||\r\n textTwo.IndexOf(searchText) > -1;\r\n }\r\n\r\n public void Save()\r\n {\r\n _isEditing = !_isEditing;\r\n _hasSaved = true;\r\n }\r\n}", - "Type": "Demos.Components.FormInputs.children.Autocomplete.props.Filter", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "itemAndSelection", - "Title": "项目和选择项", - "Description": "

你可以使用插槽自定义被选中时的视觉效果。 在这个示例中,我们为 chipslist-item 添加了头像。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n IsUpdating = true\">\r\n \r\n mdi-cog\r\n \r\n \r\n Update\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n @_name\r\n

\r\n @_title\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n r.Name\"\r\n ItemValue=\"r=>r.Name\"\r\n Multiple>\r\n \r\n Remove(data.Item)\">\r\n \r\n \r\n \r\n @data.Item.Name\r\n \r\n \r\n \r\n @if (data.Item.Header != null)\r\n {\r\n @data.Item.Header\r\n }\r\n else if (data.Item.Divider)\r\n {\r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n \r\n \r\n \r\n @((MarkupString)data.Item.Name)\r\n \r\n \r\n @((MarkupString)data.Item.Group)\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n IsUpdating = true\">\r\n \r\n mdi-update\r\n \r\n Update Now\r\n \r\n \r\n
\r\n
\r\n\r\n@code {\r\n private bool _autoUpdate = true;\r\n private List _friends = new()\r\n {\r\n \"Sandra Adams\",\r\n \"Britta Holt\"\r\n };\r\n private bool _isUpdating;\r\n private string _name = \"Midnight Crew\";\r\n\r\n public class Person\r\n {\r\n public string Header { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public string Group { get; set; }\r\n\r\n public string Avatar { get; set; }\r\n\r\n public bool Divider { get; set; }\r\n }\r\n\r\n private List _people = new List\r\n {\r\n new Person\r\n {\r\n Header=\"Group 1\",\r\n Name=\"Group 1\"\r\n },\r\n new Person\r\n {\r\n Name=\"Sandra Adams\",\r\n Group=\"Group 1\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/1.jpg\"\r\n },\r\n new Person\r\n {\r\n Name=\"Ali Connors\",\r\n Group=\"Group 1\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/2.jpg\"\r\n },\r\n new Person\r\n {\r\n Name=\"Trevor Hansen\",\r\n Group=\"Group 1\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/3.jpg\"\r\n },\r\n new Person\r\n {\r\n Name=\"Tucker Smith\",\r\n Group=\"Group 1\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/2.jpg\"\r\n },\r\n new Person\r\n {\r\n Divider=true,\r\n Name=\"Group 1\"\r\n },\r\n new Person\r\n {\r\n Header=\"Group 2\",\r\n Name=\"Group 1\"\r\n },\r\n new Person\r\n {\r\n Name=\"Britta Holt\",\r\n Group=\"Group 2\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/4.jpg\"\r\n },\r\n new Person\r\n {\r\n Name=\"Jane Smith \",\r\n Group=\"Group 2\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/5.jpg\"\r\n },\r\n new Person\r\n {\r\n Name=\"John Smith\",\r\n Group=\"Group 2\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/1.jpg\"\r\n },\r\n new Person\r\n {\r\n Name=\"Sandra Williams\",\r\n Group=\"Group 2\",\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/3.jpg\"\r\n }\r\n };\r\n private string _title = \"The summer breeze\";\r\n\r\n protected bool IsUpdating\r\n {\r\n get\r\n {\r\n return _isUpdating;\r\n }\r\n set\r\n {\r\n _isUpdating = value;\r\n _ = Task.Run(async () =>\r\n {\r\n await Task.Delay(3000);\r\n _isUpdating = false;\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n }\r\n\r\n public void Remove(Person item)\r\n {\r\n var index = _friends.IndexOf(item.Name);\r\n if (index >= 0)\r\n {\r\n _friends.RemoveAt(index);\r\n }\r\n }\r\n }\r\n", - "Type": "Demos.Components.FormInputs.children.Autocomplete.contents.ItemAndSelection", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 0, - "Name": "apiSearch", - "Title": "API查找", - "Description": "

轻松绑定动态数据并创建独特的体验。 MAutocomplete 的扩展支持列表使得很容易调节每个方面的输入。

\n", - "Code": "\r\n \r\n Search for Public APIs\r\n \r\n \r\n Explore hundreds of free API's ready for consumption! For more information visit\r\n the GitHub repository.\r\n \r\n \r\n r.Description\"\r\n ItemValue=\"r=>r.API\"\r\n Label=\"Public APIs\"\r\n Placeholder=\"Start typing to Search\"\r\n PrependIcon=\"mdi-database-search\">\r\n \r\n \r\n \r\n \r\n @for (var i = 0; i < Fields.Count; i++)\r\n {\r\n var field = Fields.ElementAt(i);\r\n \r\n \r\n \r\n @field.Value\r\n \r\n \r\n @field.Key\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n Clear\r\n \r\n mdi-close-circle\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Item\r\n {\r\n public string API { get; set; }\r\n\r\n public string Description { get; set; }\r\n\r\n public string Auth { get; set; }\r\n\r\n public string HTPPS { get; set; }\r\n\r\n public string Cors { get; set; }\r\n\r\n public string Link { get; set; }\r\n\r\n public string Category { get; set; }\r\n }\r\n\r\n public class Result\r\n {\r\n public int Count { get; set; }\r\n\r\n public List Entries { get; set; }\r\n }\r\n\r\n private int _descriptionLimit = 60;\r\n private List _entries = new List();\r\n private bool _isLoading;\r\n private Item _model;\r\n private string _value;\r\n private bool _show;\r\n\r\n [Inject]\r\n public HttpClient HttpClient { get; set; }\r\n\r\n protected List Items\r\n {\r\n get\r\n {\r\n return _entries.Select(entry =>\r\n {\r\n var item = new Item();\r\n\r\n item.API = entry.API;\r\n item.Auth = entry.Auth;\r\n item.Category = entry.Category;\r\n item.Cors = entry.Cors;\r\n item.Description = entry.Description.Length > _descriptionLimit ? entry.Description.Substring(0, _descriptionLimit) + \"...\" : entry.Description;\r\n item.HTPPS = entry.HTPPS;\r\n item.Link = entry.Link;\r\n\r\n return item;\r\n }).ToList();\r\n }\r\n }\r\n\r\n protected Dictionary Fields\r\n {\r\n get\r\n {\r\n if (_model == null)\r\n {\r\n return new Dictionary();\r\n }\r\n\r\n return new Dictionary\r\n {\r\n {\"API\",_model.API},\r\n {\"Auth\",_model.Auth},\r\n {\"Category\",_model.Category},\r\n {\"Cors\",_model.Cors},\r\n {\"Description\",_model.Description},\r\n {\"HTPPS\",_model.HTPPS},\r\n {\"Link\",_model.Link}\r\n };\r\n }\r\n }\r\n\r\n public async Task UpdateSearchInputAsync(string val)\r\n {\r\n if (Items.Count > 0)\r\n {\r\n return;\r\n }\r\n\r\n if (_isLoading)\r\n {\r\n return;\r\n }\r\n\r\n _isLoading = true;\r\n\r\n var res = await HttpClient.GetFromJsonAsync(\"https://api.publicapis.org/entries\");\r\n _entries = res.Entries.Take(20).ToList();//We can't process too many items now\r\n\r\n _isLoading = false;\r\n }\r\n\r\n public async Task UpdateItemAsync(Item item)\r\n {\r\n _model = item;\r\n await Task.Delay(100);//We will fix this when transition update to javascript\r\n _show = true;\r\n }\r\n\r\n public void Clear()\r\n {\r\n _model = null;\r\n _value = null;\r\n _show = false;\r\n }\r\n }\r\n", - "Type": "Demos.Components.FormInputs.children.Autocomplete.misc.ApiSearch", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "asynchronousItems", - "Title": "异步项目", - "Description": "

有时您需要基于搜索查询加载外部的数据。 在赋值autocomplete的属性时使用search-input属性与**.sync修饰符 我们还使用新的 cache-items 属性。 这将保持一个唯一的列表,它的所有项目都被传递到items属性。当使用异步项目和 多个 属性时是必须的** 。

\n", - "Code": "\r\n State selection\r\n r\"\r\n ItemText=\"r=>r\"\r\n HideDetails=\"true\"\r\n Label=\"What state are you from?\"\r\n SoloInverted>\r\n \r\n mdi-dots-vertical\r\n \r\n\r\n\r\n@code {\r\n private bool _loading;\r\n private List _items=new List();\r\n private List _states = new List()\r\n {\r\n \"Alabama\", \"Alaska\", \"American Samoa\", \"Arizona\",\r\n \"Arkansas\", \"California\", \"Colorado\", \"Connecticut\",\r\n \"Delaware\", \"District of Columbia\", \"Federated States of Micronesia\",\r\n \"Florida\", \"Georgia\", \"Guam\", \"Hawaii\", \"Idaho\",\r\n \"Illinois\", \"Indiana\", \"Iowa\", \"Kansas\", \"Kentucky\",\r\n \"Louisiana\", \"Maine\", \"Marshall Islands\", \"Maryland\",\r\n \"Massachusetts\", \"Michigan\", \"Minnesota\", \"Mississippi\",\r\n \"Missouri\", \"Montana\", \"Nebraska\", \"Nevada\",\r\n \"New Hampshire\", \"New Jersey\", \"New Mexico\", \"New York\",\r\n \"North Carolina\", \"North Dakota\", \"Northern Mariana Islands\", \"Ohio\",\r\n \"Oklahoma\", \"Oregon\", \"Palau\", \"Pennsylvania\", \"Puerto Rico\",\r\n \"Rhode Island\", \"South Carolina\", \"South Dakota\", \"Tennessee\",\r\n \"Texas\", \"Utah\", \"Vermont\", \"Virgin Island\", \"Virginia\",\r\n \"Washington\", \"West Virginia\", \"Wisconsin\", \"Wyoming\"\r\n };\r\n private string _select;\r\n\r\n private async Task QuerySelections(string v)\r\n {\r\n if (string.IsNullOrEmpty(v) || v == _select)\r\n {\r\n return;\r\n }\r\n\r\n _loading = true;\r\n await Task.Delay(500);\r\n _items = _states.Where(e => e.ToLowerInvariant().IndexOf(v.ToLowerInvariant()) > -1).ToList();\r\n _loading = false;\r\n }\r\n}", - "Type": "Demos.Components.FormInputs.children.Autocomplete.misc.AsynchronousItems", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "cryptocurrencySelector", - "Title": "加密货币选择器", - "Description": "

MAutocomplete 组件非常灵活,可以适合任何使用情况。 为no-data, item和selection插槽创建自定义的显示样式以提供独特的用户体验. 使用 插槽 使您能够轻松自定义您的应用程序所需的外观。

\n", - "Code": "\r\n \r\n \r\n \r\n Cryptocurrency\r\n \r\n r.Name\"\r\n ItemValue=\"r=>r.Symbol\"\r\n Label=\"Search for a coin...\"\r\n Solo>\r\n \r\n \r\n \r\n Search for your favorite\r\n Cryptocurrency\r\n \r\n \r\n \r\n \r\n \r\n \r\n mdi-bitcoin\r\n \r\n \r\n @data.Item.Name\r\n \r\n \r\n \r\n \r\n \r\n @data.Item.Name[0]\r\n \r\n \r\n \r\n @data.Item.Name\r\n \r\n \r\n @data.Item.Symbol\r\n \r\n \r\n \r\n mdi-bitcoin\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n News\r\n \r\n \r\n Trading\r\n \r\n \r\n Blog\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n class Currency\r\n {\r\n public string Id { get; set; }\r\n\r\n public string Symbol { get; set; }\r\n\r\n public string Name { get; set; }\r\n }\r\n\r\n private bool _isLoading;\r\n private List _items = new List();\r\n private string _model;\r\n private StringNumber _tab;\r\n\r\n protected string Model\r\n {\r\n get\r\n {\r\n return _model;\r\n }\r\n set\r\n {\r\n _model = value;\r\n\r\n if (value != null)\r\n {\r\n _tab = 0;\r\n }\r\n else\r\n {\r\n _tab = null;\r\n }\r\n }\r\n }\r\n\r\n [Inject]\r\n public HttpClient HttpClient { get; set; }\r\n\r\n public async Task Search(string val)\r\n {\r\n if (_items.Count > 0)\r\n {\r\n return;\r\n }\r\n\r\n _isLoading = true;\r\n var items = await HttpClient.GetFromJsonAsync>(\"https://api.coingecko.com/api/v3/coins/list\");\r\n _items = items.Take(20).ToList();//TODO:Wait for MSelect update\r\n _isLoading = false;\r\n }\r\n}", - "Type": "Demos.Components.FormInputs.children.Autocomplete.misc.CryptocurrencySelector", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "stateSelector", - "Title": "状态选择器", - "Description": "

结合使用 MAutocomplete 插槽和过渡,您可以创建一个现代的的可切换的自动补全栏,例如这个状态选择器。

\n", - "Code": "\r\n \r\n Profile\r\n \r\n \r\n \r\n Where do you live?\r\n \r\n r\"\r\n ItemText=\"r=>r\"\r\n PrependIcon=\"mdi-city\">\r\n \r\n \r\n _isEditing = !_isEditing\">\r\n @(_isEditing ? \"mdi-check-outline\" : \"mdi-circle-edit-outline\")\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private bool _isEditing;\r\n private string _model;\r\n private List _states = new List()\r\n {\r\n \"Alabama\", \"Alaska\", \"American Samoa\", \"Arizona\",\r\n \"Arkansas\", \"California\", \"Colorado\", \"Connecticut\",\r\n \"Delaware\", \"District of Columbia\", \"Federated States of Micronesia\",\r\n \"Florida\", \"Georgia\", \"Guam\", \"Hawaii\", \"Idaho\",\r\n \"Illinois\", \"Indiana\", \"Iowa\", \"Kansas\", \"Kentucky\",\r\n \"Louisiana\", \"Maine\", \"Marshall Islands\", \"Maryland\",\r\n \"Massachusetts\", \"Michigan\", \"Minnesota\", \"Mississippi\",\r\n \"Missouri\", \"Montana\", \"Nebraska\", \"Nevada\",\r\n \"New Hampshire\", \"New Jersey\", \"New Mexico\", \"New York\",\r\n \"North Carolina\", \"North Dakota\", \"Northern Mariana Islands\", \"Ohio\",\r\n \"Oklahoma\", \"Oregon\", \"Palau\", \"Pennsylvania\", \"Puerto Rico\",\r\n \"Rhode Island\", \"South Carolina\", \"South Dakota\", \"Tennessee\",\r\n \"Texas\", \"Utah\", \"Vermont\", \"Virgin Island\", \"Virginia\",\r\n \"Washington\", \"West Virginia\", \"Wisconsin\", \"Wyoming\"\r\n };\r\n}", - "Type": "Demos.Components.FormInputs.children.Autocomplete.misc.StateSelector", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Autocomplete.svg", - "Cols": 1, - "Related": [ - "/components/combobox", - "/components/forms", - "/components/selects" - ], - "Subtitle": "自动补全", - "Title": "Autocompletes", - "Type": "自动补全" - }, - { - "Desc": "

级联选择器

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-26T16:40:15.5747737+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

级联选择器用于选择省市区

\n", - "Code": " u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n ItemChildren=\"u => u.Children\">\r\n\r\n\r\n@code {\r\n public class CascaderNode\r\n {\r\n public string Value { get; set; }\r\n public string Label { get; set; }\r\n public List Children { get; set; }\r\n }\r\n private string _value;\r\n private List _items = new List() {\r\n new CascaderNode()\r\n {\r\n Value = \"1\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"11\", Label=\"�人\", Children = new List(){\r\n new CascaderNode{ Value = \"111\", Label=\"�����\", Children = new List(){\r\n new CascaderNode{ Value = \"1111\", Label=\"�ƺ�¥�ֵ�\"},\r\n new CascaderNode{ Value = \"1112\", Label=\"��ɳ�޽ֵ�\"}\r\n } },\r\n new CascaderNode{ Value = \"112\", Label=\"��ɽ��\"}\r\n } },\r\n new CascaderNode{ Value = \"12\", Label=\"��ʯ\"},\r\n new CascaderNode{ Value = \"13\", Label=\"�˲�\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"2\",\r\n Label = \"�㽭\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"21\", Label=\"����\"},\r\n new CascaderNode{ Value = \"22\", Label=\"����\"},\r\n new CascaderNode{ Value = \"23\", Label=\"����\"},\r\n new CascaderNode{ Value = \"24\", Label=\"����\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"3\",\r\n Label = \"�Ϻ�\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"31\", Label=\"�����\"},\r\n new CascaderNode{ Value = \"32\", Label=\"������\"},\r\n new CascaderNode{ Value = \"33\", Label=\"�ֶ�����\"},\r\n new CascaderNode{ Value = \"34\", Label=\"������\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"4\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"41\", Label=\"����\"},\r\n new CascaderNode{ Value = \"42\", Label=\"����\"},\r\n new CascaderNode{ Value = \"43\", Label=\"����\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"5\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"51\", Label=\"�Ͼ�\", Children = new List(){\r\n new CascaderNode{ Value = \"511\", Label=\"��¥��\"},\r\n new CascaderNode{ Value = \"512\", Label=\"������\"}\r\n } },\r\n new CascaderNode{ Value = \"52\", Label=\"����\"},\r\n new CascaderNode{ Value = \"53\", Label=\"����\"},\r\n new CascaderNode{ Value = \"54\", Label=\"����\"}\r\n }\r\n }};\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Cascader.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "dense", - "Title": "密集", - "Description": "

Dense 属性用于减少高度

\n", - "Code": "\r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n ItemChildren=\"u => u.Children\">\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class CascaderNode\r\n {\r\n public string Value { get; set; }\r\n public string Label { get; set; }\r\n public List Children { get; set; }\r\n }\r\n private string _value;\r\n private List _items = new List() {\r\n new CascaderNode()\r\n {\r\n Value = \"1\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"11\", Label=\"�人\", Children = new List(){\r\n new CascaderNode{ Value = \"111\", Label=\"�����\", Children = new List(){\r\n new CascaderNode{ Value = \"1111\", Label=\"�ƺ�¥�ֵ�\"},\r\n new CascaderNode{ Value = \"1112\", Label=\"��ɳ�޽ֵ�\"}\r\n } },\r\n new CascaderNode{ Value = \"112\", Label=\"��ɽ��\"}\r\n } },\r\n new CascaderNode{ Value = \"12\", Label=\"��ʯ\"},\r\n new CascaderNode{ Value = \"13\", Label=\"�˲�\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"2\",\r\n Label = \"�㽭\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"21\", Label=\"����\"},\r\n new CascaderNode{ Value = \"22\", Label=\"����\"},\r\n new CascaderNode{ Value = \"23\", Label=\"����\"},\r\n new CascaderNode{ Value = \"24\", Label=\"����\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"3\",\r\n Label = \"�Ϻ�\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"31\", Label=\"�����\"},\r\n new CascaderNode{ Value = \"32\", Label=\"������\"},\r\n new CascaderNode{ Value = \"33\", Label=\"�ֶ�����\"},\r\n new CascaderNode{ Value = \"34\", Label=\"������\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"4\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"41\", Label=\"����\"},\r\n new CascaderNode{ Value = \"42\", Label=\"����\"},\r\n new CascaderNode{ Value = \"43\", Label=\"����\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"5\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"51\", Label=\"�Ͼ�\", Children = new List(){\r\n new CascaderNode{ Value = \"511\", Label=\"��¥��\"},\r\n new CascaderNode{ Value = \"512\", Label=\"������\"}\r\n } },\r\n new CascaderNode{ Value = \"52\", Label=\"����\"},\r\n new CascaderNode{ Value = \"53\", Label=\"����\"},\r\n new CascaderNode{ Value = \"54\", Label=\"����\"}\r\n }\r\n }};\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Cascader.props.Dense", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "loadChildren", - "Title": "加载子项", - "Description": "

LoadChildren 用于动态加载子项

\n", - "Code": " u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n ItemChildren=\"u => u.Children\"\r\n LoadChildren=\"FetchChildrenAsync\">\r\n\r\n\r\n@code {\r\n public class BCascaderNode\r\n {\r\n public int Value { get; set; }\r\n public string Label { get; set; }\r\n public List Children { get; set; } = new();\r\n }\r\n\r\n public class Item\r\n {\r\n public int Id { get; set; }\r\n public string Description { get; set; }\r\n public int ParentId { get; set; }\r\n public int Level { get; set; }\r\n }\r\n\r\n private List _allItems = new()\r\n {\r\n new Item\r\n {\r\n Id = 3,\r\n Description = \"武汉\",\r\n ParentId = 1,\r\n Level = 2\r\n },\r\n new Item\r\n {\r\n Id = 4,\r\n Description = \"武昌区\",\r\n ParentId = 3,\r\n Level = 3\r\n },\r\n new Item\r\n {\r\n Id = 5,\r\n Description = \"黄石\",\r\n ParentId = 1,\r\n Level = 1\r\n }\r\n };\r\n\r\n private List _items = new List\r\n {\r\n new BCascaderNode\r\n {\r\n Value=1,\r\n Label=\"湖北\"\r\n },\r\n new BCascaderNode\r\n {\r\n Value=2,\r\n Label=\"浙江\"\r\n }\r\n };\r\n\r\n private int _vaule = 4;\r\n\r\n public async Task FetchChildrenAsync(BCascaderNode node)\r\n {\r\n await Task.Delay(1000);\r\n var children = _allItems.Where(item => item.ParentId == node.Value)\r\n .Select(item => new BCascaderNode\r\n {\r\n Value = item.Id,\r\n Label = item.Description,\r\n Children = item.Level < 3 ? new() : null//We only load children which count equal 0\r\n });\r\n node.Children = children.Any() ? children.ToList() : null;//Set to null so we will not load any more\r\n }\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Cascader.props.LoadChildren", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "showAllLevels", - "Title": "展示完整路径", - "Description": "

ShowAllLevels 用于控制展示所有层级,默认为 true

\n", - "Code": "\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n ItemChildren=\"u => u.Children\">\r\n \r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n ItemChildren=\"u => u.Children\"\r\n ShowAllLevels=\"false\">\r\n \r\n \r\n\r\n\r\n@code {\r\n public class CascaderNode\r\n {\r\n public string Value { get; set; }\r\n public string Label { get; set; }\r\n public List Children { get; set; }\r\n }\r\n private string _value;\r\n\r\n private List _items = new List() {\r\n new CascaderNode()\r\n {\r\n Value = \"1\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"11\", Label=\"�人\", Children = new List(){\r\n new CascaderNode{ Value = \"111\", Label=\"�����\", Children = new List(){\r\n new CascaderNode{ Value = \"1111\", Label=\"�ƺ�¥�ֵ�\"},\r\n new CascaderNode{ Value = \"1112\", Label=\"��ɳ�޽ֵ�\"}\r\n } },\r\n new CascaderNode{ Value = \"112\", Label=\"��ɽ��\"}\r\n } },\r\n new CascaderNode{ Value = \"12\", Label=\"��ʯ\"},\r\n new CascaderNode{ Value = \"13\", Label=\"�˲�\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"2\",\r\n Label = \"�㽭\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"21\", Label=\"����\"},\r\n new CascaderNode{ Value = \"22\", Label=\"����\"},\r\n new CascaderNode{ Value = \"23\", Label=\"����\"},\r\n new CascaderNode{ Value = \"24\", Label=\"����\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"3\",\r\n Label = \"�Ϻ�\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"31\", Label=\"�����\"},\r\n new CascaderNode{ Value = \"32\", Label=\"������\"},\r\n new CascaderNode{ Value = \"33\", Label=\"�ֶ�����\"},\r\n new CascaderNode{ Value = \"34\", Label=\"������\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"4\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"41\", Label=\"����\"},\r\n new CascaderNode{ Value = \"42\", Label=\"����\"},\r\n new CascaderNode{ Value = \"43\", Label=\"����\"}\r\n }\r\n }, new CascaderNode()\r\n {\r\n Value = \"5\",\r\n Label = \"����\",\r\n Children = new List() {\r\n new CascaderNode{ Value = \"51\", Label=\"�Ͼ�\", Children = new List(){\r\n new CascaderNode{ Value = \"511\", Label=\"��¥��\"},\r\n new CascaderNode{ Value = \"512\", Label=\"������\"}\r\n } },\r\n new CascaderNode{ Value = \"52\", Label=\"����\"},\r\n new CascaderNode{ Value = \"53\", Label=\"����\"},\r\n new CascaderNode{ Value = \"54\", Label=\"����\"}\r\n }\r\n }};\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Cascader.props.ShowAllLevels", - "Style": "", - "Debug": false, - "Group": 0 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/treeview", - "/components/forms", - "/components/selects" - ], - "Subtitle": "级联菜单", - "Title": "Cascaders", - "Type": "级联菜单" - }, - { - "Desc": "

MCheckbox组件使用户能够在两个不同的值之间进行选择。它们非常类似于开关,可以用在复杂的表单和检查表中。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.4982453+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

最简单形式的Checkbox提供了两个值之间的切换。

\n", - "Code": "\r\n\r\n@code {\r\n bool checkbox = true;\r\n string label => $\"Checkbox 1: {checkbox.ToString()}\";\r\n}", - "Type": "Demos.Components.FormInputs.children.Checkbox.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "boolean", - "Title": "布尔值", - "Description": "

单个 MChecbox 将有一个布尔值作为其 value

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n bool checkbox1 = true;\r\n bool checkbox2 = false;\r\n\r\n}", - "Type": "Demos.Components.FormInputs.children.Checkbox.props.Boolean", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "color", - "Title": "颜色", - "Description": "

MCheckbox 可以通过使用颜色属性的任何内置颜色和上下文名称来着色。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private bool _value1 = true;\r\n private bool _value2 = true;\r\n private bool _value3 = true;\r\n private bool _value4 = true;\r\n private bool _value5 = true;\r\n private bool _value6 = true;\r\n private bool _value7 = true;\r\n private bool _value8 = true;\r\n private bool _value9 = true;\r\n private bool _value10 = true;\r\n private bool _value11 = true;\r\n private bool _value12 = true;\r\n }\r\n", - "Type": "Demos.Components.FormInputs.children.Checkbox.props.Color", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "state", - "Title": "状态", - "Description": "

MCheckbox 可以有不同的状态,例如 default,disabledindeterminate

\n", - "Code": "\r\n \r\n \r\n on\r\n \r\n \r\n off\r\n \r\n \r\n indeterminate\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n on disabled\r\n \r\n \r\n off disabled\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n bool checkbox1 = true;\r\n bool indeterminate = true;\r\n bool checkbox2 = true;\r\n bool checkbox3 = true;\r\n\r\n void Checkbox2Changed(bool v)\r\n {\r\n checkbox2 = v;\r\n indeterminate = false;\r\n }\r\n\r\n}", - "Type": "Demos.Components.FormInputs.children.Checkbox.props.State", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 5, - "Name": "labelContent", - "Title": "Label", - "Description": "

MCheckbox 文本可以在LabelContent中定义-这将允许使用HTML内容。

\n", - "Code": "\r\n \r\n \r\n
\r\n I agree that\r\n \r\n \r\n MASA.Blazor\r\n \r\n \r\n Opens in new window\r\n \r\n \r\n is awesome\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n bool checkbox = false;\r\n}", - "Type": "Demos.Components.FormInputs.children.Checkbox.contents.LabelContent", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 5, - "Name": "inlineTextField", - "Title": "内联输入文本", - "Description": "

您可以将 MCheckbox 与其他组件(如MTextField)对齐。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n bool includeFiles = true;\r\n bool enabled = false;\r\n\r\n}", - "Type": "Demos.Components.FormInputs.children.Checkbox.misc.InlineTextField", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/switches", - "/components/forms", - "/components/text-fields" - ], - "Subtitle": "复选框", - "Title": "Checkboxes", - "Type": "复选框" - }, - { - "Desc": "

v-file-input是一个定制的输入组件,它提供了一个干净的选择界面,显示详细的选择信息和上传进度。 它意在直接取代标准文件输入。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.5062458+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

MFileInput 组件的核心是一个基于 MTextField 拓展的基本容器。

\n", - "Code": "\r\n\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.FileInput.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "accept", - "Title": "接收格式", - "Description": "

MFileInput 组件可以选择接收你想要的媒体格式/文件类型 查看 accept attribute 文档来获取更多信息。

\n", - "Code": "\r\n\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.FileInput.props.Accept", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "chips", - "Title": "纸片", - "Description": "

上传的文件可以作为 chip(纸片) 显示。同时启用 Chips(纸片)Multiple(多选) 属性时,每个文件作为一个纸片显示(与选中文件数相反)。

\n", - "Code": "\r\n
\r\n \"\r\n Chips\r\n Multiple\r\n Label=\"File input w/ chips\">\r\n \"\r\n SmallChips\r\n Multiple\r\n Label=\"File input w/ small chips\">\r\n
\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.FileInput.props.Chips", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "counter", - "Title": "计数器", - "Description": "

ShowSize属性和Counter一同启用时,会下输入框下方显示文件总数和大小。

\n", - "Code": "\r\n
\r\n \"\r\n ShowSize\r\n Multiple\r\n Counter=true\r\n Label=\"File input\">\r\n
\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.FileInput.props.Counter", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "dense", - "Title": "密集", - "Description": "

您可以使用Dense属性降低文件输入高度。

\n", - "Code": "\r\n
\r\n \r\n
\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.FileInput.props.Dense", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "multiple", - "Title": "多选", - "Description": "

启用 Multiple(多选) 属性可以使MFileInput同时包含多个文件。

\n", - "Code": "\r\n
\r\n \"\r\n Multiple\r\n Label=\"File input\">\r\n
\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.FileInput.props.Multiple", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "prependIcon", - "Title": "前置图标", - "Description": "

MFileInput拥有一个默认PrependIcon可以设置在组件上或在全局调整。 More information on changing global components can be found on the customizing icons page.

\n", - "Code": "\r\n
\r\n \r\n
\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.FileInput.props.PrependIcon", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "showSize", - "Title": "显示大小", - "Description": "

ShowSize(显示大小) 属性可以配置显示所选文件的尺寸 显示文件大小可以选择_1024_进位(提供true时默认使用)或_1000_进位。

\n", - "Code": "\r\n
\r\n \r\n
\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.FileInput.props.ShowSize", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "validation", - "Title": "验证", - "Description": "

与其他输入类似,您可以使用rules 属性来创建您自己的自定义验证参数。

\n", - "Code": "\r\n\r\n\r\n@code {\r\n private List> _rules = new List>()\r\n {\r\n value=>(value==null||value.Size<2000000)?true:\"Avatar size should be less than 2 MB!\"\r\n };\r\n}", - "Type": "Demos.Components.FormInputs.children.FileInput.props.Validation", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "selection", - "Title": "选项", - "Description": "

使用 SelectionContent,您可以自定义输入选择的外观。 通常使用 chips完成,但您可以使用任何组件或标记。

\n", - "Code": "\r\n \r\n \r\n @_files[context.index].Name\r\n \r\n \r\n\r\n\r\n@code {\r\n private List _files = new();\r\n}", - "Type": "Demos.Components.FormInputs.children.FileInput.contents.Selection", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 1, - "Name": "complexSelectionContent", - "Title": "复杂选项插槽", - "Description": "

选项插槽的灵活性使其可以容纳复杂的用途。 在本示例中我们展示了如何只显示前两个文件并将剩余数量以计数器显示(当选中三个以上的文件时)。

\n", - "Code": "\r\n \r\n @if (context.index < 2)\r\n {\r\n \r\n @context.text\r\n \r\n }\r\n else if (context.index == 2)\r\n {\r\n \r\n +@(_files.Count - 2) File(s)\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n private List _files = new();\r\n}", - "Type": "Demos.Components.FormInputs.children.FileInput.misc.ComplexSelectionContent", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/FileInput.svg", - "Cols": 1, - "Related": [ - "/components/text-fields", - "/components/forms", - "/components/icons" - ], - "Subtitle": "文件上传", - "Title": "File inputs", - "Type": "文件上传" - }, - { - "Desc": "

表单验证,使用DataAnnotation。Value改变或者表单提交的时候触发验证,也可以手动触发。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-12-02T18:38:45.5140733+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "basic", - "Title": "使用", - "Description": "

内部 MForm 组件使得很容易添加验证到表单输入。 所有输入组件都有一个 规则 prop,它接受不同类型的组 函数, 布尔值 和 字符串。 这些允许您指定输入无效的 __ 或 __ 的条件。 每当输入值被更改时,数组中的每个函数将收到新的值,每个数组元素将被评分。 如果函数或数组元素返回 fals 或 字符串, 验证失败, 字符串 值将作为错误信息显示。

\n", - "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n@code {\r\n public class Form\r\n {\r\n [Required(ErrorMessage = \"Name is required\")]\r\n [MaxLength(10, ErrorMessage = \"Name must be less than 10 characters\")]\r\n public string Firstname { get; set; }\r\n\r\n [Required(ErrorMessage = \"Name is required\")]\r\n [MaxLength(10, ErrorMessage = \"Name must be less than 10 characters\")]\r\n public string Lastname { get; set; }\r\n\r\n [Required(ErrorMessage = \"E-mail is required\")]\r\n [EmailAddress(ErrorMessage = \"E-mail must be valid\")]\r\n public string Email { get; set; }\r\n }\r\n\r\n private Form _form = new();\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Form.usage.Basic", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "rules", - "Title": "规则", - "Description": "

规则允许您在所有表单组件上应用自定义验证。 这些都是按顺序验证的,每次会显示一个 个最大 个错误,所以请确保你相应地排序规则。

\n", - "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private MForm _form;\r\n private string _model;\r\n private string _match;\r\n private bool _allowSpaces;\r\n private double _max;\r\n\r\n protected string Match\r\n {\r\n get\r\n {\r\n return _match;\r\n }\r\n set\r\n {\r\n _match = value;\r\n _ = _form.ValidateAsync();\r\n }\r\n }\r\n\r\n protected double Max\r\n {\r\n get\r\n {\r\n return _max;\r\n }\r\n set\r\n {\r\n _max = value;\r\n _ = _form.ValidateAsync();\r\n }\r\n }\r\n\r\n protected string Model\r\n {\r\n get\r\n {\r\n return _model;\r\n }\r\n set\r\n {\r\n _model = value;\r\n _ = _form.ValidateAsync();\r\n }\r\n }\r\n\r\n protected List> ModelRules\r\n {\r\n get\r\n {\r\n var rules = new List>();\r\n\r\n if (Max > 0)\r\n {\r\n Func rule = v => v?.Length <= Max ? true : $\"A maximum of {Max} characters is allowed\";\r\n rules.Add(rule);\r\n }\r\n\r\n if (!_allowSpaces)\r\n {\r\n Func rule = v => v?.IndexOf(' ') < 0 ? true : \"No spaces are allowed\";\r\n rules.Add(rule);\r\n }\r\n\r\n if (!string.IsNullOrEmpty(Match))\r\n {\r\n Func rule = v => !string.IsNullOrEmpty(v) && v == Match ? true : \"Values do not match\";\r\n rules.Add(rule);\r\n }\r\n\r\n return rules;\r\n }\r\n }\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Form.props.Rules", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "validationEnumerable", - "Title": "验证集合", - "Description": "

验证集合属性,注意添加[EnumerableValidation]

\n", - "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n\r\n \r\n \r\n @foreach (var person in _order.Persons)\r\n {\r\n \r\n Person:@person.Id\r\n \r\n \r\n \r\n \r\n \r\n }\r\n SubmitOrder(context)\" Color=\"success\">Validate\r\n\r\n\r\n@code {\r\n public class Order\r\n {\r\n public int Id { get; set; }\r\n [Required]\r\n public string Title { get; set; }\r\n [Range(0, 20.00)]\r\n public decimal Price { get; set; }\r\n\r\n [EnumerableValidation]\r\n public List Persons { get; set; }\r\n }\r\n\r\n public class Person\r\n {\r\n public int Id { get; set; }\r\n\r\n [Required]\r\n public string Name { get; set; }\r\n\r\n [Range(25, 100)]\r\n public int Age { get; set; }\r\n }\r\n\r\n private Order _order = new()\r\n {\r\n Persons = new List\r\n {\r\n new Person\r\n {\r\n Id=1\r\n },\r\n new Person\r\n {\r\n Id=2\r\n }\r\n }\r\n };\r\n\r\n public void SubmitOrder(EditContext context)\r\n {\r\n var success = context.Validate();\r\n if (success)\r\n {\r\n //验证成功,操作业务\r\n }\r\n }\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Form.misc.ValidationEnumerable", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "validationWithSubmitAndClear", - "Title": "提交与验证 & 清除", - "Description": "

MForm 组件有三个功能,可以通过在组件上设置ref来访问。 ref允许我们访问组件的内部方法,例如 <MForm @ref="_form">。 _form.Validate() 将验证所有输入并返回它们是否都有效。 _form.Reset() 将清除所有输入并重置验证错误。 _form.ResetValidation() 将只重置输入验证,不改变他们的状态。

\n", - "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n\r\n \r\n \r\n u\"\r\n ItemValue=\"u => u\">\r\n \r\n Validate\r\n Reset Form\r\n Reset Validation\r\n\r\n\r\n@code {\r\n class Model\r\n {\r\n [Required]\r\n [MaxLength(10, ErrorMessage = \"Name must be less than 10 characters\")]\r\n public string Name { get; set; }\r\n [Required]\r\n [EmailAddress]\r\n public string Email { get; set; }\r\n [Required]\r\n public string Item { get; set; }\r\n [RegularExpression(\"True\", ErrorMessage = \"You must agree to continue!\")]\r\n public bool Agree { get; set; }\r\n }\r\n private bool _valid = true;\r\n private MForm _form;\r\n private Model _model = new();\r\n\r\n List _items = new()\r\n {\r\n \"Item 1\",\r\n \"Item 2\",\r\n \"Item 3\",\r\n \"Item 4\"\r\n };\r\n\r\n async Task ValidateAsync()\r\n {\r\n await _form.ValidateAsync();\r\n }\r\n\r\n async Task ResetAsync()\r\n {\r\n await _form.ResetAsync();\r\n }\r\n\r\n async Task ResetValidationAsync()\r\n {\r\n await _form.ResetValidationAsync();\r\n }\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Form.misc.ValidationWithSubmitAndClear", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Form.svg", - "Cols": 1, - "Related": [ - "/components/selects", - "/components/selection-controls", - "/components/text-fields" - ], - "Subtitle": "表单", - "Title": "Forms", - "Type": "表单" - }, - { - "Desc": "

MRadio 组件是一个简单的单选按钮。 与 MRadioGroup 组件结合时,您可以提供分组的功能,允许用户从一组预定义的选项中进行选择。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-12-07T16:28:44.1691529+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

虽然 MRadio 可以单独使用,但它最好与 MRadioGroup 一起使用。 在 MRadioGroup 上使用 @bind-Value,您可以访问组内所选单选按钮的值。

\n", - "Code": "\r\n \r\n @for (var i = 0; i < 3; i++)\r\n {\r\n var n = i + 1;\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n private int _radioGroup = 1;\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Radio.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "color", - "Title": "颜色", - "Description": "

单选按钮可以使用 Color 属性设置颜色,颜色可以是内置颜色和或其上下文名称。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n string ex7 = \"red\";\r\n string ex8 = \"primary\";\r\n}", - "Type": "Demos.Components.FormInputs.children.Radio.props.Color", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "direction", - "Title": "布局", - "Description": "

单选框组可以使用 column 或者 row 属性设置为一列或者一行的形式。 默认设置为列。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n string column;\r\n string row;\r\n}", - "Type": "Demos.Components.FormInputs.children.Radio.props.Direction", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "mandatory", - "Title": "必填项", - "Description": "

默认情况下,按钮组不是必填的。 可以使用 Mandatory 属性改变这种状态。

\n", - "Code": "\r\n

@radios

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string radios;\r\n\r\n}", - "Type": "Demos.Components.FormInputs.children.Radio.props.Mandatory", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "labelContent", - "Title": "标签", - "Description": "

单选组标签可以在 LabelContent 中定义,允许使用 HTML 内容。

\n", - "Code": "\r\n \r\n \r\n
Your favourite search engine
\r\n
\r\n \r\n \r\n \r\n
Of course it's Google
\r\n
\r\n
\r\n \r\n \r\n
Definitely Duckduckgo
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n\r\n string radios;\r\n\r\n}", - "Type": "Demos.Components.FormInputs.children.Radio.contents.LabelContent", - "Style": "", - "Debug": false, - "Group": 2 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Radio.svg", - "Cols": 1, - "Related": [ - "/components/button-groups", - "/components/forms", - "/components/checkboxes" - ], - "Subtitle": "单选按钮", - "Title": "Radio", - "Type": "单选按钮" - }, - { - "Desc": "

MRangeSlider 组件是一个更好的可视化数字输入工具。 它用于收集数字数据。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.5142452+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

滑块表示一根条上的一系列值,用户可以从中选择一个值。 滑块组件适用于调节音量、亮度,或者图像滤镜的强度。

\n", - "Code": "
\r\n \r\n
\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.RangeSlider.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "disabled", - "Title": "禁用", - "Description": "

您不能与 Disabled 滑块交互。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private IList _value = new List\r\n {\r\n 30,\r\n 60\r\n };\r\n}\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.RangeSlider.props.Disabled", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "minAndMax", - "Title": "最大值和最小值", - "Description": "

您可以通过 MinMax 设置滑块的最小值和最大值。

\n", - "Code": "\r\n Min and max range slider\r\n\r\n \r\n \r\n \r\n \r\n \r\n _range[0]=val\">\r\n \r\n \r\n _range[1]=val\">\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private IList _range = new List\r\n {\r\n 30,\r\n 60\r\n };\r\n private double _min = -50;\r\n private double _max = 90;\r\n}\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.RangeSlider.props.MinAndMax", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "step", - "Title": "步长", - "Description": "

MRangeSlider 可以有1以外的步长。 这对您需要更准确地调整值的应用程序可能有帮助。

\n", - "Code": "\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private IList _value = new List\r\n {\r\n 20,\r\n 40\r\n };\r\n }", - "Type": "Demos.Components.FormInputs.children.RangeSlider.props.Step", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "verticalSliders", - "Title": "垂直滑块", - "Description": "

您可以使用 Vertical 属性将滑块切换为垂直方向。 如果您需要更改滑块的高度,请使用 CSS。

\n", - "Code": "\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private IList _value = new List\r\n {\r\n 20,\r\n 40\r\n };\r\n }", - "Type": "Demos.Components.FormInputs.children.RangeSlider.props.VerticalSliders", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "thumbLabel", - "Title": "Thumb标签", - "Description": "

使用 TickLabels 属性和 ThumbLabelContent,您可以创建一个非常自定义的解决方案。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n @($\" {_icons[Convert.ToInt32(context)]} \")\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private IList _value = new List\r\n {\r\n 0,\r\n 1\r\n };\r\n private List _seasons = new List\r\n {\r\n \"Winter\",\r\n \"Spring\",\r\n \"Summer\",\r\n \"Fall\"\r\n };\r\n private List _icons = new List\r\n {\r\n \"mdi-snowflake\",\r\n \"mdi-leaf\",\r\n \"mdi-fire\",\r\n \"mdi-water\"\r\n };\r\n}\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.RangeSlider.contents.ThumbLabel", - "Style": "", - "Debug": false, - "Group": 2 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/RangeSliders.svg", - "Cols": 1, - "Related": [ - "/components/forms", - "/components/selects", - "/components/sliders" - ], - "Subtitle": "范围滑块", - "Title": "Range sliders", - "Type": "范围滑块" - }, - { - "Desc": "

选择器组件用于从选项列表中收集用户提供的信息。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n", - "注意": "\n \n

浏览器自动补全默认设置为关闭,可能因不同的浏览器而变化或忽略。 MDN

\n \n \n

MenuPropsAuto 属性只支持默认输入样式。

\n \n \n

当使用一个Object(对象) 作为Items的属性时,你必须使用ItemTextItemValue与传入的对象关联起来。 这些值默认为 TextValue 且可以更改。

\n \n" - }, - "LastWriteTime": "2021-11-09T10:30:56.8009066+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "", - "Code": "\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n MenuProps=\"props => props.OffsetY = true\">\r\n \r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Filled>\r\n \r\n \r\n\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\">\r\n \r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\">\r\n \r\n \r\n\r\n\r\n@code {\r\n private string value1;\r\n private string value2;\r\n private string value3;\r\n private string value4;\r\n\r\n public class Item\r\n {\r\n public string Label { get; set; }\r\n public string Value { get; set; }\r\n\r\n public Item(string label, string value)\r\n {\r\n Label = label;\r\n Value = value;\r\n }\r\n }\r\n\r\n List items = new()\r\n {\r\n new Item(\"Foo\", \"1\"),\r\n new Item(\"Bar\", \"2\"),\r\n new Item(\"Fizz\", \"3\"),\r\n new Item(\"Buzz\", \"4\"),\r\n };\r\n\r\n}", - "Type": "Demos.Components.FormInputs.children.Select.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "customTextAndValue", - "Title": "自定义选项的文本和值", - "Description": "

您可以在您的项目中指定特定属性的值和文本字段相对应。 默认情况下,将是属性 text 和 value相对应。 而在这个示例中,我们将应用 return-object 属性的方式来返回所选项目的整个对象值。

\n", - "Code": "\r\n \r\n \r\n \r\n Custom items\r\n \r\n \r\n\r\n \r\n r.State\"\r\n ItemValue=\"r=>r.Abbr\"\r\n Label=\"Select\"\r\n PersistentHint\r\n OnSelectedItemUpdate=\"item=>_selected=item\"\r\n SingleLine>\r\n \r\n \r\n\r\n\r\n @code {\r\n public class Model\r\n {\r\n public int Id { get; set; }\r\n public string State { get; set; }\r\n public string Abbr { get; set; }\r\n }\r\n\r\n private Model _selected = new Model()\r\n {\r\n State = \"Florida\",\r\n Abbr = \"FL\"\r\n };\r\n private List _states = new List\r\n {\r\n new Model\r\n {\r\n State=\"Florida\",\r\n Abbr=\"FL\",\r\n Id=1\r\n },\r\n new Model\r\n {\r\n State=\"Georgia\",\r\n Abbr=\"GA\",\r\n Id=2\r\n },\r\n new Model\r\n {\r\n State=\"Nebraska\",\r\n Abbr=\"NE\",\r\n Id=3\r\n },\r\n new Model\r\n {\r\n State=\"California\",\r\n Abbr=\"CA\",\r\n Id=4\r\n },\r\n new Model\r\n {\r\n State=\"New York\",\r\n Abbr=\"NY\",\r\n Id=5\r\n }\r\n };\r\n }", - "Type": "Demos.Components.FormInputs.children.Select.props.CustomTextAndValue", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "dense", - "Title": "密集", - "Description": "

你可以使用Dense属性来降低自动完成的高度和缩小列表项的最大高度。

\n", - "Code": "\r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Label=\"Standard\"\r\n Dense>\r\n \r\n\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Filled\r\n Label=\"Filled style\"\r\n Dense>\r\n \r\n\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Label=\"Outlined style\"\r\n Dense\r\n Outlined>\r\n \r\n\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Label=\"Solo field\"\r\n Dense\r\n Solo>\r\n \r\n \r\n\r\n\r\n@code {\r\n private string value1;\r\n private string value2;\r\n private string value3;\r\n private string value4;\r\n\r\n public class Item\r\n {\r\n public string Label { get; set; }\r\n public string Value { get; set; }\r\n public Item(string label, string value)\r\n {\r\n Label = label;\r\n Value = value;\r\n }\r\n }\r\n\r\n List _items = new()\r\n {\r\n new Item(\"Foo\", \"1\"),\r\n new Item(\"Bar\", \"2\"),\r\n new Item(\"Fizz\", \"3\"),\r\n new Item(\"Buzz\", \"4\"),\r\n };\r\n}", - "Type": "Demos.Components.FormInputs.children.Select.props.Dense", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "disabled", - "Title": "禁用", - "Description": "

Disabled 的属性应用于 MSelect 将阻止用户与组件交互。

\n", - "Code": "\r\n \r\n u\"\r\n ItemValue=\"u => u\"\r\n Disabled\r\n Label=\"Disabled\">\r\n \r\n \r\n u.Key\"\r\n ItemValue=\"u => u.Key\"\r\n ItemDisabled=\"u => u.Value\"\r\n Label=\"Disabled Item\">\r\n \r\n\r\n\r\n@code {\r\n List items = new() { \"Foo\", \"Bar\", \"Fizz\", \"Buzz\" };\r\n string _value;\r\n\r\n List> items2 = new Dictionary\r\n {\r\n { \"Foo\", false },\r\n { \"Bar\", false },\r\n { \"Fizz\", true },\r\n { \"Buzz\", false }\r\n }.ToList();\r\n}", - "Type": "Demos.Components.FormInputs.children.Select.props.Disabled", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "icon", - "Title": "图标", - "Description": "

使用自定义前置或者后置图标。

\n", - "Code": "\r\n \r\n \r\n \r\n Prepended icon\r\n \r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n HideDetails=\"true\"\r\n PrependIcon=\"mdi-map\"\r\n SingleLine>\r\n \r\n \r\n \r\n Appended icon\r\n \r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Items=\"_items\"\r\n AppendOuterIcon=\"mdi-map\"\r\n HideDetails=\"true\"\r\n Label=\"Select\"\r\n SingleLine>\r\n \r\n \r\n\r\n\r\n@code{\r\n private string e1;\r\n private string e2;\r\n\r\n List _items = new()\r\n {\r\n new Item(\"Foo\", \"1\"),\r\n new Item(\"Bar\", \"2\"),\r\n new Item(\"Fizz\", \"3\"),\r\n new Item(\"Buzz\", \"4\"),\r\n };\r\n\r\n public class Item\r\n {\r\n public string Label { get; set; }\r\n public string Value { get; set; }\r\n public Item(string label, string value)\r\n {\r\n Label = label;\r\n Value = value;\r\n }\r\n }\r\n}", - "Type": "Demos.Components.FormInputs.children.Select.props.Icon", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "light", - "Title": "浅色主题", - "Description": "

标准的单选有多种配置选项。

\n", - "Code": "\r\n \r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Label=\"Chips\"\r\n Multiple>\r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Label=\"Chips\"\r\n Multiple>\r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Multiple\r\n Outlined>\r\n \r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Label=\"Chips\"\r\n Multiple\r\n Solo>\r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private List values = new List { \"1\" };\r\n\r\n public class Item\r\n {\r\n public string Label { get; set; }\r\n public string Value { get; set; }\r\n public Item(string label, string value)\r\n {\r\n Label = label;\r\n Value = value;\r\n }\r\n }\r\n\r\n List _items = new()\r\n {\r\n new Item(\"Foo\", \"1\"),\r\n new Item(\"Bar\", \"2\"),\r\n new Item(\"Fizz\", \"3\"),\r\n new Item(\"Buzz\", \"4\"),\r\n };\r\n}", - "Type": "Demos.Components.FormInputs.children.Select.props.Light", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "menuProps", - "Title": "菜单属性", - "Description": "

在这个示例中,菜单被指定向上打开并移动至顶部。

\n", - "Code": "\r\n \r\n { props.Top = true; props.OffsetY = true; })\"\r\n Label=\"Label\"\r\n ItemValue=\"r => r\"\r\n ItemText=\"r => r\">\r\n \r\n \r\n\r\n\r\n@code{\r\n string _value;\r\n List _items = new() { \"Foo\", \"Bar\", \"Fizz\", \"Buzz\" };\r\n}", - "Type": "Demos.Components.FormInputs.children.Select.props.MenuProps", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "multiple", - "Title": "多选", - "Description": "

多选择器可以使用 MChip 组件来显示已选项。

\n", - "Code": "@using System.Collections.Generic;\r\n\r\n\r\n \r\n \r\n Multiple with persistent hint\r\n \r\n \r\n u\"\r\n ItemValue=\"u => u\"\r\n Label=\"Select\"\r\n Multiple\r\n Clearable\r\n Hint=\"@($\"selected values: {string.Join(',', e6)}\")\">\r\n \r\n \r\n\r\n \r\n Multiple (Chips) with persistent hint\r\n \r\n\r\n \r\n u\"\r\n ItemValue=\"u => u\"\r\n Label=\"Select\"\r\n Multiple\r\n Chips\r\n Hint=\"@($\"selected values: {string.Join(',', e7)}\")\"\r\n PersistentHint>\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n List e6 = new List() { \"Alaska\" };\r\n List e7 = new List() { \"Alaska\" };\r\n\r\n string[] states =\r\n {\r\n \"Alabama\", \"Alaska\", \"American Samoa\", \"Arizona\",\r\n \"Arkansas\", \"California\", \"Colorado\", \"Connecticut\",\r\n \"Delaware\", \"District of Columbia\", \"Federated States of Micronesia\",\r\n \"Florida\", \"Georgia\", \"Guam\", \"Hawaii\", \"Idaho\",\r\n \"Illinois\", \"Indiana\", \"Iowa\", \"Kansas\", \"Kentucky\",\r\n \"Louisiana\", \"Maine\", \"Marshall Islands\", \"Maryland\",\r\n \"Massachusetts\", \"Michigan\", \"Minnesota\", \"Mississippi\",\r\n \"Missouri\", \"Montana\", \"Nebraska\", \"Nevada\",\r\n \"New Hampshire\", \"New Jersey\", \"New Mexico\", \"New York\",\r\n \"North Carolina\", \"North Dakota\", \"Northern Mariana Islands\", \"Ohio\",\r\n \"Oklahoma\", \"Oregon\", \"Palau\", \"Pennsylvania\", \"Puerto Rico\",\r\n \"Rhode Island\", \"South Carolina\", \"South Dakota\", \"Tennessee\",\r\n \"Texas\", \"Utah\", \"Vermont\", \"Virgin Island\", \"Virginia\",\r\n \"Washington\", \"West Virginia\", \"Wisconsin\", \"Wyoming\"\r\n };\r\n\r\n}", - "Type": "Demos.Components.FormInputs.children.Select.props.Multiple", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "readonly", - "Title": "只读", - "Description": "

您可以在 MSelect 上应用 Readonly 属性来防止用户更改其值。

\n", - "Code": "\r\n \r\n u.Label\"\r\n ItemValue=\"u => u.Value\"\r\n Readonly\r\n Label=\"Read-only\">\r\n \r\n\r\n\r\n@code{\r\n private string e1;\r\n public class Item\r\n {\r\n public string Label { get; set; }\r\n public string Value { get; set; }\r\n public Item(string label, string value)\r\n {\r\n Label = label;\r\n Value = value;\r\n }\r\n }\r\n\r\n List _items = new()\r\n {\r\n new Item(\"Foo\", \"1\"),\r\n new Item(\"Bar\", \"2\"),\r\n new Item(\"Fizz\", \"3\"),\r\n new Item(\"Buzz\", \"4\"),\r\n };\r\n}", - "Type": "Demos.Components.FormInputs.children.Select.props.Readonly", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "appendAndPrependItem", - "Title": "附加代码", - "Description": "

MSelect 组件可以通过预定和附加项目进行扩展。 这完全适合自定义的 选择所有 功能。

\n", - "Code": "\r\n r\"\r\n ItemText=\"r=>r\"\r\n Multiple>\r\n \r\n \r\n \r\n 0 ? \"indigo darken-4\" : \"\")\">\r\n @Icon\r\n \r\n \r\n \r\n \r\n Select All\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n mdi-food-apple\r\n \r\n \r\n @if (LikesAllFruit)\r\n {\r\n \r\n \r\n Holy smokes, someone call the fruit police!\r\n \r\n \r\n }\r\n else if (LikesSomeFruit)\r\n {\r\n \r\n \r\n Fruit Count\r\n \r\n \r\n {{ _selectedFruits.length }}\r\n \r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n How could you not like fruit?\r\n \r\n \r\n Go ahead, make a selection above!\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private List _fruits = new List\r\n\r\n {\r\n \"Apples\",\r\n \"Apricots\",\r\n \"Avocado\",\r\n \"Bananas\",\r\n \"Blueberries\",\r\n \"Blackberries\",\r\n \"Boysenberries\",\r\n \"Bread fruit\",\r\n \"Cantaloupes (cantalope)\",\r\n \"Cherries\",\r\n \"Cranberries\",\r\n \"Cucumbers\",\r\n \"Currants\",\r\n \"Dates\",\r\n \"Eggplant\",\r\n \"Figs\",\r\n \"Grapes\",\r\n \"Grapefruit\",\r\n \"Guava\",\r\n \"Honeydew melons\",\r\n \"Huckleberries\",\r\n \"Kiwis\",\r\n \"Kumquat\",\r\n \"Lemons\",\r\n \"Limes\",\r\n \"Mangos\",\r\n \"Mulberries\",\r\n \"Muskmelon\",\r\n \"Nectarines\",\r\n \"Olives\",\r\n \"Oranges\",\r\n \"Papaya\",\r\n \"Peaches\",\r\n \"Pears\",\r\n \"Persimmon\",\r\n \"Pineapple\",\r\n \"Plums\",\r\n \"Pomegranate\",\r\n \"Raspberries\",\r\n \"Rose Apple\",\r\n \"Starfruit\",\r\n \"Strawberries\",\r\n \"Tangerines\",\r\n \"Tomatoes\",\r\n \"Watermelons\",\r\n \"Zucchini\"\r\n };\r\n private List _selectedFruits = new List();\r\n\r\n public bool LikesAllFruit => _selectedFruits.Count == _fruits.Count;\r\n\r\n public bool LikesSomeFruit => _selectedFruits.Count > 0 && !LikesAllFruit;\r\n\r\n public string Icon\r\n {\r\n get\r\n {\r\n if (LikesAllFruit)\r\n {\r\n return \"mdi-close-box\";\r\n }\r\n\r\n if (LikesSomeFruit)\r\n {\r\n return \"mdi-minus-box\";\r\n }\r\n\r\n return \"mdi-checkbox-blank-outline\";\r\n }\r\n }\r\n\r\n public void Toggle()\r\n {\r\n if (LikesAllFruit)\r\n {\r\n _selectedFruits = new List();\r\n }\r\n else\r\n {\r\n _selectedFruits = new List();\r\n _selectedFruits.AddRange(_fruits);\r\n }\r\n }\r\n }", - "Type": "Demos.Components.FormInputs.children.Select.contents.AppendAndPrependItem", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 2, - "Name": "selection", - "Title": "选择", - "Description": "

SelectionContent 可用于自定义选中值在输入中显示的方式。 当您想要像 foo (+20 others) 或不想让选区占用多行时,这是很棒的。

\n", - "Code": "\r\n r\"\r\n ItemText=\"r=>r\"\r\n Multiple>\r\n \r\n @if (data.Index == 0)\r\n {\r\n \r\n @data.Item\r\n \r\n }\r\n else if (data.Index == 1)\r\n {\r\n \r\n (+@(_value.Count - 1) others)\r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n private List _items = new List{\r\n \"foo\", \"bar\", \"fizz\", \"buzz\", \"fizzbuzz\", \"foobar\"\r\n };\r\n private List _value = new List{\r\n \"foo\", \"bar\", \"fizz\"\r\n };\r\n }\r\n", - "Type": "Demos.Components.FormInputs.children.Select.contents.Selection", - "Style": "", - "Debug": false, - "Group": 2 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/autocompletes", - "/components/combobox", - "/components/forms" - ], - "Subtitle": "下拉框", - "Title": "Selects", - "Type": "下拉框" - }, - { - "Desc": "

MSlider 组件是一个更好的可视化数字输入工具。 它用于收集数字数据。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.5302456+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

滑块表示一根条上的一系列值,用户可以从中选择一个值。 滑块组件适用于调节音量、亮度,或者图像滤镜的强度。

\n", - "Code": "
\r\n \r\n
\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.Slider.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "colors", - "Title": "颜色", - "Description": "

您可以使用 ColorTrackColorThumbColor 属性设置滑块的颜色。

\n", - "Code": "
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n @code {\r\n public class Slider\r\n {\r\n public string Label { get; set; }\r\n\r\n public double Val { get; set; }\r\n\r\n public string Color { get; set; }\r\n }\r\n\r\n private Slider _ex1 = new Slider\r\n {\r\n Label = \"color\",\r\n Val = 25,\r\n Color = \"orange darken-3\"\r\n };\r\n\r\n private Slider _ex2 = new Slider\r\n {\r\n Label = \"track-color\",\r\n Val = 75,\r\n Color = \"green lighten-1\"\r\n };\r\n\r\n private Slider _ex3 = new Slider\r\n {\r\n Label = \"thumb-color\",\r\n Val = 50,\r\n Color = \"red\"\r\n };\r\n }\r\n\r\n", - "Type": "Demos.Components.FormInputs.children.Slider.props.Colors", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "disabled", - "Title": "禁用", - "Description": "

您不能与 Disabled 滑块交互。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n ", - "Type": "Demos.Components.FormInputs.children.Slider.props.Disabled", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "discrete", - "Title": "离散的", - "Description": "

离散滑块提供一个显示当前准确数量的标签。 您可以使用 Step 属性让滑块只能选择部分值。

\n", - "Code": "\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _value = 0;\r\n }", - "Type": "Demos.Components.FormInputs.children.Slider.props.Discrete", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "icons", - "Title": "图标", - "Description": "

您可以使用 AppendIconPrependIcon 属性添加图标到滑块。 您可以使用 OnAppendClickOnPrependClick 绑定图标点击事件回调函数。

\n", - "Code": "\r\n Media volume\r\n \r\n \r\n \r\n\r\n Alarm volume\r\n\r\n \r\n \r\n \r\n\r\n Icon click callback\r\n\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _media = 0;\r\n private double _alarm = 0;\r\n private double _zoom = 0;\r\n\r\n private void ZoomOut()\r\n {\r\n _zoom = _zoom - 10;\r\n if (_zoom < 0)\r\n {\r\n _zoom = 0;\r\n }\r\n }\r\n\r\n private void ZoomIn()\r\n {\r\n _zoom = _zoom + 10;\r\n if (_zoom > 100)\r\n {\r\n _zoom = 100;\r\n }\r\n }\r\n }", - "Type": "Demos.Components.FormInputs.children.Slider.props.Icons", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "inverseLabel", - "Title": "反向标签", - "Description": "

带有 InverseLabel 属性的 MSlider 的标签显示在末尾。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.FormInputs.children.Slider.props.InverseLabel", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "minAndMax", - "Title": "最小值和最大值", - "Description": "

您可以通过 MinMax 设置滑块的最小值和最大值。

\n", - "Code": "\r\n Min and max default slider\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n @code{\r\n private double _min = -50;\r\n private double _max = 90;\r\n private double _slider = 40;\r\n }", - "Type": "Demos.Components.FormInputs.children.Slider.props.MinAndMax", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "readonly", - "Title": "只读", - "Description": "

您不能与 Readonly 滑块交互,但它们看起来与普通滑块一样。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n ", - "Type": "Demos.Components.FormInputs.children.Slider.props.Readonly", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "step", - "Title": "步长", - "Description": "

MSlider 可以有1以上的步长。 这对您需要更准确地调整值的应用程序可能有帮助。

\n", - "Code": "\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _value = 10;\r\n }", - "Type": "Demos.Components.FormInputs.children.Slider.props.Step", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "thumb", - "Title": "缩略图标签", - "Description": "

您可以使用 ThumbLabel 属性让滑块在滑动时始终显示缩略图标签。 可以通过 ThumbColor 属性设置缩略图颜色,通过 ThumbSize 属性设置大小。 使用 AlwaysDirty 属性可使其颜色保持不变,即使在 Min 值上也是如此。

\n", - "Code": "\r\n \r\n \r\n \r\n Show thumb when using _slider\r\n \r\n \r\n \r\n\r\n \r\n \r\n Always show thumb label\r\n \r\n \r\n \r\n\r\n \r\n \r\n Custom thumb size\r\n \r\n \r\n \r\n\r\n \r\n \r\n Custom thumb label\r\n \r\n \r\n \r\n @_satisfactionEmojis[Convert.ToInt32(Math.Min(Math.Floor(value / 10), 9D))]\r\n \r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _slider = 45;\r\n private List _satisfactionEmojis = new List\r\n {\r\n \"😭\", \"😢\", \"☹️\", \"🙁\", \"😐\", \"🙂\", \"😊\", \"😁\", \"😄\", \"😍\"\r\n };\r\n }", - "Type": "Demos.Components.FormInputs.children.Slider.props.Thumb", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "ticks", - "Title": "刻度", - "Description": "

刻度线决定了用户能将滑块移动到的预定值。

\n", - "Code": "\r\n Show ticks when using slider\r\n\r\n \r\n \r\n \r\n\r\n Always show ticks\r\n\r\n \r\n \r\n \r\n\r\n Tick size\r\n\r\n \r\n \r\n \r\n\r\n Tick labels\r\n\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _value = 0;\r\n private double _fruits = 0;\r\n private List _ticksLabels = new List\r\n {\r\n \"Figs\",\r\n \"Lemon\",\r\n \"Pear\",\r\n \"Apple\"\r\n };\r\n }", - "Type": "Demos.Components.FormInputs.children.Slider.props.Ticks", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "validation", - "Title": "验证", - "Description": "

支持外部验证。

\n", - "Code": "\r\n Rules\r\n\r\n \r\n \r\n \r\n\r\n Persistent hint\r\n\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _value = 30;\r\n private List _errorMessages = new List();\r\n\r\n public void HandleOnChange(double val)\r\n {\r\n _value = val;\r\n if (_value <= 40)\r\n {\r\n _errorMessages = new List();\r\n }\r\n else\r\n {\r\n _errorMessages = new List\r\n {\r\n \"Only 40 in stock\"\r\n };\r\n }\r\n }\r\n }", - "Type": "Demos.Components.FormInputs.children.Slider.props.Validation", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "verticalSliders", - "Title": "垂直滑块", - "Description": "

您可以使用 Vertical 属性将滑块切换为垂直方向。 如果您需要更改滑块的高度,请使用 CSS。

\n", - "Code": "\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _value = 10;\r\n }", - "Type": "Demos.Components.FormInputs.children.Slider.props.VerticalSliders", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "appendAndPrepend", - "Title": "附加代码", - "Description": "

使用 PrependContentAppendContent 插槽来轻松自定义 MSlider 以便适应任何情况。

\n", - "Code": "\r\n \r\n \r\n METRONOME\r\n \r\n \r\n \r\n mdi-share-variant\r\n \r\n \r\n\r\n \r\n \r\n \r\n @_bpm\r\n BPM\r\n @if (_isPlaying)\r\n {\r\n \r\n }\r\n \r\n \r\n \r\n \r\n @(_isPlaying ? \"mdi-pause\" : \"mdi-play\")\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n mdi-minus\r\n \r\n \r\n\r\n \r\n \r\n mdi-plus\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private double _bpm = 40;\r\n private bool _isPlaying;\r\n\r\n public string Color\r\n {\r\n get\r\n {\r\n if (_bpm < 100)\r\n {\r\n return \"indigo\";\r\n }\r\n\r\n if (_bpm < 125)\r\n {\r\n return \"teal\";\r\n }\r\n\r\n if (_bpm < 140) return \"green\";\r\n\r\n if (_bpm < 175) return \"orange\";\r\n\r\n return \"red\";\r\n }\r\n }\r\n\r\n public string AnimationDuration => $\"{60 / _bpm}s\";\r\n\r\n public void Decrement()\r\n {\r\n _bpm--;\r\n }\r\n\r\n public void Increment()\r\n {\r\n _bpm++;\r\n }\r\n\r\n public void Toggle()\r\n {\r\n _isPlaying = !_isPlaying;\r\n }\r\n}", - "Type": "Demos.Components.FormInputs.children.Slider.contents.AppendAndPrepend", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 1, - "Name": "appendTextField", - "Title": "追加文本字段", - "Description": "

滑块可以与它的 AppendContent**** 插槽中的其他组件合并,例如 MTextField,以便为组件添加额外的功能。

\n", - "Code": "\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private double _red = 64;\r\n private double _green = 128;\r\n private double _blue = 0;\r\n }", - "Type": "Demos.Components.FormInputs.children.Slider.contents.AppendTextField", - "Style": "", - "Debug": false, - "Group": 2 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Sliders.svg", - "Cols": 1, - "Related": [ - "/components/forms", - "/components/selects", - "/components/range-sliders" - ], - "Subtitle": "滑块", - "Title": "Sliders", - "Type": "滑块" - }, - { - "Desc": "

MSwitch 组件使用户能够在两个不同的值之间进行选择。 它们非常类似于一个切换,或开关,虽然视觉上不同于一个复选框。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-23T18:21:16.3588668+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

最简单形式的 MSwitch 提供两个值之间的切换。

\n", - "Code": "
\r\n \r\n
\r\n\r\n@code{\r\n private bool _show = true;\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Switch.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "color", - "Title": "颜色", - "Description": "

开关可以使用任何内置颜色和上下文名称使用 Color 属性进行着色。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private bool _ex1 = true;\r\n private bool _ex2 = true;\r\n private bool _ex3 = true;\r\n private bool _ex4 = true;\r\n private bool _ex5 = true;\r\n private bool _ex6 = true;\r\n private bool _ex7 = true;\r\n private bool _ex8 = true;\r\n private bool _ex9 = true;\r\n private bool _ex10 = true;\r\n private bool _ex11 = true;\r\n private bool _ex12 = true;\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Switch.props.Color", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "flat", - "Title": "扁平", - "Description": "

您可以使用 Flat 属性渲染没有高度(z轴)的开关。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private bool _switch1=true;\r\n private bool _switch2;\r\n}", - "Type": "Demos.Components.FormInputs.children.Switch.props.Flat", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "inset", - "Title": "嵌入", - "Description": "

您可以在 Inset 模式下使开关渲染。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private bool _switch1=true;\r\n private bool _switch2;\r\n}", - "Type": "Demos.Components.FormInputs.children.Switch.props.Inset", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "state", - "Title": "状态", - "Description": "

MSwitch 可以有不同的状态,例如defaultDisabled,以及 Loading

\n", - "Code": "\r\n \r\n \r\n on\r\n \r\n \r\n off\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n on disabled\r\n \r\n \r\n off disabled\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n on loading\r\n \r\n \r\n off loading\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool switch1 = true;\r\n bool switch2 = true;\r\n bool switch3 = true;\r\n StringBoolean warning = \"warning\";\r\n}", - "Type": "Demos.Components.FormInputs.children.Switch.props.State", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "label", - "Title": "LabelContent", - "Description": "

文本字段标签可以在 LabelContent 中定义。

\n", - "Code": "\r\n \r\n \r\n Turn on the progress:\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool switchMe;\r\n}", - "Type": "Demos.Components.FormInputs.children.Switch.contents.Label", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 0, - "Name": "customText", - "Title": "自定义文本", - "Description": "

switch可以自定义文本

\n", - "Code": "
\r\n \r\n
\r\n\r\n@code {\r\n private bool _show = true;\r\n}\r\n", - "Type": "Demos.Components.FormInputs.children.Switch.misc.CustomText", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Switch.svg", - "Cols": 1, - "Related": [ - "/components/checkboxes", - "/components/forms", - "/components/radio" - ], - "Subtitle": "开关", - "Title": "Switches", - "Type": "开关" - }, - { - "Desc": "

多行文本框组件用于收集大量文本数据。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.5422448+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

MTextarea 最简单的形式是多行文本字段,对于大量文本非常有用。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n string value1 = \"The Woodman set to work at once, and so sharp was his axe that the tree was soon chopped nearly through.\";\r\n string value3 = \"The Woodman set to work at once, and so sharp was his axe that the tree was soon chopped nearly through.\";\r\n string value4 = \"The Woodman set to work at once, and so sharp was his axe that the tree was soon chopped nearly through.\";\r\n}", - "Type": "Demos.Components.FormInputs.children.TextArea.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "autoGrow", - "Title": "自动增长", - "Description": "

当使用 AutoGrow 时,当包含的文本超过其大小时,多行文本框的大小将自动增加。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private string _value = \"The Woodman set to work at once, and so sharp was his axe that the tree was soon chopped nearly through.\";\r\n}", - "Type": "Demos.Components.FormInputs.children.TextArea.props.AutoGrow", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "backgroundColor", - "Title": "背景色", - "Description": "

BackgroundColorColor 让您更多地控制 MTextarea 的样式。

\n", - "Code": "\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n", - "Type": "Demos.Components.FormInputs.children.TextArea.props.BackgroundColor", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "browserAutocomplete", - "Title": "浏览器自动补全", - "Description": "

Autocomplete 让您可以启用浏览器预测用户输入的选项。

\n", - "Code": "\r\n \r\n \r\n", - "Type": "Demos.Components.FormInputs.children.TextArea.props.BrowserAutocomplete", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "clearable", - "Title": "可清除", - "Description": "

您可以使用 ClearableMTextarea 清除文本,并使用 ClearableIcon 自定义清除图标。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private string _value = \"This is clearable text.\";\r\n}", - "Type": "Demos.Components.FormInputs.children.TextArea.props.Clearable", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "counter", - "Title": "计数器", - "Description": "

Counter 通知用户 MTextarea 的字符限制。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private string _value = \"Hello!\";\r\n private List> _rules = new()\r\n {\r\n v => v.Length <= 25 ? true : \"Max 25 characters\"\r\n };\r\n}", - "Type": "Demos.Components.FormInputs.children.TextArea.props.Counter", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "icon", - "Title": "图标", - "Description": "

AppendIconPrependIcon 帮助将上下文添加到 MTextarea.

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.FormInputs.children.TextArea.props.Icon", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "noResize", - "Title": "禁止缩放", - "Description": "

MTextarea 可以选择使用NoResize 保持相同的大小,而不管其内容大小。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private string _value = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n}", - "Type": "Demos.Components.FormInputs.children.TextArea.props.NoResize", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "row", - "Title": "行数", - "Description": "

Rows 允许您定义textarea有多少行,当与 RowHeight 结合使用时,您可以通过定义行的高度来进一步自定义行。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.FormInputs.children.TextArea.props.Row", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "signupForm", - "Title": "注册表单", - "Description": "

利用替代的输入样式,您可以创建易于构建和使用的惊人界面。

\n", - "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n\r\n \r\n \r\n \r\n mdi-square\r\n \r\n \r\n mdi-circle\r\n \r\n \r\n mdi-triangle\r\n \r\n \r\n \r\n \r\n mdi-arrow-left\r\n \r\n \r\n Sign up\r\n \r\n \r\n \r\n mdi-magnify\r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n I agree to the\r\n dialog = true\" @onclick:stopPropagation>\r\n Terms of Service\r\n \r\n and\r\n dialog = true\" @onclick:stopPropagation>\r\n Privacy Policy\r\n *\r\n\r\n \r\n \r\n \r\n \r\n \r\n model.Clear())\">\r\n Clear\r\n \r\n \r\n form.EditContext.Validate()\">\r\n Submit\r\n \r\n \r\n \r\n \r\n \r\n Legal\r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\r\n \r\n \r\n \r\n {model.Agreement = false; dialog = false;}\">\r\n No\r\n \r\n \r\n {model.Agreement = true; dialog = false;}\">\r\n Yes\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n static string bio = \"Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts\";\r\n\r\n bool dialog;\r\n MForm form;\r\n Signup model = new() {Bio = bio};\r\n\r\n bool IsValid => form != null && form.EditContext.IsModified() && form.EditContext.Validate(); // is right usage?\r\n\r\n public class Signup\r\n {\r\n [Required]\r\n [MaxLength(6)]\r\n [MinLength(6)]\r\n public string Password { get; set; }\r\n\r\n [Required]\r\n [Phone]\r\n public string Phone { get; set; }\r\n\r\n [Required]\r\n [EmailAddress]\r\n public string Email { get; set; }\r\n\r\n public string Bio { get; set; }\r\n\r\n [Required]\r\n [Range(typeof(bool), \"true\", \"true\", ErrorMessage = \"The field is required\")] // just for demo\r\n public bool Agreement { get; set; }\r\n\r\n public void Clear()\r\n {\r\n Password = null;\r\n Phone = null;\r\n Email = null;\r\n Bio = null;\r\n Agreement = false;\r\n }\r\n }\r\n\r\n}", - "Type": "Demos.Components.FormInputs.children.TextArea.misc.SignupForm", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Textareas.svg", - "Cols": 1, - "Related": [ - "/components/forms", - "/components/selects", - "/components/text-fields" - ], - "Subtitle": "多行文本框", - "Title": "Textareas", - "Type": "多行文本框" - }, - { - "Desc": "

文本框组件用于收集用户提供的信息。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.5582455+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

具有占位符 和/或 标签的简单文本字段。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.FormInputs.children.TextField.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "clearable", - "Title": "可清除", - "Description": "

Clearable 时,您可以使用 ClearIcon 自定义清晰的图标。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string _message1 = \"Hey!\";\r\n private string _message2 = \"Hey!\";\r\n private string _message3 = \"Hey!\";\r\n private string _message4 = \"Hey!\";\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.props.Clearable", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": -1, - "Name": "counter", - "Title": "计数器", - "Description": "

使用 Counter 通知用户字符限制。计数器本身不执行任何验证—您需要将其与内部验证系统或第三方库配对。计数器可以定制 CounterValueCounterContent

\n", - "Code": "@using BlazorComponent\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n v.Trim().Split(' ').Length\"\r\n Label=\"Custom counter from prop\">\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private string _title = \"Preliminary report\";\r\n private string _description = \"California is a state in the western United States\";\r\n private List> _rules = new()\r\n {\r\n v => v.Length <= 25 ? true : \"Max 25 characters\"\r\n };\r\n private List> _wordsRules = new()\r\n {\r\n v => v.Trim().Split(' ').Length <= 5 ? true : \"Max 5 words\"\r\n };\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.props.Counter", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "customColors", - "Title": "自定义颜色", - "Description": "

您可以选择性地将文本字段更改为材料设计色板中的任何颜色。 下面是验证的自定义表单的执行示例。

\n", - "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n\r\n \r\n Registration successful!\r\n \r\n mdi-checkbox-marked-circle\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Bio (optional)\r\n
\r\n
\r\n \r\n
\r\n \r\n item\"\r\n ItemValue=\"item => item\"\r\n Color=\"pink\"\r\n Label=\"Favorite animal\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Do you accept the\r\n terms = true\">\r\n terms\r\n \r\n and\r\n conditions = true\">\r\n conditions?\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n Register\r\n \r\n \r\n
\r\n \r\n \r\n \r\n Terms\r\n \r\n @foreach (var n in Enumerable.Range(0, 5))\r\n {\r\n \r\n @content\r\n \r\n }\r\n \r\n \r\n terms = false\">\r\n Ok\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Conditions\r\n \r\n @foreach (var n in Enumerable.Range(0, 5))\r\n {\r\n \r\n @content\r\n \r\n }\r\n \r\n \r\n conditions = false\">\r\n Ok\r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code{\r\n\r\n static List animals = new() {\"Dog\", \"Cat\", \"Rabbit\", \"Turtle\", \"Snake\"};\r\n\r\n MForm form;\r\n bool terms;\r\n bool conditions;\r\n bool snackbar;\r\n string content = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur sodales ligula in libero. Sed dignissim lacinia nunc.\";\r\n\r\n Model model = new();\r\n\r\n bool FormIsValid => form != null && form.EditContext.IsModified() && form.EditContext.Validate();\r\n\r\n void ResetForm()\r\n {\r\n model.Reset();\r\n }\r\n\r\n void Submit()\r\n {\r\n snackbar = true;\r\n model.Reset();\r\n }\r\n\r\n public class Model\r\n {\r\n [Required]\r\n public string first { get; set; }\r\n\r\n [Required]\r\n public string last { get; set; }\r\n\r\n [Required]\r\n [Range(0, 10, ErrorMessage = \"I don't believe you!\")]\r\n public double age { get; set; }\r\n\r\n public string bio { get; set; }\r\n\r\n [Required]\r\n public string favoriteAnimal { get; set; }\r\n\r\n [Required]\r\n [Range(typeof(bool), \"true\", \"true\", ErrorMessage = \"The field is required\")] // just for demo\r\n public bool terms { get; set; }\r\n\r\n public void Reset()\r\n {\r\n first = default;\r\n last = default;\r\n age = default;\r\n bio = default;\r\n favoriteAnimal = default;\r\n terms = default;\r\n }\r\n }\r\n\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.props.CustomColors", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "dense", - "Title": "密集", - "Description": "

您可以使用 Dense 属性降低文件输入高度。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.FormInputs.children.TextField.props.Dense", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "disabledAndReadonly", - "Title": "禁用且只读", - "Description": "

文本字段可以是 DisabledReadonly

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string _value = \"John Doe\";\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.props.DisabledAndReadonly", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "filled", - "Title": "填充", - "Description": "

文本字段可以与其他(布局)盒子一起使用。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n string first = \"John\";\r\n string last = \"Doe\";\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.props.Filled", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "hideDetails", - "Title": "隐藏详细信息", - "Description": "

HideDetails 设置为 auto 时,只有在有信息(提示、错误信息等)显示的情况下,才会显示信息。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code{\r\n private Order _order =new Order();\r\n public class Order\r\n {\r\n public int? Id { get; set; }\r\n [System.ComponentModel.DataAnnotations.Required]\r\n public string Title { get; set; }\r\n [System.ComponentModel.DataAnnotations.Range(0,25.00)]\r\n public decimal? Price { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.props.HideDetails", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "hint", - "Title": "提示", - "Description": "

文本字段上的 Hint 属性添加了文本字段下方提供的字符串。 使用 PersistentHint 在文本字段未被焦点时显示提示。Solo 模式不支持提示。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.FormInputs.children.TextField.props.Hint", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "icons", - "Title": "图标", - "Description": "

您可以添加图标到文本字段使用 PrependIcon, AppendIconAppendOuterIcon

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.FormInputs.children.TextField.props.Icons", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "outlined", - "Title": "轮廓", - "Description": "

文本字段可以与其他轮廓设计一起使用。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string _first;\r\n private string _last;\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.props.Outlined", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "prefixesAndSuffixes", - "Title": "前缀和后缀", - "Description": "

PrefixSuffix 属性允许您在文本字段旁边添加和附加不可更改的内联文本。

\n", - "Code": "\r\n \r\n \r\n Prefix for dollar currency\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Suffix for weight\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Suffix for email domain\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Suffix for time zone\r\n \r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.FormInputs.children.TextField.props.PrefixesAndSuffixes", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "shaped", - "Title": "形状", - "Description": "

Shaped 文本字段如果是 Outlined 则是圆角的;如果是 Filled,则具有更大的 border-radius

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string _first;\r\n private string _last;\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.props.Shaped", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "singleLine", - "Title": "单行亮色主题", - "Description": "

SingleLine 文本框的标签不会浮动到焦点或数据之上。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.FormInputs.children.TextField.props.SingleLine", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "solo", - "Title": "单独", - "Description": "

文本字段可以与其他 Solo 设计一起使用。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string _first = \"John\";\r\n private string _last = \"Doe\";\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.props.Solo", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "validation", - "Title": "验证", - "Description": "

MASA Blazor 包括通过 规则 prop 进行简单的验证。 prop 接受了各种类型 函数, 布尔值 和 字符串 的组合。 当输入值发生变化时,数组中的每个元素将被验证。 函数传递当前的 Value 作为参数,必须返回 true / false 或 字符串 包含错误消息。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private string _title = \"Preliminary report\";\r\n private string _email = \"\";\r\n private Func _requiredRule = value => !string.IsNullOrEmpty(value) ? true : \"Required.\";\r\n private Func _counterRule = value => value.Length <= 20 ? true : \"Max 20 characters\";\r\n private Func _emailRule = value => System.Text.RegularExpressions.Regex.Match(value, \"^[\\\\w-]+@[\\\\w-]+\\\\.(com|net|org|edu|mil|tv|biz|info)$\").Success ? true : \"Invalid e-mail.\";\r\n private IEnumerable> _titleRules => new List>\r\n {\r\n _requiredRule,\r\n _counterRule\r\n };\r\n private IEnumerable> _emailRules => new List>\r\n {\r\n _requiredRule,\r\n _emailRule\r\n };\r\n }", - "Type": "Demos.Components.FormInputs.children.TextField.props.Validation", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "iconEvents", - "Title": "图标事件", - "Description": "

OnPrependClick, OnAppendClick, OnAppendOuterClickOnClearClick 将在点击相应的图标时发出。 请注意,如果使用图标插槽,将不会触发这些事件。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private string _message = \"Hey!\";\r\n private bool _marker = true;\r\n\r\n private List _icons = new List\r\n {\r\n \"mdi-emoticon\",\r\n \"mdi-emoticon-cool\",\r\n \"mdi-emoticon-dead\",\r\n \"mdi-emoticon-excited\",\r\n \"mdi-emoticon-happy\",\r\n \"mdi-emoticon-neutral\",\r\n \"mdi-emoticon-sad\",\r\n \"mdi-emoticon-tongue\",\r\n };\r\n\r\n private int _iconIndex = 0;\r\n\r\n public string Icon => _icons[_iconIndex];\r\n\r\n public void ToggleMarker()\r\n {\r\n _marker = !_marker;\r\n }\r\n\r\n public void ChangeIcon()\r\n {\r\n if (_iconIndex == _icons.Count - 1)\r\n {\r\n _iconIndex = 0;\r\n }\r\n else\r\n {\r\n _iconIndex++;\r\n }\r\n }\r\n\r\n public void SendMessage()\r\n {\r\n _iconIndex = 0;\r\n _message = \"\";\r\n }\r\n\r\n public void ClearMessage()\r\n {\r\n _message = \"\";\r\n }\r\n\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.events.IconEvents", - "Style": "", - "Debug": false, - "Group": 1 - }, - { - "Order": 2, - "Name": "iconSlots", - "Title": "图标插槽", - "Description": "

可以使用插槽来扩展输入的功能,而不是使用 Prepend/Append/AppendOuter 图标。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n mdi-help-circle-outline\r\n \r\n \r\n \r\n I'm a tooltip\r\n \r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n \r\n \r\n \r\n \r\n mdi-menu\r\n \r\n Menu\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n mdi-target\r\n Click me\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private string _message = \"Hey!\";\r\n\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.contents.IconSlots", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 2, - "Name": "label", - "Title": "标签", - "Description": "

文本字段标签可以在 LabelContent 中定义。

\n", - "Code": "\r\n \r\n \r\n \r\n What about icon here?\r\n \r\n mdi-file-find\r\n \r\n \r\n \r\n \r\n \r\n *姓名\r\n \r\n \r\n \r\n", - "Type": "Demos.Components.FormInputs.children.TextField.contents.Label", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 2, - "Name": "progress", - "Title": "进度条", - "Description": "

您可以显示进度条而不是底线。 您可以使用与文本字段相同的默认不可确定的进度或使用 ProgressContent 指定一个自定义的进度。

\n", - "Code": "\r\n \r\n \r\n @if (_custom)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n }\r\n\r\n\r\n@code {\r\n private string _value = \"\";\r\n private bool _custom = true;\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.contents.Progress", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 3, - "Name": "customValidation", - "Title": "自定义验证", - "Description": "

虽然内置的 MForm 组件可以帮助你简化验证过程,但你仍可以简单的自行控制它。(TODO: 等待表单验证进一步完善)

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r=>r\"\r\n Label=\"Country\"\r\n Placeholder=\"Select...\"\r\n required>\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n @if (_formHasErrors)\r\n {\r\n \r\n \r\n \r\n mdi-refresh\r\n \r\n \r\n \r\n Refresh form\r\n \r\n \r\n }\r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public static class Rules\r\n {\r\n public static IEnumerable> Name => new List>()\r\n {\r\n v => !string.IsNullOrEmpty(v) ? true : \"This field is required\"\r\n };\r\n\r\n public static IEnumerable> Address => new List>()\r\n {\r\n v => !string.IsNullOrEmpty(v) ? true : \"This field is required\",\r\n v => !string.IsNullOrEmpty(v) && v.Length <= 25 ? true : \"Address must be less than 25 characters\"\r\n };\r\n\r\n public static IEnumerable> City => new List>()\r\n {\r\n v => !string.IsNullOrEmpty(v) ? true : \"This field is required\"\r\n };\r\n\r\n public static IEnumerable> State => new List>()\r\n {\r\n v => !string.IsNullOrEmpty(v) ? true : \"This field is required\"\r\n };\r\n\r\n public static IEnumerable> Zip => new List>()\r\n {\r\n v => !string.IsNullOrEmpty(v) ? true : \"This field is required\"\r\n };\r\n\r\n public static IEnumerable> Country => new List>()\r\n {\r\n v => !string.IsNullOrEmpty(v) ? true : \"This field is required\"\r\n };\r\n }\r\n\r\n private string _name;\r\n private string _address;\r\n private string _city;\r\n private string _state;\r\n private string _zip;\r\n private string _country;\r\n private List _errorMessages = new();\r\n private bool _formHasErrors;\r\n private List _countries = new List()\r\n {\r\n \"Afghanistan\", \"Albania\", \"Algeria\", \"Andorra\", \"Angola\", \"Anguilla\", \"Antigua & Barbuda\", \"Argentina\", \"Armenia\", \"Aruba\", \"Australia\", \"Austria\", \"Azerbaijan\", \"Bahamas\", \"Bahrain\", \"Bangladesh\", \"Barbados\", \"Belarus\", \"Belgium\", \"Belize\", \"Benin\", \"Bermuda\", \"Bhutan\", \"Bolivia\", \"Bosnia & Herzegovina\", \"Botswana\", \"Brazil\", \"British Virgin Islands\", \"Brunei\", \"Bulgaria\", \"Burkina Faso\", \"Burundi\", \"Cambodia\", \"Cameroon\", \"Cape Verde\", \"Cayman Islands\", \"Chad\", \"Chile\", \"China\", \"Colombia\", \"Congo\", \"Cook Islands\", \"Costa Rica\", \"Cote D Ivoire\", \"Croatia\", \"Cruise Ship\", \"Cuba\", \"Cyprus\", \"Czech Republic\", \"Denmark\", \"Djibouti\", \"Dominica\", \"Dominican Republic\", \"Ecuador\", \"Egypt\", \"El Salvador\", \"Equatorial Guinea\", \"Estonia\", \"Ethiopia\", \"Falkland Islands\", \"Faroe Islands\", \"Fiji\", \"Finland\", \"France\", \"French Polynesia\", \"French West Indies\", \"Gabon\", \"Gambia\", \"Georgia\", \"Germany\", \"Ghana\", \"Gibraltar\", \"Greece\", \"Greenland\", \"Grenada\", \"Guam\", \"Guatemala\", \"Guernsey\", \"Guinea\", \"Guinea Bissau\", \"Guyana\", \"Haiti\", \"Honduras\", \"Hong Kong\", \"Hungary\", \"Iceland\", \"India\", \"Indonesia\", \"Iran\", \"Iraq\", \"Ireland\", \"Isle of Man\", \"Israel\", \"Italy\", \"Jamaica\", \"Japan\", \"Jersey\", \"Jordan\", \"Kazakhstan\", \"Kenya\", \"Kuwait\", \"Kyrgyz Republic\", \"Laos\", \"Latvia\", \"Lebanon\", \"Lesotho\", \"Liberia\", \"Libya\", \"Liechtenstein\", \"Lithuania\", \"Luxembourg\", \"Macau\", \"Macedonia\", \"Madagascar\", \"Malawi\", \"Malaysia\", \"Maldives\", \"Mali\", \"Malta\", \"Mauritania\", \"Mauritius\", \"Mexico\", \"Moldova\", \"Monaco\", \"Mongolia\", \"Montenegro\", \"Montserrat\", \"Morocco\", \"Mozambique\", \"Namibia\", \"Nepal\", \"Netherlands\", \"Netherlands Antilles\", \"New Caledonia\", \"New Zealand\", \"Nicaragua\", \"Niger\", \"Nigeria\", \"Norway\", \"Oman\", \"Pakistan\", \"Palestine\", \"Panama\", \"Papua New Guinea\", \"Paraguay\", \"Peru\", \"Philippines\", \"Poland\", \"Portugal\", \"Puerto Rico\", \"Qatar\", \"Reunion\", \"Romania\", \"Russia\", \"Rwanda\", \"Saint Pierre & Miquelon\", \"Samoa\", \"San Marino\", \"Satellite\", \"Saudi Arabia\", \"Senegal\", \"Serbia\", \"Seychelles\", \"Sierra Leone\", \"Singapore\", \"Slovakia\", \"Slovenia\", \"South Africa\", \"South Korea\", \"Spain\", \"Sri Lanka\", \"St Kitts & Nevis\", \"St Lucia\", \"St Vincent\", \"St. Lucia\", \"Sudan\", \"Suriname\", \"Swaziland\", \"Sweden\", \"Switzerland\", \"Syria\", \"Taiwan\", \"Tajikistan\", \"Tanzania\", \"Thailand\", \"Timor L\\\"Este\", \"Togo\", \"Tonga\", \"Trinidad & Tobago\", \"Tunisia\", \"Turkey\", \"Turkmenistan\", \"Turks & Caicos\", \"Uganda\", \"Ukraine\", \"United Arab Emirates\", \"United Kingdom\", \"United States\", \"Uruguay\", \"Uzbekistan\", \"Venezuela\", \"Vietnam\", \"Virgin Islands (US)\", \"Yemen\", \"Zambia\", \"Zimbabwe\"\r\n };\r\n\r\n public void ResetForm()\r\n {\r\n _formHasErrors = false;\r\n }\r\n\r\n public void Submit()\r\n {\r\n\r\n }\r\n }\r\n", - "Type": "Demos.Components.FormInputs.children.TextField.misc.CustomValidation", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 3, - "Name": "fullWidthWithCounter", - "Title": "带计数器的全宽度", - "Description": "

全宽文本字段允许您创建无限输入。 在此示例中,我们使用 MDivider 分隔字段。

\n", - "Code": "\r\n item\"\r\n ItemValue=\"item => item\"\r\n Chips\r\n Label=\"To\"\r\n FullWidth\r\n HideDetails=true\r\n HideNoData\r\n HideSelected\r\n Multiple\r\n SingleLine>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n readonly List items = new() { \"Trevor Handsen\", \"Alex Nelson\" };\r\n\r\n List selected = new() { \"Trevor Handsen\" };\r\n\r\n string subject = \"Plans for the weekend\";\r\n\r\n string title = \"Hi,\\nI just wanted to check in and see if you had any plans the upcoming weekend. We are thinking of heading up to Napa\";\r\n\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.misc.FullWidthWithCounter", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 3, - "Name": "passwordInput", - "Title": "密码输入", - "Description": "

使用password类型可以与附加图标和回调一起使用,以控制可见性。

\n", - "Code": "@using System.ComponentModel.DataAnnotations\r\n\r\n \r\n \r\n \r\n _show1 = !_show1\">\r\n \r\n \r\n\r\n \r\n _show2 = !_show2\">\r\n \r\n \r\n\r\n \r\n _show3 = !_show3\">\r\n \r\n \r\n\r\n \r\n _show4 = !_show4\">\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private bool _show1 = false;\r\n private bool _show2 = true;\r\n private bool _show3 = false;\r\n private bool _show4 = false;\r\n private Model _model = new()\r\n {\r\n Password1 = \"Password\",\r\n Password2 = \"wqfasds\",\r\n Password3 = \"wqfasds\",\r\n Password4 = \"Pa\"\r\n };\r\n\r\n public class Model\r\n {\r\n [Required(ErrorMessage =\"Required.\")]\r\n [MinLength(8,ErrorMessage =\"Min 8 characters\")]\r\n public string Password1 { get; set; }\r\n [Required(ErrorMessage =\"Required.\")]\r\n [MinLength(8,ErrorMessage =\"Min 8 characters\")]\r\n public string Password2 { get; set; }\r\n [Required(ErrorMessage =\"Required.\")]\r\n [MinLength(8,ErrorMessage =\"Min 8 characters\")]\r\n public string Password3 { get; set; }\r\n [Required(ErrorMessage =\"Required.\")]\r\n public string Password4 { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.FormInputs.children.TextField.misc.PasswordInput", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/TextField.svg", - "Cols": 1, - "Related": [ - "/components/forms", - "/components/selects", - "/components/textarea" - ], - "Subtitle": "文本框", - "Title": "Text fields", - "Type": "文本框" - }, - { - "Desc": "

MASA.Blazor 配备了一个使用 flexbox 构建的 12 格网格系统。 网格用于在应用的内容中创建特定的布局。 它包含 5 种类型的媒体断点,用于针对特定的屏幕尺寸或方向,xs、sm、md、lg 和 xl。 这些分辨率在视口断点表中定义如下,可以通过自定义断点进行修改。

\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Material Design 断点\n
设备代码类型像素范围
\n \n Extra small (超小号)\n xs小型号到大型号的手机< 600px
\n \n Small (小号)\n sm小型号到中型号的平板600px > < 960px
\n \n Medium (中号)\n md大型号平板到手提电脑960px > < 1264px*
\n \n Large (大号)\n lg桌面端1264px > < 1904px*
\n \n Extra large (超大号)\n xl4K 和超宽屏幕> 1904px*
\n 桌面端上浏览器滚动条的宽度为 * -16px \n
\n \n 规格\n
\n
\n
\n\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n", - "功能组件": "\n
    \n
  • MContainerMContainer 提供了将你的网站内容居中和水平填充的功能。 你还可以使用 Fluid 属性将容器在所有视口和设备尺寸上完全扩展。
  • \n
  • MColMCol 包裹内容,它必须是 MRow 的直接子集。
  • \n
  • MRowMRowMCol 的容器组件。 它使用 Flex 属性来控制其内栏的布局和流。 它使用的是 24px 的标准间隔。 这可以用 Dense 属性来减小,或者用 NoGutters\n来完全去除。
  • \n
  • MSpacerMSpacer 是一个基本而又通用的间隔组件,用于分配父子组件之间的剩余宽度。 当一个 MSpacer 放置在子组件之前或之后时,组件将推到其容器的左右两侧。 当多个组件之间使用多个 MSpacer 时,剩余的宽度将均匀地分布在每个 spacer 之间。
  • \n
\n", - "Helper Classes": "\n

FillHeight applies height: 100% to an element. When applied to MContainer it will also align-items: center.

\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.5722435+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

MASA.Blazor 网格深受 Bootstrap 网格 的启发。 它使用一系列的容器、行、列来整合内容的布局和排列。 如果你不熟悉\nflexbox,阅读 CSS Tricks flexbox 指南,了解背景、术语、指南和代码片段。

\n", - "Code": "\r\n \r\n @for (var i = 0; i < 3; i++)\r\n {\r\n \r\n \r\n One of three columns\r\n \r\n \r\n }\r\n \r\n\r\n", - "Type": "Demos.Components.Grid.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "align", - "Title": "垂直对齐", - "Description": "

使用 AlignAlignSelf 属性来改变 flex 项目及其父项的垂直对齐方式。

\n", - "Code": "
\r\n @foreach (var align in _alignments)\r\n {\r\n \r\n \r\n @for (int i = 0; i < 3; i++)\r\n {\r\n \r\n \r\n One of three columns\r\n \r\n \r\n }\r\n \r\n \r\n }\r\n\r\n \r\n \r\n @foreach (var align in _alignments)\r\n {\r\n \r\n \r\n One of three columns\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var align in _alignments)\r\n {\r\n \r\n \r\n One of three columns\r\n \r\n \r\n }\r\n \r\n \r\n
\r\n\r\n@code{\r\n private string[] _alignments = new string[]\r\n {\r\n \"start\",\r\n \"center\",\r\n \"end\"\r\n };\r\n}\r\n", - "Type": "Demos.Components.Grid.props.Align", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "breakpointSizing", - "Title": "断点尺寸", - "Description": "

列将自动占用其父容器内相等的空间。 这可以使用 Cols 属性来修改。 你还可以使用 SmMdLgXl 属性来进一步定义不同视口尺寸下的列占用空间。

\n", - "Code": "\r\n @for (int i = 1; i <= 2; i++)\r\n {\r\n var n = i + 1;\r\n \r\n @for (int j = 0; j < n + 1; j++)\r\n {\r\n var k = j + 1;\r\n \r\n \r\n @($\"{ k } of { n + 1 }\")\r\n \r\n \r\n }\r\n \r\n }\r\n", - "Type": "Demos.Components.Grid.props.BreakpointSizing", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "justify", - "Title": "水平对齐", - "Description": "

使用 Justify 属性改变 flex 项目的水平对齐方式。

\n", - "Code": "\r\n @foreach (var j in _justify)\r\n {\r\n \r\n @for (int i = 0; i < 2; i++)\r\n {\r\n \r\n \r\n One of two columns\r\n \r\n \r\n }\r\n \r\n }\r\n\r\n\r\n@code{\r\n private string[] _justify = new string[]\r\n {\r\n \"start\",\r\n \"center\",\r\n \"end\",\r\n \"space-around\",\r\n \"space-between\"\r\n };\r\n}", - "Type": "Demos.Components.Grid.props.Justify", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "noGutters", - "Title": "无间隔", - "Description": "

你可以使用 NoGutters 属性从 MRow 中移除负值外边距,从其直接子 MCol 中移除内边距。

\n", - "Code": "\r\n \r\n \r\n \r\n .col-12 .col-sm-6 .col-md-8\r\n \r\n \r\n \r\n \r\n .col-6 .col-md-4\r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Grid.props.NoGutters", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "offset", - "Title": "偏移", - "Description": "

偏移对于控制元素不可见或控制内容位置很有用。 就像断点一样,你可以为任何可用的尺寸设置一个偏移。 这使你可以根据自己的需求精确地调整应用布局。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n .col-md-4\r\n \r\n \r\n \r\n \r\n .col-md-4 .offset-md-4\r\n \r\n \r\n \r\n \r\n \r\n \r\n .col-md-3 .offset-md-3\r\n \r\n \r\n \r\n \r\n .col-md-3 .offset-md-3\r\n \r\n \r\n \r\n \r\n \r\n \r\n .col-md-6 .offset-md-3\r\n \r\n \r\n \r\n \r\n
", - "Type": "Demos.Components.Grid.props.Offset", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "offsetBreakpoint", - "Title": "偏移断点", - "Description": "

偏移也可以在每个断点的基础上设置。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n .col-sm-5 .col-md-6\r\n \r\n \r\n \r\n \r\n .col-sm-5 .offset-sm-2 .col-md-6 .offset-md-0\r\n \r\n \r\n \r\n \r\n \r\n \r\n .col-sm-6 .col-md-5 .col-lg-6\r\n \r\n \r\n \r\n \r\n .col-sm-6 .col-md-5 .offset-md-2 .col-lg-6 .offset-lg-0\r\n \r\n \r\n \r\n \r\n
", - "Type": "Demos.Components.Grid.props.OffsetBreakpoint", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "order", - "Title": "排序", - "Description": "

你可以控制网格项目的排序。 与偏移一样,你可以为不同的尺寸设置不同的顺序。 设计专门的屏幕布局,以适应任何应用。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n First, but unordered\r\n \r\n \r\n \r\n \r\n Second, but last\r\n \r\n \r\n \r\n \r\n Third, but first\r\n \r\n \r\n \r\n \r\n
", - "Type": "Demos.Components.Grid.props.Order", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "orderFirstAndLast", - "Title": "先后排序", - "Description": "

你也可以明确指定 FirstLast,这将分别为 order CSS 属性分配 -113 值。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n First, but last\r\n \r\n \r\n \r\n \r\n Second, but unordered\r\n \r\n \r\n \r\n \r\n Third, but first\r\n \r\n \r\n \r\n \r\n
", - "Type": "Demos.Components.Grid.props.OrderFirstAndLast", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "columnWrapping", - "Title": "换行列", - "Description": "

当在给定的行中放置了超过 12 个列时(没有使用 .flex-nowrap),每一组额外的列都将被包入新的行。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n .col-9\r\n \r\n \r\n \r\n \r\n .col-4
Since 9 + 4 = 13 > 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.\r\n
\r\n
\r\n \r\n \r\n .col-6
Subsequent columns continue along the new line.\r\n
\r\n
\r\n
\r\n
\r\n
", - "Type": "Demos.Components.Grid.misc.ColumnWrapping", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 3, - "Name": "equalWidthColumns", - "Title": "等宽列", - "Description": "

你可以把等宽列分成多行。\n虽然旧版本的浏览器有解决办法,但仍有一个 Safari flexbox 问题。\n如果你是最新的 Safari,无需担心这个问题。

\n", - "Code": "
\r\n \r\n \r\n @for (int index = 0; index < 4; index++)\r\n {\r\n \r\n \r\n Column\r\n \r\n \r\n if (index == 1)\r\n {\r\n \r\n }\r\n }\r\n \r\n \r\n
", - "Type": "Demos.Components.Grid.misc.EqualWidthColumns", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 4, - "Name": "growAndShrink", - "Title": "增长与收缩", - "Description": "

默认情况下,flex 组件将自动填充行或列中的可用空间。 没有指定具体尺寸时,它们也会相对于 flex 容器中的其他 flex 项目收缩。 你可以使用 cols 属性定义 MCol 的列宽,并提供 1 到 12 的值

\n", - "Code": "
\r\n \r\n \r\n @for (var index = 0; index < 4; index++)\r\n {\r\n \r\n \r\n col\r\n \r\n \r\n }\r\n \r\n \r\n @for (int index = 0; index < 2; index++)\r\n {\r\n \r\n \r\n col-@(index == 0 ? 8 : 4)\r\n \r\n \r\n }\r\n \r\n \r\n
", - "Type": "Demos.Components.Grid.misc.GrowAndShrink", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 5, - "Name": "marginHelpers", - "Title": "外边距辅助", - "Description": "

使用外边距工具类可以强行把同级列分开。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n .col-md-4\r\n \r\n \r\n \r\n \r\n .col-md-4 .ml-auto\r\n \r\n \r\n \r\n \r\n \r\n \r\n .col-md-3 .ml-md-auto\r\n \r\n \r\n \r\n \r\n .col-md-3 .ml-md-auto\r\n \r\n \r\n \r\n \r\n \r\n \r\n .col-auto .mr-auto\r\n \r\n \r\n \r\n \r\n .col-auto\r\n \r\n \r\n \r\n \r\n
\r\n", - "Type": "Demos.Components.Grid.misc.MarginHelpers", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 5, - "Name": "nested", - "Title": "嵌套网格", - "Description": "

与其他框架类似,网格可以被嵌套,以实现非常自定义的布局。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n Level 1: .col-sm-9\r\n \r\n \r\n \r\n \r\n Level 2: .col-8 .col-sm-6\r\n \r\n \r\n \r\n \r\n Level 3: .col-4 .col-sm-6\r\n \r\n \r\n \r\n \r\n \r\n \r\n
", - "Type": "Demos.Components.Grid.misc.Nested", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 5, - "Name": "oneColumnWidth", - "Title": "一列宽度", - "Description": "

使用自动布局时,你可以只定义一列的宽度,并且仍然可以让它的同级元素围绕它自动调整大小。

\n", - "Code": "
\r\n \r\n \r\n @for (var index = 0; index < 3; index++)\r\n {\r\n var localVariable = index + 1;\r\n \r\n \r\n @localVariable of 3 @(localVariable == 2 ? \"(wider)\" : \"\")\r\n \r\n \r\n }\r\n \r\n \r\n @for (int index = 0; index < 3; index++)\r\n {\r\n var localVariable = index + 1;\r\n \r\n \r\n @localVariable of 3 @(localVariable == 2 ? \"(wider)\" : \"\")\r\n \r\n \r\n }\r\n \r\n \r\n
", - "Type": "Demos.Components.Grid.misc.OneColumnWidth", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 5, - "Name": "rowAndColumnBreakpoints", - "Title": "行和列断点", - "Description": "

根据分辨率动态地改变你的布局。 (调整你的屏幕大小,并观看顶部 row 布局在 sm、md 和 lg 断点上的变化)

\n", - "Code": "\r\n \r\n @for (int index = 0; index < 2; index++)\r\n {\r\n \r\n \r\n col-6\r\n \r\n \r\n }\r\n \r\n \r\n @for (int index = 0; index < 3; index++)\r\n {\r\n \r\n \r\n col\r\n \r\n \r\n }\r\n \r\n", - "Type": "Demos.Components.Grid.misc.RowAndColumnBreakpoints", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 5, - "Name": "spacers", - "Title": "空白", - "Description": "

MSpacer 组件在你想要填充可用空间或在两个组件之间留出空间时非常有用。

\n", - "Code": "\r\n \r\n \r\n \r\n .col\r\n \r\n \r\n \r\n \r\n \r\n .col\r\n \r\n \r\n \r\n \r\n \r\n \r\n .col-auto\r\n \r\n \r\n \r\n \r\n \r\n .col\r\n \r\n \r\n \r\n \r\n \r\n .col-md-5\r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Grid.misc.Spacers", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 5, - "Name": "uniqueLayouts", - "Title": "独特的布局", - "Description": "

Masa.Blazor 网格系统的强大和灵活性使你能够创建出色的用户界面。

\n", - "Code": "\r\n \r\n \r\n \r\n .col-12 .col-md-8\r\n \r\n \r\n \r\n \r\n .col-6 .col-md-4\r\n \r\n \r\n \r\n\r\n \r\n @for (int index = 0; index < 3; index++)\r\n {\r\n \r\n \r\n .col-6 .col-md-4\r\n \r\n \r\n }\r\n \r\n\r\n \r\n @for (int index = 0; index < 2; index++)\r\n {\r\n \r\n \r\n .col-6\r\n \r\n \r\n }\r\n \r\n", - "Type": "Demos.Components.Grid.misc.UniqueLayouts", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 5, - "Name": "variableContentWidth", - "Title": "可变内容宽度", - "Description": "

为列分配断点宽度可以根据其内容的性质宽度来配置调整大小。

\n", - "Code": "\r\n \r\n \r\n \r\n 1 of 3\r\n \r\n \r\n \r\n \r\n Variable width content\r\n \r\n \r\n \r\n \r\n 3 of 3\r\n \r\n \r\n \r\n \r\n \r\n \r\n 1 of 3\r\n \r\n \r\n \r\n \r\n Variable width content\r\n \r\n \r\n \r\n \r\n 3 of 3\r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Grid.misc.VariableContentWidth", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Grid.svg", - "Cols": 1, - "Related": [ - "/styles/flex", - "/features/breakpoints", - "/styles/display" - ], - "Subtitle": "网格", - "Title": "Grid system", - "Type": "网格" - }, - { - "Desc": "

MButtonGroup 组件是专门针对 MButton 构建的 MItemGroup 的简单包装器。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-09T15:11:03.9854873+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

切换按钮允许您创建一个样式化的按钮组,可以使用 @bind-Value(s) 下选择或切换。

\n", - "Code": "\r\n \r\n

Exclusive

\r\n \r\n \r\n mdi-format-align-left\r\n \r\n \r\n mdi-format-align-center\r\n \r\n \r\n mdi-format-align-right\r\n \r\n \r\n mdi-format-align-justify\r\n \r\n \r\n
\r\n \r\n

Multiple

\r\n \r\n \r\n mdi-format-bold\r\n \r\n \r\n mdi-format-italic\r\n \r\n \r\n mdi-format-underline\r\n \r\n \r\n mdi-format-color-fill\r\n \r\n \r\n
\r\n \r\n

No Options Selected

\r\n \r\n \r\n mdi-format-align-left\r\n \r\n \r\n mdi-format-align-center\r\n \r\n \r\n mdi-format-align-right\r\n \r\n \r\n mdi-format-align-justify\r\n \r\n \r\n
\r\n \r\n

Mandatory

\r\n \r\n \r\n mdi-format-align-left\r\n \r\n \r\n mdi-format-align-center\r\n \r\n \r\n mdi-format-align-right\r\n \r\n \r\n mdi-format-align-justify\r\n \r\n \r\n
\r\n \r\n

Text Options

\r\n \r\n \r\n Left\r\n \r\n \r\n Center\r\n \r\n \r\n Right\r\n \r\n \r\n Justify\r\n \r\n \r\n
\r\n \r\n

Text & Icon Options

\r\n \r\n \r\n Left\r\n \r\n mdi-format-align-left\r\n \r\n \r\n \r\n Center\r\n \r\n mdi-format-align-center\r\n \r\n \r\n \r\n Right\r\n \r\n mdi-format-align-right\r\n \r\n \r\n \r\n Justify\r\n \r\n mdi-format-align-justify\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n@code {\r\n StringNumber text = \"center\";\r\n StringNumber icon = \"justify\";\r\n StringNumber toggleNone;\r\n StringNumber toggleOne = 0;\r\n StringNumber toggleExclusive = 2;\r\n List toggleMultiple = new() { 0, 1, 2 };\r\n}\r\n", - "Type": "Demos.Components.Groups.children.ButtonGroup.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "mandatory", - "Title": "必填项", - "Description": "

MButtonGroup 带有 mandatory 属性将总是有一个(被选中的)值。

\n", - "Code": "\r\n \r\n \r\n \r\n

\r\n Mandatory\r\n

\r\n
\r\n \r\n \r\n mdi-format-align-left\r\n \r\n \r\n mdi-format-align-center\r\n \r\n \r\n mdi-format-align-right\r\n \r\n \r\n mdi-format-align-justify\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n@code {\r\n StringNumber value;\r\n}", - "Type": "Demos.Components.Groups.children.ButtonGroup.props.Mandatory", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "multiple", - "Title": "多选", - "Description": "

MButtonGroup 带有 multiple 属性将允许用户选中多个值并以数组的形式返回。

\n", - "Code": "\r\n \r\n \r\n \r\n

\r\n Multiple\r\n

\r\n
\r\n \r\n \r\n mdi-format-align-left\r\n \r\n \r\n mdi-format-align-center\r\n \r\n \r\n mdi-format-align-right\r\n \r\n \r\n mdi-format-align-justify\r\n \r\n \r\n \r\n Values: [@(string.Join(',', values))]\r\n \r\n
\r\n
\r\n
\r\n\r\n@code {\r\n List values = new();\r\n}", - "Type": "Demos.Components.Groups.children.ButtonGroup.props.Multiple", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "rounded", - "Title": "圆角", - "Description": "

你可以使用 rounded 属性让 MButtonGroup 变成圆角样式。

\n", - "Code": "\r\n \r\n \r\n \r\n

\r\n Rounded\r\n

\r\n
\r\n \r\n \r\n mdi-format-align-left\r\n \r\n \r\n mdi-format-align-center\r\n \r\n \r\n mdi-format-align-right\r\n \r\n \r\n mdi-format-align-justify\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n@code {\r\n StringNumber value = \"left\";\r\n}", - "Type": "Demos.Components.Groups.children.ButtonGroup.props.Rounded", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "toolbar", - "Title": "工具栏(TODO:OverflowButton)", - "Description": "

可与 MToolbar 轻松集成自定义按钮方案。

\n", - "Code": "\r\n @* TODO: v-overflow-btn *@\r\n @* *@\r\n\r\n\r\n \r\n\r\n @* *@\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n mdi-format-bold\r\n \r\n\r\n \r\n mdi-format-italic\r\n \r\n\r\n \r\n mdi-format-underline\r\n \r\n\r\n \r\n mdi-format-color-fill\r\n \r\n \r\n\r\n
\r\n\r\n \r\n \r\n mdi-format-align-left\r\n \r\n\r\n \r\n mdi-format-align-center\r\n \r\n\r\n \r\n mdi-format-align-right\r\n \r\n\r\n \r\n mdi-format-align-justify\r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n List dropdownFont = new() {\"Arial\", \"Calibri\", \"Courier\", \"Verdana\"};\r\n List dropdownEdit = new() {\"100%\", \"75%\", \"50%\", \"0%\"};\r\n StringNumber toggleExclusive = 2;\r\n List toggleMultiple = new() {1, 2, 3};\r\n\r\n}", - "Type": "Demos.Components.Groups.children.ButtonGroup.misc.Toolbar", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 5, - "Name": "wysiwyg", - "Title": "WYSIWYG/所见即所得", - "Description": "

对类似的操作进行分组,并设计自己的 WYSIWYG 组件。

\n", - "Code": "\r\n \r\n \r\n\r\n \r\n \r\n \r\n mdi-format-italic\r\n \r\n\r\n \r\n mdi-format-bold\r\n \r\n\r\n \r\n mdi-format-underline\r\n \r\n\r\n \r\n \r\n \r\n mdi-format-color-text\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n mdi-format-align-center\r\n \r\n\r\n \r\n mdi-format-align-left\r\n \r\n\r\n \r\n mdi-format-align-right\r\n \r\n \r\n \r\n\r\n \r\n \r\n @foreach (var n in numbers)\r\n {\r\n @n\r\n }\r\n\r\n \r\n\r\n \r\n @foreach (var l in letters)\r\n {\r\n @l\r\n }\r\n \r\n \r\n\r\n\r\n\r\n@code {\r\n\r\n StringNumber alignment = 1;\r\n List formatting = new();\r\n List numbers = new() {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};\r\n List letters = \"q w e r t y u i o p\".Split(\" \").ToList();\r\n string value = \"Toggle button requirements.\\r\\rHave at least three toggle buttons in a group\\rLabel buttons with text, an icon, or\";\r\n\r\n}", - "Type": "Demos.Components.Groups.children.ButtonGroup.misc.WYSIWYG", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ButtonGroup.svg", - "Cols": 1, - "Related": [ - "/components/buttons", - "/components/icons", - "/components/selection-controls" - ], - "Subtitle": "按钮组", - "Title": "Button groups", - "Type": "按钮组" - }, - { - "Desc": "

MChipGroup 通过提供可分组的功能来增强 MChip 组件。 它使用纸片来创建选择组。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-09T10:30:56.8128962+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "column", - "Title": "列", - "Description": "

使用 Column 属性的纸片组可以包装它们的纸片。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n mdi-content-save-cog-outline\r\n \r\n\r\n \r\n mdi-check-bold\r\n \r\n \r\n\r\n
\r\n \r\n @foreach (var tag in _tags)\r\n {\r\n \r\n @tag\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n@code{\r\n private string[] _tags = new string[]\r\n {\r\n \"Work\",\r\n \"Home Improvement\",\r\n \"Vacation\",\r\n \"Food\",\r\n \"Drawers\",\r\n \"Shopping\",\r\n \"Art\",\r\n \"Tech\",\r\n \"Creative Writing\"\r\n };\r\n}", - "Type": "Demos.Components.Groups.children.ChipGroup.props.Column", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "filterResults", - "Title": "过滤结果", - "Description": "

使用 Filter 属性轻松创建提供额外反馈的纸片组。 这就与用户选中的纸片产生了一种可供选择的视觉样式。

\n", - "Code": "\r\n \r\n \r\n mdi-close\r\n \r\n Filter results\r\n \r\n\r\n \r\n

\r\n Choose amenities\r\n

\r\n\r\n \r\n \r\n Elevator\r\n \r\n \r\n Washer / Dryer\r\n \r\n \r\n Fireplace\r\n \r\n \r\n Wheelchair access\r\n \r\n \r\n Dogs ok\r\n \r\n \r\n Cats ok\r\n \r\n \r\n
\r\n\r\n \r\n

\r\n Choose neighborhoods\r\n

\r\n\r\n \r\n \r\n Snowy Rock Place\r\n \r\n \r\n Honeylane Circle\r\n \r\n \r\n Donna Drive\r\n \r\n \r\n Elaine Street\r\n \r\n \r\n Court Street\r\n \r\n \r\n Kennedy Park\r\n \r\n \r\n
\r\n\r\n\r\n@code {\r\n\r\n List amenities = new() {1, 4};\r\n List neighborhoods = new() {1};\r\n\r\n}", - "Type": "Demos.Components.Groups.children.ChipGroup.props.FilterResults", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "mandatory", - "Title": "必填项", - "Description": "

具有 Mandatory 属性的纸片组必须始终选择一个值。

\n", - "Code": "\r\n \r\n \r\n \r\n @foreach (var tag in _tags)\r\n {\r\n \r\n @tag\r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string[] _tags = new string[]\r\n {\r\n \"Work\",\r\n \"Home Improvement\",\r\n \"Vacation\",\r\n \"Food\",\r\n \"Drawers\",\r\n \"Shopping\",\r\n \"Art\",\r\n \"Tech\",\r\n \"Creative Writing\"\r\n };\r\n}", - "Type": "Demos.Components.Groups.children.ChipGroup.props.Mandatory", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "multiple", - "Title": "多选", - "Description": "

具有 Multiple prop的纸片组可以选择多个值。

\n", - "Code": "\r\n \r\n \r\n \r\n @foreach (var tag in _tags)\r\n {\r\n \r\n @tag\r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private string[] _tags = new string[]\r\n {\r\n \"Work\",\r\n \"Home Improvement\",\r\n \"Vacation\",\r\n \"Food\",\r\n \"Drawers\",\r\n \"Shopping\",\r\n \"Art\",\r\n \"Tech\",\r\n \"Creative Writing\"\r\n };\r\n}", - "Type": "Demos.Components.Groups.children.ChipGroup.props.Multiple", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "productCard", - "Title": "产品卡", - "Description": "

MChip 组件可以有一个用于其model的明确值。 这会传递到 MChipGroup 组件并且在您不想使用纸片索引作为其值时非常有用。

\n", - "Code": "\r\n \r\n

\r\n Shirt Blouse\r\n

\r\n \r\n $44.50\r\n
\r\n\r\n \r\n Our blouses are available in 8 colors. You can custom order a built-in arch support for any of the models.\r\n \r\n\r\n \r\n\r\n \r\n Select size\r\n\r\n \r\n @foreach (var size in sizes)\r\n {\r\n \r\n @size\r\n \r\n }\r\n \r\n \r\n\r\n \r\n \r\n Add to Cart\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber selection = \"08\";\r\n\r\n List sizes = new() {\"04\", \"06\", \"08\", \"10\", \"12\", \"14\"};\r\n\r\n}", - "Type": "Demos.Components.Groups.children.ChipGroup.misc.ProductCard", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 1, - "Name": "toothbrushCard", - "Title": "牙刷卡", - "Description": "

纸片组允许创建自定义接口,这些接口执行与项组或单选控件相同的操作,但在风格上有所不同。

\n", - "Code": "\r\n \r\n

\r\n Toothbrush\r\n

\r\n \r\n $4.99\r\n
\r\n\r\n \r\n Our company takes pride in making handmade brushes.\r\n Our toothbrushes are available in 4 different bristel types, from extra soft to hard.\r\n \r\n\r\n \r\n\r\n \r\n Select type\r\n\r\n \r\n Extra Soft\r\n Soft\r\n Medium\r\n Hard\r\n \r\n \r\n\r\n \r\n \r\n Add to Cart\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber selection = 2;\r\n\r\n}", - "Type": "Demos.Components.Groups.children.ChipGroup.misc.ToothbrushCard", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Chip.svg", - "Cols": 1, - "Related": [ - "/components/chips", - "/components/slide-groups", - "/components/item-groups" - ], - "Subtitle": "纸片组", - "Title": "Chip groups", - "Type": "纸片组" - }, - { - "Desc": "

MItemGroup 提供从任何组件中创建一组可选项的功能。 这是 MTabsMcarousel 等组件的基本功能。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-09T10:30:56.8178968+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

MItemGroup 的核心用法是创建由 Value 控制的任何对象的组。

\n", - "Code": "\r\n \r\n \r\n @foreach (var i in Enumerable.Range(0, 3))\r\n {\r\n \r\n \r\n @{\r\n \r\n \r\n \r\n Active\r\n \r\n \r\n \r\n }\r\n \r\n \r\n }\r\n \r\n \r\n", - "Type": "Demos.Components.Groups.children.ItemGroup.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "activeClass", - "Title": "激活类", - "Description": "

The ActiveClass property allows you to set custom CSS class on active items.

\n", - "Code": "\r\n \r\n \r\n @foreach (var n in Enumerable.Range(0, 3))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n Active\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n", - "Type": "Demos.Components.Groups.children.ItemGroup.props.ActiveClass", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "mandatory", - "Title": "必填项", - "Description": "

Mandatory 项目组必须至少选择一个项目。

\n", - "Code": "\r\n \r\n \r\n @foreach (var i in Enumerable.Range(0, 3))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n Active\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n", - "Type": "Demos.Components.Groups.children.ItemGroup.props.Mandatory", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "multiple", - "Title": "多选", - "Description": "

项目组可以选择 多个 个项目。

\n", - "Code": "\r\n \r\n \r\n @foreach (var i in Enumerable.Range(0, 3))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n Active\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n", - "Type": "Demos.Components.Groups.children.ItemGroup.props.Multiple", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "chips", - "Title": "Chips(纸片)", - "Description": "

轻松绑定自定义纸片组。

\n", - "Code": "\r\n \r\n Submit a post\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Tags\r\n\r\n @foreach (var i in Enumerable.Range(1, 8))\r\n {\r\n \r\n \r\n @($\"Tag {i}\")\r\n \r\n \r\n }\r\n \r\n\r\n \r\n\r\n \r\n \r\n Post\r\n \r\n \r\n\r\n\r\n@code {\r\n string title = \"My new post\";\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\";\r\n}", - "Type": "Demos.Components.Groups.children.ItemGroup.misc.Chips", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 4, - "Name": "selection", - "Title": "选择", - "Description": "

当图标允许选择或取消选择单个选项(例如将项目标记为收藏)时,它们可以用作切换按钮。

\n", - "Code": "\r\n \r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n \r\n @(context.Active ? \"mdi-heart\" : \"mdi-heart-outline\")\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n \"backgrounds/bg.jpg\",\r\n \"backgrounds/md.jpg\",\r\n \"backgrounds/bg-2.jpg\",\r\n \"backgrounds/md2.jpg\",\r\n };\r\n\r\n List selected = new();\r\n\r\n}", - "Type": "Demos.Components.Groups.children.ItemGroup.misc.Selection", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ItemGroup.svg", - "Cols": 1, - "Related": [ - "/components/button-groups", - "/components/carousels", - "/components/tabs" - ], - "Subtitle": "项目组", - "Title": "Item groups", - "Type": "项目组" - }, - { - "Desc": "

MListItemGroup 提供创建一组可选择的 MListItem 的能力。MListItemGroup 组件利用其核心的 MItemGroup 来为交互式列表提供一个简洁的接口。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-09T15:11:04.0310546+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

默认情况下,ListItemGroup 操作类似于 ItemGroup 。如果没有提供 Value,则该群组将基于其索引提供默认值。

\n", - "Code": "\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n static readonly Item[] items =\r\n {\r\n new()\r\n {\r\n Icon = \"mdi-inbox\",\r\n Text = \"Inbox\"\r\n },\r\n new()\r\n {\r\n Icon = \"mdi-star\",\r\n Text = \"Star\"\r\n },\r\n new()\r\n {\r\n Icon = \"mdi-send\",\r\n Text = \"Send\"\r\n },\r\n new()\r\n {\r\n Icon = \"mdi-email-open\",\r\n Text = \"Drafts\"\r\n }\r\n };\r\n\r\n StringNumber selected = 1;\r\n\r\n public class Item\r\n {\r\n public string Icon { get; set; }\r\n public string Text { get; set; }\r\n }\r\n\r\n}", - "Type": "Demos.Components.Groups.children.ListItemGroup.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "activeClass", - "Title": "激活类", - "Description": "

您可以设置一个在选择项目时将添加的类。

\n", - "Code": "\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @item.icon\r\n \r\n\r\n \r\n @item.text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n\r\n\r\n@code {\r\n\r\n List<(string icon, string text)> items = new()\r\n {\r\n (\"mdi-wifi\", \"Wifi\"),\r\n (\"mdi-bluetooth\", \"Bluetooth\"),\r\n (\"mdi-chart-donut\", \"Data Usage\"),\r\n };\r\n\r\n StringNumber model = 1;\r\n\r\n}", - "Type": "Demos.Components.Groups.children.ListItemGroup.props.ActiveClass", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "mandatory", - "Title": "必填项", - "Description": "

必须至少选定一项。

\n", - "Code": "\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @item.icon\r\n \r\n\r\n \r\n @item.text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List<(string icon, string text)> items = new()\r\n {\r\n (\"mdi-wifi\", \"Wifi\"),\r\n (\"mdi-bluetooth\", \"Bluetooth\"),\r\n (\"mdi-chart-donut\", \"Data Usage\"),\r\n };\r\n\r\n StringNumber model = 1;\r\n\r\n}", - "Type": "Demos.Components.Groups.children.ListItemGroup.props.Mandatory", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "multiple", - "Title": "多选", - "Description": "

您可以一次选择多个项目。

\n", - "Code": "\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @item.icon\r\n \r\n\r\n \r\n @item.text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List<(string icon, string text)> items = new()\r\n {\r\n (\"mdi-wifi\", \"Wifi\"),\r\n (\"mdi-bluetooth\", \"Bluetooth\"),\r\n (\"mdi-chart-donut\", \"Data Usage\"),\r\n };\r\n\r\n List model = new() {1};\r\n\r\n}", - "Type": "Demos.Components.Groups.children.ListItemGroup.props.Multiple", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "flatList", - "Title": "扁平列表", - "Description": "

您可以轻松禁用所选 MListItem 的默认高亮显示。 这为用户的选择创建了一个较低的配置文件。

\n", - "Code": "\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @item.icon\r\n \r\n\r\n \r\n @item.text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List<(string icon, string text)> items = new()\r\n {\r\n (\"mdi-wifi\", \"Wifi\"),\r\n (\"mdi-bluetooth\", \"Bluetooth\"),\r\n (\"mdi-chart-donut\", \"Data Usage\"),\r\n };\r\n\r\n StringNumber model = 1;\r\n\r\n}", - "Type": "Demos.Components.Groups.children.ListItemGroup.misc.FlatList", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 1, - "Name": "selectionControls", - "Title": "选择控件", - "Description": "

使用默认插槽,您可以访问项目内部状态并进行切换。 因为 Active 属性是一个布尔值, 我们使用复选框上的 IsActive prop 将其状态链接到 MListItem

\n", - "Code": "\r\n \r\n \r\n @foreach (var (item,i) in items.Select((v, i) => (v,i)))\r\n {\r\n if (item == \"\")\r\n {\r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List items = new()\r\n {\r\n \"Dog Photos\",\r\n \"Cat Photos\",\r\n \"\",\r\n \"Potatoes\",\r\n \"Carrots\",\r\n };\r\n\r\n List model = new() {\"Carrots\"};\r\n\r\n}", - "Type": "Demos.Components.Groups.children.ListItemGroup.misc.SelectionControls", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/lists", - "/components/item-groups", - "/components/cards" - ], - "Subtitle": "列表项目组", - "Title": "List item groups", - "Type": "列表项目组" - }, - { - "Desc": "

MSlideGroup 组件用于显示伪分页信息。它以 MItemGroup 为核心,为 MTabs\n和 MChipGroup 等组件提供基础。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-09T15:11:04.0260553+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

类似于 MWindow 组件,MSideGroup 允许项目根据需要占用尽可能多的空间,允许用户在提供的信息中水平移动。

\n", - "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 25))\r\n {\r\n \r\n \r\n Options @item\r\n \r\n \r\n }\r\n \r\n", - "Type": "Demos.Components.Groups.children.SlideGroup.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "activeClass", - "Title": "激活类", - "Description": "

ActiveClass 属性允许您在激活的项上设置自定义的 CSS 类。

\n", - "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 15))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n", - "Type": "Demos.Components.Groups.children.SlideGroup.props.ActiveClass", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "centerActive", - "Title": "激活项居中", - "Description": "

使用 CenterActive 参数将使活动的项目永远居中。

\n", - "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 15))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n StringNumber model;\r\n}", - "Type": "Demos.Components.Groups.children.SlideGroup.props.CenterActive", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "customIcons", - "Title": "自定义图标", - "Description": "

您可以使用 NextIconPrevIcon 添加自定义分页图标代替箭头。

\n", - "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 15))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n StringNumber model;\r\n}", - "Type": "Demos.Components.Groups.children.SlideGroup.props.CustomIcons", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "mandatory", - "Title": "必填项", - "Description": "

Mandatory 将使幻灯片组需要至少选择一个项目。

\n", - "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 15))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n StringNumber model;\r\n}", - "Type": "Demos.Components.Groups.children.SlideGroup.props.Mandatory", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "multiple", - "Title": "多选", - "Description": "

您可以通过设置 Multiple 来选择多个项目。

\n", - "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 15))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n List model = new();\r\n\r\n}", - "Type": "Demos.Components.Groups.children.SlideGroup.props.Multiple", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 5, - "Name": "pseudoCarousel", - "Title": "伪轮播", - "Description": "

自定义幻灯片组以在图表上创造性地显示信息。 使用此选项,可以方便地为用户显示辅助信息。

\n", - "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, 15))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n @if (model != null)\r\n {\r\n \r\n \r\n

\r\n Selected @model\r\n

\r\n
\r\n
\r\n }\r\n
\r\n\r\n@code {\r\n\r\n StringNumber model;\r\n\r\n}", - "Type": "Demos.Components.Groups.children.SlideGroup.misc.PseudoCarousel", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/icons", - "/components/carousels", - "/components/tabs" - ], - "Subtitle": "幻灯片组", - "Title": "Slide groups", - "Type": "幻灯片组" - }, - { - "Desc": "

MWindow 组件提供了将内容从一个窗格过渡到另一个窗格的基础功能。 其他组件如MTabsMCarouselMStepper 使用此组件作为其核心。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-09T15:11:03.9940545+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

MWindow 被设计成可以轻松地循环浏览内容,它提供了一个简单的接口来创建真正的自定义实现。

\n", - "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(1, length))\r\n {\r\n \r\n
\r\n \r\n mdi-record\r\n \r\n
\r\n
\r\n }\r\n
\r\n\r\n \r\n \r\n @foreach (var item in Enumerable.Range(1, length))\r\n {\r\n \r\n \r\n \r\n \r\n \r\n Title @item\r\n \r\n \r\n mdi-account\r\n \r\n \r\n\r\n

\r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\r\n

\r\n\r\n

\r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\r\n

\r\n\r\n

\r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\r\n

\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n\r\n StringNumber window;\r\n\r\n int length = 3;\r\n}", - "Type": "Demos.Components.Groups.children.Windows.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 3, - "Name": "customizedArrows", - "Title": "自定义箭头按钮", - "Description": "

可以用 PrevContentNextContent 槽来自定义窗口中的箭头部分。

\n", - "Code": "\r\n \r\n Previous slide\r\n \r\n \r\n Next slide\r\n \r\n \r\n @foreach (var item in Enumerable.Range(1, 5))\r\n {\r\n \r\n \r\n \r\n

Slide @item

\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
", - "Type": "Demos.Components.Groups.children.Windows.props.CustomizedArrows", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "reverse", - "Title": "反转", - "Description": "

反转 MWindow 总是显示反向过渡。

\n", - "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(0, length))\r\n {\r\n \r\n \r\n \r\n

Slide @(item + 1)

\r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n \r\n \r\n mdi-chevron-left\r\n \r\n \r\n @foreach (var item in Enumerable.Range(0, length))\r\n {\r\n \r\n \r\n mdi-record\r\n \r\n \r\n }\r\n \r\n \r\n mdi-chevron-right\r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n int _onboarding = 0;\r\n\r\n StringNumber Onboarding\r\n {\r\n get => _onboarding;\r\n set => _onboarding = value.AsT1;\r\n }\r\n\r\n int length = 3;\r\n\r\n private void HandleNext()\r\n {\r\n _onboarding = _onboarding + 1 == length ? 0 : _onboarding + 1;\r\n }\r\n\r\n private void HandlePrev()\r\n {\r\n _onboarding = _onboarding - 1 < 0 ? length - 1 : _onboarding - 1;\r\n }\r\n\r\n}", - "Type": "Demos.Components.Groups.children.Windows.props.Reverse", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "vertical", - "Title": "垂直", - "Description": "

MWindow 可以是垂直的。 垂直窗口有 Y 轴过渡而不是 X 轴过渡。

\n", - "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(0, length))\r\n {\r\n \r\n \r\n \r\n

Slide @(item + 1)

\r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n \r\n \r\n mdi-chevron-left\r\n \r\n \r\n @foreach (var item in Enumerable.Range(0, length))\r\n {\r\n \r\n \r\n mdi-record\r\n \r\n \r\n }\r\n \r\n \r\n mdi-chevron-right\r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n int _onboarding = 0;\r\n\r\n StringNumber Onboarding\r\n {\r\n get => _onboarding;\r\n set => _onboarding = value.AsT1;\r\n }\r\n\r\n int length = 3;\r\n\r\n private void HandleNext()\r\n {\r\n _onboarding = _onboarding + 1 == length ? 0 : _onboarding + 1;\r\n }\r\n\r\n private void HandlePrev()\r\n {\r\n _onboarding = _onboarding - 1 < 0 ? length - 1 : _onboarding - 1;\r\n }\r\n\r\n}", - "Type": "Demos.Components.Groups.children.Windows.props.Vertical", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "accountCreation", - "Title": "创建账户", - "Description": "

创建具有平滑动画的丰富表单。 MWindow 能够自动跟踪当前的选择索引,来改变过渡动画的方向。 这可以通过 Reverse 参数来手动控制。

\n", - "Code": "\r\n \r\n @currentTitle\r\n @step\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n This is the email you will use to login to your MASA.Blazor account\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Please enter a password for your account\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n

\r\n Welcome to MASA.Blazor\r\n

\r\n Thanks for signing up!\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n step--\">\r\n Back\r\n \r\n \r\n step++\">\r\n Next\r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string email = \"john@vuetifyjs.com\";\r\n int step = 1;\r\n\r\n StringNumber Step\r\n {\r\n get => step;\r\n set => step = value.ToInt32();\r\n }\r\n\r\n public string currentTitle\r\n {\r\n get => step switch\r\n {\r\n 1 => \"Sign-Up\",\r\n 2 => \"Create a password\",\r\n _ => \"Account Created\"\r\n };\r\n }\r\n\r\n}", - "Type": "Demos.Components.Groups.children.Windows.misc.AccountCreation", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 5, - "Name": "onboarding", - "Title": "新手教学", - "Description": "

MWindow 使创建自定义组件(如不同样式的幻灯片)变得很轻松。

\n", - "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(0, length))\r\n {\r\n \r\n \r\n \r\n \r\n Transparent themed, for background-imaged slides. Background color black added for demonstration purposes.\r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n \r\n \r\n mdi-chevron-left\r\n \r\n \r\n @foreach (var item in Enumerable.Range(0, length))\r\n {\r\n \r\n \r\n mdi-record\r\n \r\n \r\n }\r\n \r\n \r\n mdi-chevron-right\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n \r\n int onboarding = 0;\r\n\r\n StringNumber OnBoarding\r\n {\r\n get => onboarding;\r\n set => onboarding = value.AsT1;\r\n }\r\n\r\n int length = 3;\r\n\r\n private void Next()\r\n {\r\n onboarding = onboarding + 1 == length ? 0 : onboarding + 1;\r\n }\r\n\r\n private void Prev()\r\n {\r\n onboarding = onboarding - 1 < 0 ? length - 1 : onboarding - 1;\r\n }\r\n\r\n}", - "Type": "Demos.Components.Groups.children.Windows.misc.Onboarding", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/carousels", - "/components/steppers", - "/components/tabs" - ], - "Subtitle": "窗口", - "Title": "Windows", - "Type": "窗口" - }, - { - "Desc": "

MHover组件为处理任何组件的悬停状态提供了一个干净的接口。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.5762437+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "disabled", - "Title": "禁用", - "Description": "

设置 Disabled 属性可以禁用悬停功能。

\n", - "Code": "\r\n \r\n \r\n \r\n Hover over me!\r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Hover.props.Disabled", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "open", - "Title": "打开和关闭延迟", - "Description": "

通过组合或单独使用 OpenDelayCloseDelay 属性延迟 MHover 事件。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n Open Delay (Mouse enter)\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Close Delay (Mouse leave)\r\n \r\n \r\n \r\n \r\n\r\n\r\n", - "Type": "Demos.Components.Hover.props.Open", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "list", - "Title": "悬停列表", - "Description": "

MHover 可以与 for 结合使用,以便在用户与列表交互时突出单个项目。

\n", - "Code": "\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n

@item.Title

\r\n\r\n
\r\n

@item.Text

\r\n

@item.SubText

\r\n
\r\n\r\n
\r\n @foreach (var icon in _icons)\r\n {\r\n \r\n \r\n @icon\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n@code\r\n{\r\n private string[] _icons = new string[3] { \"mdi-rewind\", \"mdi-play\", \"mdi-fast-forward\" };\r\n private string _transparent = \"rgba(255, 255, 255, 0)\";\r\n\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Text { get; set; }\r\n public string SubText { get; set; }\r\n public string Img { get; set; }\r\n }\r\n\r\n private List _items = new List\r\n {\r\n new ItemDemo\r\n {\r\n Title = \"New Releases\",\r\n Text = \"It's New Release Friday\",\r\n SubText = \"Newly released songs. Updated daily.\",\r\n Img = \"https://images.unsplash.com/photo-1429514513361-8fa32282fd5f?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=3264&q=80\"\r\n },\r\n new ItemDemo\r\n {\r\n Title = \"Rock\",\r\n Text = \"Greatest Rock Hits\",\r\n SubText = \"Lose yourself in rock tunes.\",\r\n Img = \"https://images.unsplash.com/photo-1498038432885-c6f3f1b912ee?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2100&q=80\"\r\n },\r\n new ItemDemo\r\n {\r\n Title = \"Mellow Moods\",\r\n Text = \"Ambient Bass\",\r\n SubText = \"Chill beats to mellow you out.\",\r\n Img = \"https://images.unsplash.com/photo-1542320868-f4d80389e1c4?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=3750&q=80\"\r\n }\r\n };\r\n}\r\n\r\n", - "Type": "Demos.Components.Hover.misc.List", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 2, - "Name": "transition", - "Title": "过渡", - "Description": "

创建高度定制的组件以响应用户交互。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n $14.99\r\n \r\n \r\n \r\n \r\n \r\n mdi-cart\r\n \r\n
\r\n For the perfect meal\r\n
\r\n

\r\n QW cooking utensils\r\n

\r\n
\r\n Our Vintage kitchen utensils delight any chef.
\r\n Made of bamboo by hand\r\n
\r\n
\r\n
\r\n
\r\n\r\n", - "Type": "Demos.Components.Hover.misc.Transition", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/cards", - "/components/images", - "/components/tooltips" - ], - "Subtitle": "悬停", - "Title": "Hover", - "Type": "悬停" - }, - { - "Desc": "

MIcon 组件提供了一系列用于为您的应用程序的各个方面提供上下文的胶卷。 对于所有可用图标的列表, 请访问官方的 Material Design 图标 页面。\n要使用任何这些图标,只需使用 mdi- 前缀,然后是图标名称。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.5812427+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "color", - "Title": "颜色", - "Description": "

使用色彩辅助器,您可以改变标准的暗黑和明亮的主题的图标的颜色。

\n", - "Code": "\r\n \r\n mdi-domain\r\n \r\n\r\n \r\n mdi-message-text\r\n \r\n\r\n \r\n mdi-dialpad\r\n \r\n\r\n \r\n mdi-email\r\n \r\n\r\n \r\n mdi-call-split\r\n \r\n\r\n \r\n mdi-arrow-up-bold-box-outline\r\n \r\n\r\n", - "Type": "Demos.Components.Icon.props.Color", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "click", - "Title": "单击", - "Description": "

将任何单击事件绑定到 MIcon 将自动将光标更改为指针。

\n", - "Code": "\r\n \r\n \r\n Upcoming Changes\r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\r\n \r\n\r\n \r\n \r\n \r\n mdi-chevron-right\r\n \r\n \r\n\r\n\r\n\r\n You clicked next!\r\n\r\n\r\n@code {\r\n\r\n bool show;\r\n\r\n void Next()\r\n {\r\n show = true;\r\n }\r\n\r\n}", - "Type": "Demos.Components.Icon.events.Click", - "Style": "", - "Debug": false, - "Group": 1 - }, - { - "Order": 0, - "Name": "button", - "Title": "按钮", - "Description": "

图标可以在按钮内部使用,以增加动作的重点。

\n", - "Code": "
\r\n
\r\n \r\n Accept\r\n \r\n mdi-checkbox-marked-circle\r\n \r\n \r\n\r\n \r\n Decline\r\n \r\n mdi-cancel\r\n \r\n \r\n\r\n \r\n \r\n mdi-minus-circle\r\n Cancel\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n mdi-arrow-left\r\n Back\r\n \r\n\r\n \r\n \r\n mdi-wrench\r\n \r\n \r\n\r\n \r\n \r\n mdi-cloud-upload\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n mdi-thumb-up\r\n \r\n\r\n \r\n mdi-thumb-down\r\n \r\n
\r\n
", - "Type": "Demos.Components.Icon.misc.Button", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "fontAwesome", - "Title": "Font Awesome", - "Description": "

同样支持 Font Awesome。 只需使用 fa- 预定图标名称。 请注意,您仍然需要在您的项目中包含Font Awesome 图标。

\n", - "Code": "\r\n fas fa-lock\r\n\r\n fas fa-search\r\n\r\n fas fa-list\r\n\r\n fas fa-edit\r\n\r\n fas fa-tachometer-alt\r\n\r\n fas fa-circle-notch fa-spin\r\n", - "Type": "Demos.Components.Icon.misc.FontAwesome", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "materialDesign", - "Title": "Material Design", - "Description": "

Material Design 也是支持的。

\n", - "Code": "\r\n \r\n \r\n home\r\n event\r\n info\r\n \r\n\r\n \r\n \r\n folder_open\r\n \r\n \r\n widgets\r\n \r\n \r\n gavel\r\n \r\n \r\n \r\n\r\n \r\n \r\n home\r\n event\r\n info\r\n \r\n\r\n \r\n folder_open\r\n widgets\r\n gavel\r\n \r\n \r\n\r\n \r\n \r\n home\r\n event\r\n info\r\n \r\n\r\n \r\n \r\n folder_open\r\n \r\n \r\n widgets\r\n \r\n \r\n gavel\r\n \r\n \r\n \r\n\r\n \r\n \r\n home\r\n event\r\n info\r\n \r\n\r\n \r\n \r\n folder_open\r\n \r\n \r\n widgets\r\n \r\n \r\n gavel\r\n \r\n \r\n \r\n\r\n\r\n", - "Type": "Demos.Components.Icon.misc.MaterialDesign", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "svg", - "Title": "SVG", - "Description": "

如果您想要在 MIcon 组件中使用SVG图标,仅支持传入SVG的 path

\n", - "Code": "\r\n @mdiAccount\r\n
\r\n @mdiPencil\r\n
\r\n @mdiShareVariant\r\n
\r\n \r\n \r\n @mdiDelete\r\n \r\n Delete\r\n \r\n\r\n\r\n@code {\r\n string mdiAccount = \"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z\";\r\n string mdiPencil = \"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\";\r\n string mdiShareVariant = \"M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12C9,11.76 8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8A3,3 0 0,0 21,5A3,3 0 0,0 18,2A3,3 0 0,0 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9A3,3 0 0,0 3,12A3,3 0 0,0 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91C19.61,21.91 20.92,20.61 20.92,19A2.92,2.92 0 0,0 18,16.08Z\";\r\n string mdiDelete = \"M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z\";\r\n}", - "Type": "Demos.Components.Icon.misc.Svg", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", - "Cols": 1, - "Related": [ - "/features/icon-fonts", - "/components/buttons", - "/components/cards" - ], - "Subtitle": "图标", - "Title": "Icons", - "Type": "图标" - }, - { - "Desc": "

MImage组件包含支持丰富媒体的功能。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.5862436+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

MImage 组件用于显示具有延迟加载和占位符的响应图像。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private string _src = \"https://picsum.photos/id/11/500/300\";\r\n}", - "Type": "Demos.Components.Image.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "aspectRatio", - "Title": "宽高比", - "Description": "

如果你想改变图像的长宽比,你可以设置一个固定的宽高比。

\n", - "Code": "
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n@code {\r\n private double _width = 300;\r\n}", - "Type": "Demos.Components.Image.props.AspectRatio", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "contain", - "Title": "包含", - "Description": "

如果提供的长宽比与实际图像不匹配,则默认行为是填充尽可能多的空间,裁剪图像的边。启用 Contain 属性可以防止这种情况,但会导致两边出现空白。

\n", - "Code": "\r\n \r\n \r\n
\r\n Default (cover)\r\n
\r\n
\r\n Matching\r\n
\r\n \r\n \r\n
\r\n Too high\r\n
\r\n \r\n \r\n
\r\n Too low\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n Contain\r\n
\r\n
\r\n Matching\r\n
\r\n \r\n \r\n
\r\n Too high\r\n
\r\n \r\n \r\n
\r\n Too low\r\n
\r\n \r\n \r\n
\r\n
\r\n
", - "Type": "Demos.Components.Image.props.Contain", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "gradients", - "Title": "渐变", - "Description": "

Gradient 属性可用于对图像应用简单的渐变叠加。更复杂的渐变应该作为一个class写在内容插槽上。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n", - "Type": "Demos.Components.Image.props.Gradients", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "height", - "Title": "高度", - "Description": "

MImage 将自动增长到 Src 的大小,保持正确的纵横比。你可以用HeightMaxHeight的属性来限制。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n height\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n height with contain\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n max-height\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n max-height with contain\r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Image.props.Height", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "placeholder", - "Title": "占位符", - "Description": "

MImage 有一个特别的 PlaceholderContent 插槽,在图像加载时占位显示。 注意:下面的例子有一个错误的 Src,因此图片不会加载,以方便你观察占位符。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Image.contents.Placeholder", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 3, - "Name": "grid", - "Title": "栅格", - "Description": "

您可以使用 MImage 来制作图片库。

\n", - "Code": "
\r\n \r\n @for (var index = 0; index < 9; index++)\r\n {\r\n var localVariable = index;\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
", - "Type": "Demos.Components.Image.misc.Grid", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/grid-system", - "/components/aspect-ratios", - "/components/parallax" - ], - "Subtitle": "图像", - "Title": "Images", - "Type": "图像" - }, - { - "Desc": "

MList 组件用于显示信息。 它可以包含头像、内容、操作、列表组标题等等。 列表以易于在集合中识别特定项目的方式显示内容。 它们为组织一组文本和图像提供了一致的样式。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n", - "注意": "\n\n

如果您要查找有状态列表项,请查看 MListItemGroup

\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.5872434+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

列表有三种基本形式。 单行 (默认), 双行 和 三行. 行声明指定了项目的最小高度,也可以使用相同的属性从 MList 中进行控制。

\n", - "Code": "\r\n \r\n \r\n Single-line item\r\n \r\n \r\n\r\n \r\n \r\n Two-line item\r\n Secondary text\r\n \r\n \r\n\r\n \r\n \r\n Three-line item\r\n \r\n Secondary line text Lorem ipsum dolor sit amet,\r\n \r\n \r\n consectetur adipiscing elit.\r\n \r\n \r\n \r\n\r\n", - "Type": "Demos.Components.List.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "dense", - "Title": "密集", - "Description": "

List 可以通过 Dense 属性变密集。

\n", - "Code": "\r\n \r\n REPORTS\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n \r\n @item.Icon\r\n \r\n \r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n private StringNumber _selectedItem = 1;\r\n private Item[] _items = new Item[]\r\n {\r\n new Item { Text= \"Real-Time\", Icon= \"mdi-clock\" },\r\n new Item { Text= \"Audience\", Icon= \"mdi-account\" },\r\n new Item { Text= \"Conversions\", Icon= \"mdi-flag\" }\r\n };\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.List.props.Dense", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "disabled", - "Title": "禁用", - "Description": "

您不能与已禁用的 MList 交互。

\n", - "Code": "\r\n \r\n REPORTS\r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item.Icon\r\n \r\n \r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n StringNumber selectedItem = 1;\r\n Item[] items = new Item[]\r\n {\r\n new Item { Text= \"Real-Time\", Icon= \"mdi-clock\" },\r\n new Item { Text= \"Audience\", Icon= \"mdi-account\" },\r\n new Item { Text= \"Conversions\", Icon= \"mdi-flag\" }\r\n };\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.List.props.Disabled", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "flat", - "Title": "扁平", - "Description": "

Flat 属性的 MList 中选择时,项目不会发生变化。

\n", - "Code": "\r\n \r\n REPORTS\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n \r\n @item.Icon\r\n \r\n \r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n private StringNumber _selectedItem = 1;\r\n private Item[] _items = new Item[]\r\n {\r\n new Item { Text= \"Real-Time\", Icon= \"mdi-clock\" },\r\n new Item { Text= \"Audience\", Icon= \"mdi-account\" },\r\n new Item { Text= \"Conversions\", Icon= \"mdi-flag\" }\r\n };\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.List.props.Flat", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "nav", - "Title": "导航列表", - "Description": "

列表可以接受一个替代的 Nav 样式,它减少了 MListItem 的宽度,并增加了一个边框半径。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n John Leider\r\n \r\n john@vuetifyjs.com\r\n \r\n\r\n \r\n mdi-menu-down\r\n \r\n \r\n \r\n \r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n private StringNumber _selectedItem = 0;\r\n private Item[] _items = new Item[]\r\n {\r\n new Item { Text= \"My Files\", Icon= \"mdi-folder\" },\r\n new Item { Text= \"Shared with me\", Icon= \"mdi-account-multiple\" },\r\n new Item { Text= \"Starred\", Icon= \"mdi-star\" },\r\n new Item { Text= \"Recent\", Icon= \"mdi-history\" },\r\n new Item { Text= \"Offline\", Icon= \"mdi-check-circle\" },\r\n new Item { Text= \"Uploads\", Icon= \"mdi-upload\" },\r\n new Item { Text= \"Backups\", Icon= \"mdi-cloud-upload\" }\r\n\r\n };\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.List.props.Nav", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 5, - "Name": "rounded", - "Title": "圆角", - "Description": "

你可以让 MList 项变成圆角。

\n", - "Code": "\r\n \r\n REPORTS\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n \r\n @item.Icon\r\n \r\n \r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n private StringNumber _selectedItem = 1;\r\n private Item[] _items = new Item[]\r\n {\r\n new Item { Text= \"Real-Time\", Icon= \"mdi-clock\" },\r\n new Item { Text= \"Audience\", Icon= \"mdi-account\" },\r\n new Item { Text= \"Conversions\", Icon= \"mdi-flag\" }\r\n };\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.List.props.Rounded", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 6, - "Name": "shapedLists", - "Title": "形状列表", - "Description": "

形状列表在 MListItem 的一侧具有圆形边界。

\n", - "Code": "\r\n \r\n REPORTS\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n \r\n @item.Icon\r\n \r\n \r\n \r\n @item.Text\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n private StringNumber _selectedItem = 1;\r\n private Item[] _items = new Item[]\r\n {\r\n new Item { Text= \"Real-Time\", Icon= \"mdi-clock\" },\r\n new Item { Text= \"Audience\", Icon= \"mdi-account\" },\r\n new Item { Text= \"Conversions\", Icon= \"mdi-flag\" }\r\n };\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.List.props.ShapedLists", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 7, - "Name": "subGroup", - "Title": "嵌套列表", - "Description": "

使用 MListGroup 组件,您可以使用 SubGroup 属性创建多达 2 级的深度。

\n", - "Code": "\r\n \r\n \r\n \r\n mdi-home\r\n \r\n\r\n Home\r\n \r\n\r\n \r\n \r\n Users\r\n \r\n \r\n \r\n \r\n \r\n Admin\r\n \r\n \r\n \r\n @foreach (var item in _admins)\r\n {\r\n \r\n @item.Text\r\n\r\n \r\n @item.Icon\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n \r\n \r\n Actions\r\n \r\n \r\n \r\n @foreach (var item in _cruds)\r\n {\r\n \r\n @item.Text\r\n\r\n \r\n @item.Icon\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code{\r\n readonly Item[] _admins = new Item[]\r\n {\r\n new Item { Text= \"Management\", Icon= \"mdi-account-multiple-outline\" },\r\n new Item { Text= \"Settings\", Icon= \"mdi-cog-outline\" }\r\n };\r\n\r\n readonly Item[] _cruds = new Item[]\r\n {\r\n new Item { Text= \"Create\", Icon= \"mdi-plus-outline\" },\r\n new Item { Text= \"Read\", Icon= \"mdi-file-outline\" },\r\n new Item { Text= \"Update\", Icon= \"mdi-update\" },\r\n new Item { Text= \"Delete\", Icon= \"mdi-delete\" }\r\n };\r\n\r\n bool userExpanded = true;\r\n bool adminExpanded = true;\r\n\r\n class Item\r\n {\r\n public string Text { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.List.props.SubGroup", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 8, - "Name": "threeLine", - "Title": "三行", - "Description": "

对于三行列表,字幕将垂直夹在 2 行,然后省略。

\n", - "Code": "\r\n \r\n \r\n\r\n Inbox\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n @if (item.Header != null)\r\n {\r\n @item.Header\r\n }\r\n else if (item.Divider)\r\n {\r\n \r\n }\r\n else\r\n {\r\n \r\n \r\n \r\n \r\n\r\n \r\n @((MarkupString)item.Title)\r\n @((MarkupString)item.SubTitle)\r\n \r\n \r\n }\r\n }\r\n \r\n\r\n\r\n@code{\r\n private Item[] _items = new Item[]\r\n {\r\n new Item { Header=\"Today\" },\r\n new Item\r\n {\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/1.jpg\",\r\n Title=\"Brunch this weekend?\",\r\n SubTitle=\"Ali Connors — I'll be in your neighborhood doing errands this weekend. Do you want to hang out?\"\r\n },\r\n new Item\r\n {\r\n Divider=true,\r\n Inset=true\r\n },\r\n new Item\r\n {\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/2.jpg\",\r\n Title=\"Summer BBQ 4\",\r\n SubTitle=\"to Alex, Scott, Jennifer — Wish I could come, but I'm out of town this weekend.\"\r\n },\r\n new Item\r\n {\r\n Divider=true,\r\n Inset=true\r\n },\r\n new Item\r\n {\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/3.jpg\",\r\n Title=\"Oui oui\",\r\n SubTitle=\"Sandra Adams — Do you have Paris recommendations? Have you ever been?\"\r\n },\r\n new Item\r\n {\r\n Divider=true,\r\n Inset=true\r\n },\r\n new Item\r\n {\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/4.jpg\",\r\n Title=\"Birthday gift\",\r\n SubTitle=\"Trevor Hansen — Have any ideas about what we should get Heidi for her birthday?\"\r\n },\r\n new Item\r\n {\r\n Divider=true,\r\n Inset=true\r\n },\r\n new Item\r\n {\r\n Avatar=\"https://cdn.vuetifyjs.com/images/lists/5.jpg\",\r\n Title=\"Recipe to try\",\r\n SubTitle=\"Britta Holt — We should eat this: Grate, Squash, Corn, and tomatillo Tacos.\"\r\n }\r\n };\r\n\r\n class Item\r\n {\r\n public string Header { get; set; }\r\n public string Avatar { get; set; }\r\n public string Title { get; set; }\r\n public string SubTitle { get; set; }\r\n public bool Divider { get; set; }\r\n public bool Inset { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.List.props.ThreeLine", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 9, - "Name": "twoLinesAndSubheader", - "Title": "两行和副标题", - "Description": "

列表组件可以包含列表组标题,分割线,以及1行或者更多行,如果副标题文本溢出则会以省略号的形式截断文本。

\n", - "Code": "\r\n \r\n \r\n\r\n My files\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-view-module\r\n \r\n \r\n\r\n \r\n Folders\r\n\r\n @foreach (var item in _folders)\r\n {\r\n \r\n \r\n \r\n mdi-folder\r\n \r\n \r\n\r\n \r\n @item.Title\r\n\r\n @item.SubTitle\r\n \r\n\r\n \r\n \r\n mdi-information\r\n \r\n \r\n \r\n\r\n }\r\n\r\n\r\n \r\n\r\n Files\r\n\r\n @foreach (var item in _files)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n\r\n @item.SubTitle\r\n \r\n\r\n \r\n \r\n mdi-information\r\n \r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code{\r\n private Item[] _files = new Item[]\r\n {\r\n new Item \r\n {\r\n Color= \"blue\",\r\n Icon= \"mdi-clipboard-text\",\r\n SubTitle= \"Jan 20, 2014\",\r\n Title= \"Vacation itinerary\",\r\n },\r\n new Item \r\n {\r\n Color= \"amber\",\r\n Icon= \"mdi-gesture-tap-button\",\r\n SubTitle= \"Jan 10, 2014\",\r\n Title= \"Kitchen remodel\",\r\n }\r\n };\r\n\r\n private Item[] _folders = new Item[]\r\n {\r\n new Item \r\n {\r\n SubTitle= \"Jan 9, 2014\",\r\n Title= \"Photos\",\r\n },\r\n new Item \r\n {\r\n SubTitle= \"Jan 17, 2014\",\r\n Title= \"Recipes\",\r\n },\r\n new Item\r\n {\r\n SubTitle= \"Jan 28, 2014\",\r\n Title= \"Work\",\r\n },\r\n };\r\n\r\n class Item\r\n {\r\n public string Color { get; set; }\r\n public string Icon { get; set; }\r\n public string Title { get; set; }\r\n public string SubTitle { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.List.props.TwoLinesAndSubheader", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 10, - "Name": "expansionLists", - "Title": "可展开的列表", - "Description": "

列表可以包含一组项目,这些项目将在单击MListGroupActivatorContent时显示。扩展列表也用于 MNavigationDrawer 组件中。

\n", - "Code": "\r\n \r\n \r\n\r\n Topics\r\n\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item.Title\r\n \r\n \r\n\r\n \r\n @foreach (var subItem in item.Items)\r\n {\r\n \r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n List items = new List()\r\n {\r\n new Item()\r\n {\r\n Action = \"mdi-ticket\",\r\n Items = new List() {new Item(\"List Item\")},\r\n Title = \"Attractions\"\r\n },\r\n new Item()\r\n {\r\n Action = \"mdi-silverware-fork-knife\",\r\n Active = true,\r\n Items = new List() {new Item(\"Breakfast & brunch\"), new Item(\"New American\"), new Item(\"Sushi\")},\r\n Title = \"Dining\"\r\n },\r\n new Item()\r\n {\r\n Action = \"mdi-school\",\r\n Items = new List() {new Item(\"List Item\")},\r\n Title = \"Education\"\r\n },\r\n new Item()\r\n {\r\n Action = \"mdi-run\",\r\n Items = new List() {new Item(\"List Item\")},\r\n Title = \"Family\"\r\n },\r\n new Item()\r\n {\r\n Action = \"mdi-bottle-tonic-plus\",\r\n Items = new List() {new Item(\"List Item\")},\r\n Title = \"Health\"\r\n },\r\n new Item()\r\n {\r\n Action = \"mdi-content-cut\",\r\n Items = new List() {new Item(\"List Item\")},\r\n Title = \"Attractions\"\r\n },\r\n new Item()\r\n {\r\n Action = \"mdi-tag\",\r\n Items = new List() {new Item(\"List Item\")},\r\n Title = \"Attractions\"\r\n },\r\n };\r\n\r\n class Item\r\n {\r\n public string Title { get; set; }\r\n\r\n public string Action { get; set; }\r\n\r\n public bool Active { get; set; }\r\n\r\n public List Items { get; set; } = new List();\r\n\r\n public Item()\r\n {\r\n }\r\n\r\n public Item(string title)\r\n {\r\n Title = title;\r\n }\r\n }\r\n\r\n}", - "Type": "Demos.Components.List.contents.ExpansionLists", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 11, - "Name": "actionsAndItemGroups", - "Title": "操作和项目组", - "Description": "

可操作的 ThreeLine 列表。 利用 MListItemGroup,轻松将动作连接到图块。

\n", - "Code": "\r\n \r\n \r\n\r\n Settings\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n User Controls\r\n\r\n \r\n \r\n Content filtering\r\n Set the content filtering level to restrict appts that can be downloaded\r\n \r\n \r\n\r\n \r\n \r\n Password\r\n Require password for purchase or use password to restrict purchase\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n General\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Notifications\r\n Notify me about updates to apps or games that I downloaded\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Sound\r\n Auto-update apps at any time. Data charges may apply\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Auto-add widgets\r\n Automatically add home screen widgets when downloads complete\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List settings = new();\r\n\r\n}", - "Type": "Demos.Components.List.misc.ActionsAndItemGroups", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 12, - "Name": "actionStack", - "Title": "操作栈", - "Description": "

列表组件可以包含一个操作栈。当你需要在你的动作项目旁边显示数据文本时,这是非常有用的。

\n", - "Code": "\r\n \r\n \r\n\r\n Inbox\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-checkbox-marked-circle\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var (item, index) in items.Select((item, index) => (item, index)))\r\n {\r\n \r\n \r\n \r\n @item.title\r\n @item.headline\r\n @item.subtitle\r\n \r\n\r\n \r\n @item.action\r\n\r\n @if (!context.Active)\r\n {\r\n \r\n mdi-star-outline\r\n \r\n }\r\n else\r\n {\r\n \r\n mdi-star\r\n \r\n }\r\n \r\n \r\n \r\n\r\n @if (index < items.Count - 1)\r\n {\r\n \r\n }\r\n }\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List selected = new();\r\n\r\n List<(string action, string headline, string subtitle, string title)> items = new List<(string action, string headline, string subtitle, string title)>()\r\n {\r\n (\"15 min\", \"Brunch this weekend?\",\"I'll be in your neighborhood doing errands this weekend. Do you want to hang out?\", \"Ali Connors\"),\r\n (\"hr\",\"Summer BBQ\",\"Wish I could come, but I'm out of town this weekend.\", \"me, Scrott, Jennifer\"),\r\n (\"6 hr\", \"Oui oui\",\"Do you have Paris recommendations? Have you ever been?\", \"Sandra Adams\"),\r\n (\"12 hr\", \"Birthday gift\",\"Have any ideas about what we should get Heidi for her birthday?\", \"Trevor Hansen\"),\r\n (\"18hr\",\"Recipe to try\",\"We should eat this: Grate, Squash, Corn, and tomatillo Tacos.\", \"Britta Holt\"),\r\n };\r\n\r\n}", - "Type": "Demos.Components.List.misc.ActionStack", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 13, - "Name": "cardList", - "Title": "卡片列表", - "Description": "

一个列表可以和一张卡片结合起来。

\n", - "Code": " \r\n \r\n \r\n \r\n \r\n mdi-chevron-left\r\n \r\n\r\n \r\n\r\n \r\n mdi-pencil\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n Ali Conners\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n mdi-phone\r\n \r\n \r\n\r\n \r\n (650) 555-1234\r\n Mobile\r\n \r\n\r\n \r\n mdi-message-text\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n (323) 555-6789\r\n Work\r\n \r\n\r\n \r\n mdi-message-text\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n mdi-email\r\n \r\n \r\n\r\n \r\n aliconnors@example.com\r\n Personal\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n ali_connors@example.com\r\n Work\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n mdi-map-marker\r\n \r\n \r\n\r\n \r\n 1400 Main Street\r\n Orlando, FL 79938\r\n \r\n \r\n \r\n ", - "Type": "Demos.Components.List.misc.CardList", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 14, - "Name": "simpleAvatarList", - "Title": "简单头像列表", - "Description": "

一个简单的列表利用 MistItemIcon, MListItemTitleMListItemAvatar

\n", - "Code": "\r\n \r\n \r\n\r\n Inbox\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @if (item.icon)\r\n {\r\n \r\n mdi-star\r\n \r\n }\r\n \r\n\r\n \r\n @item.title\r\n \r\n\r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n List<(bool icon, string title, string avatar)> items = new List<(bool icon, string title, string avatar)>()\r\n {\r\n new(true, \"Jason Oner\", \"https://cdn.vuetifyjs.com/images/lists/1.jpg\"),\r\n new(false, \"Travis Howard\", \"https://cdn.vuetifyjs.com/images/lists/2.jpg\"),\r\n new(false, \"Ali Connors\", \"https://cdn.vuetifyjs.com/images/lists/3.jpg\"),\r\n new(false, \"Cindy Baker\", \"https://cdn.vuetifyjs.com/images/lists/4.jpg\"),\r\n };\r\n\r\n}", - "Type": "Demos.Components.List.misc.SimpleAvatarList", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 15, - "Name": "singleLineList", - "Title": "单行列表", - "Description": "

在这里,我们结合了单行列表中的 MListItemAvatarMLlistItemIcon

\n", - "Code": "\r\n \r\n \r\n\r\n New Chat\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n \r\n Recent chat\r\n\r\n @foreach (var chat in recent)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n @chat.title\r\n \r\n\r\n \r\n \r\n mdi-message-outline\r\n \r\n \r\n \r\n }\r\n \r\n\r\n \r\n\r\n \r\n Previous chats\r\n\r\n @foreach (var chat in previous)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n @chat.title\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n List<(bool active, string avatar, string title)> recent = new List<(bool active, string avatar, string title)>()\r\n {\r\n new(true, \"https://cdn.vuetifyjs.com/images/lists/1.jpg\", \"Jason Oner\"),\r\n new(true, \"https://cdn.vuetifyjs.com/images/lists/2.jpg\", \"Mike Carlson\"),\r\n new(false, \"https://cdn.vuetifyjs.com/images/lists/3.jpg\", \"Cindy Baker\"),\r\n new(false, \"https://cdn.vuetifyjs.com/images/lists/4.jpg\", \"Ali Connors\"),\r\n };\r\n\r\n List<(string title, string avatar)> previous = new List<(string title, string avatar)>()\r\n {\r\n new(\"Travis Howard\", \"https://cdn.vuetifyjs.com/images/lists/5.jpg\")\r\n };\r\n\r\n}", - "Type": "Demos.Components.List.misc.SingleLineList", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 16, - "Name": "subheadingsAndDividers", - "Title": "列表组标题和分割线", - "Description": "

列表可以包含多个子标头和分隔符。

\n", - "Code": "\r\n \r\n \r\n\r\n Settings\r\n \r\n\r\n \r\n General\r\n\r\n \r\n \r\n Profile photo\r\n Change your Google+ profile photo\r\n \r\n \r\n\r\n \r\n \r\n Show your status\r\n Your status is visible to everyone\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n Hangout notifications\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Notifications\r\n Allow notifications\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Sound\r\n Hangouts message\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Video sounds\r\n Hangouts video call\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Invites\r\n Notify when receiving invites\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List settings = new();\r\n\r\n}", - "Type": "Demos.Components.List.misc.SubheadingsAndDividers", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/List.svg", - "Cols": 1, - "Related": [ - "/components/item-groups", - "/components/list-item-groups", - "/components/subheaders" - ], - "Subtitle": "列表", - "Title": "Lists", - "Type": "列表" - }, - { - "Desc": "

MMenu 组件在激活它的元素的位置上展示一个菜单。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-09T10:30:56.8818969+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

请记住将激活菜单的元素放置在 ActivatorContent 中。

\n", - "Code": "
\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n}", - "Type": "Demos.Components.Menu.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "absolute", - "Title": "绝对定位", - "Description": "

菜单可以使用 Absolute 属性,将其绝对放置在激活器元素的顶部。 尝试点击图像上的任意位置。

\n", - "Code": "\r\n \r\n \r\n { }\" @attributes=\"@context.Attrs\">\r\n \r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n}", - "Type": "Demos.Components.Menu.props.Absolute", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "absoluteWithoutActivator", - "Title": "没有激活器的绝对定位", - "Description": "

菜单也可以通过使用 Absolute 以及 PositionXPositionY 参数来在没有激活器的情况下使用。 尝试右键点击图像上的任何地方。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n
\r\n\r\n\r\n\r\n@code {\r\n\r\n bool showMenu = false;\r\n double X = 0;\r\n double Y = 0;\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n private async Task Show(MouseEventArgs args)\r\n {\r\n showMenu = false;\r\n StateHasChanged();\r\n await Task.Delay(16);\r\n \r\n X = args.ClientX;\r\n Y = args.ClientY;\r\n showMenu = true;\r\n StateHasChanged();\r\n }\r\n}", - "Type": "Demos.Components.Menu.props.AbsoluteWithoutActivator", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "closeOnClick", - "Title": "点击关闭", - "Description": "

失去焦点时可以关闭菜单。

\n", - "Code": "
\r\n \r\n\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n [Inject]\r\n NavigationManager NavigationManager { get; set; }\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n bool closeOnClick = true;\r\n}", - "Type": "Demos.Components.Menu.props.CloseOnClick", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "closeOnContentClick", - "Title": "点击内容关闭", - "Description": "

您可以配置在点击内容后是否关闭 MMenu

\n", - "Code": "
\r\n \r\n\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n bool closeOnContentClick = true;\r\n}", - "Type": "Demos.Components.Menu.props.CloseOnContentClick", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 5, - "Name": "disabled", - "Title": "禁用", - "Description": "

您可以禁用菜单。禁用的菜单无法打开。

\n", - "Code": "
\r\n \r\n\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n bool disabled = true;\r\n}", - "Type": "Demos.Components.Menu.props.Disabled", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 6, - "Name": "offsetX", - "Title": "X偏移", - "Description": "

菜单可以被X轴偏移,以使激活器可见。

\n", - "Code": "
\r\n \r\n\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n bool offset = true;\r\n}", - "Type": "Demos.Components.Menu.props.OffsetX", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 7, - "Name": "offsetY", - "Title": "Y偏移", - "Description": "

菜单可以被Y轴偏移,以使激活器可见。

\n", - "Code": "
\r\n \r\n\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n bool offset = true;\r\n}", - "Type": "Demos.Components.Menu.props.OffsetY", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 8, - "Name": "openOnHover", - "Title": "悬停", - "Description": "

设置使用 OpenOnHover 属性时,菜单会悬停时打开而不是点击时打开。

\n", - "Code": "
\r\n \r\n \r\n DROPDOWN\r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n}", - "Type": "Demos.Components.Menu.props.OpenOnHover", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 13, - "Name": "rounded", - "Title": "圆角", - "Description": "

菜单可以通过 Rounded 属性设置为圆角。关于圆角样式的其他信息在 Border Radius 页。

\n", - "Code": "\r\n @foreach (var item in _btns)\r\n {\r\n var index = Array.IndexOf(_btns, item);\r\n \r\n \r\n \r\n @item.text Radius\r\n \r\n \r\n \r\n \r\n @for (int i = 0; i < 4; i++)\r\n {\r\n \r\n @($\"Item {i}\")\r\n \r\n }\r\n \r\n \r\n \r\n }\r\n\r\n\r\n@code {\r\n\r\n (string text, string rounded)[] _btns =\r\n {\r\n (\"Removed\", \"0\"),\r\n (\"Large\", \"lg\"),\r\n (\"Custom\", \"b-xl\"),\r\n };\r\n\r\n string[] _colors =\r\n {\r\n \"deep-purple accent-4\", \"error\", \"teal darken-1\"\r\n };\r\n\r\n}", - "Type": "Demos.Components.Menu.props.Rounded", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 10, - "Name": "activatorAndTooltip", - "Title": "同时使用激活器和提示", - "Description": "

RenderFragment 语法中,嵌套的激活器,例如用 MMenuMTooltip 附加到同一激活按钮,需要特定的设置才能正常运行。注意:此语法同样用于其他嵌套激活器,例如 MDialog\n/ MTooltip

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n @{\r\n var attrs = new Dictionary();\r\n m.Attrs.ToList().ForEach(item => attrs[item.Key] = item.Value);\r\n c.Attrs.ToList().ForEach(item => attrs[item.Key] = item.Value);\r\n }\r\n \r\n Dropdown w/ Tooltip\r\n \r\n \r\n \r\n Im A ToolTip\r\n \r\n \r\n \r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n}", - "Type": "Demos.Components.Menu.contents.ActivatorAndTooltip", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 11, - "Name": "customTransitions", - "Title": "自定义过渡", - "Description": "

MASA.Blazor 有三个标准过渡,scaleslide-xslide-y。您也可以创建自己的过渡并作为过渡参数传递。

\n", - "Code": "\r\n \r\n \r\n \r\n Scale Transition\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Slide X Transition\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Slide Y Transition\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n}", - "Type": "Demos.Components.Menu.misc.CustomTransitions", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 12, - "Name": "popoverMenu", - "Title": "弹出菜单", - "Description": "

菜单可以配置为在打开时为静态菜单,使其充当弹出菜单。当菜单内容中有多个交互式项目时,这很有用。

\n", - "Code": "
\r\n \r\n \r\n POPOVER MENU\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \"John\"\r\n \r\n\r\n \r\n John Leider\r\n Founder of Vuetify\r\n \r\n\r\n \r\n fav = !fav\">\r\n mdi-heart\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Enable messages\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Enable hints\r\n \r\n \r\n \r\n\r\n \r\n \r\n menu = false\">Cacnel\r\n menu = false\">Save\r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n bool fav = true;\r\n bool menu = false;\r\n bool message = false;\r\n bool hints = true;\r\n}", - "Type": "Demos.Components.Menu.misc.PopoverMenu", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 13, - "Name": "useInComponents", - "Title": "在组件中使用", - "Description": "

菜单可以放在几乎任何组件中。

\n", - "Code": "\r\n \r\n \r\n \r\n Menu\r\n\r\n \r\n\r\n \r\n \r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n \r\n @item\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n\r\n Lorem Ipsum\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n string[] items =\r\n {\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me\",\r\n \"Click Me 2\"\r\n };\r\n\r\n}", - "Type": "Demos.Components.Menu.misc.UseInComponents", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/dialogs", - "/components/tooltips", - "/styles/transitions" - ], - "Subtitle": "菜单", - "Title": "Menus", - "Type": "菜单" - }, - { - "Desc": "

MNavigationDrawer 是用于导航应用程序的组件。 通常被包装在 MCard 元素中使用。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n", - "警告": "\n\n

如果使用启用了 App 属性的 MNavigationDrawer,则不需要像示例中那样使用 Absolute 属性。

\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.5982443+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

导航抽屉主要用于存放您应用程序中页面的链接。通常使用 Nav 属性将抽屉与 MList 组件配对使用。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n Application\r\n \r\n \r\n subtext\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n class Item\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n\r\n private Item[] _items = new Item[]\r\n {\r\n new Item{ Title= \"Dashboard\", Icon= \"mdi-view-dashboard\" },\r\n new Item { Title= \"Photos\", Icon= \"mdi-image\" },\r\n new Item { Title= \"About\", Icon= \"mdi-help-box\" }\r\n };\r\n}\r\n\r\n\r\n\r\n", - "Type": "Demos.Components.NavigationDrawer.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "bottom", - "Title": "底部抽屉", - "Description": "

使用 Bottom 属性我们能够在移动设备上重新定位抽屉,让其从屏幕底部出来。 这是另一种样式,只能遇到 MobileBreakpoint 时激活。

\n", - "Code": "\r\n \r\n\r\n \r\n _drawer = !_drawer\">\r\n\r\n My files\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-filter\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Foo\r\n \r\n\r\n \r\n Bar\r\n \r\n\r\n \r\n Fizz\r\n \r\n\r\n \r\n Buzz\r\n \r\n \r\n \r\n \r\n\r\n \r\n The navigation drawer will appear from the bottom on smaller size screens.\r\n \r\n\r\n\r\n@code\r\n{\r\n private bool _drawer = false;\r\n private StringNumber _value = default;\r\n\r\n void ValueChanged(StringNumber value)\r\n {\r\n _value = value;\r\n _drawer = false;\r\n }\r\n}", - "Type": "Demos.Components.NavigationDrawer.props.Bottom", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "expandOnHover", - "Title": "悬停时扩展", - "Description": "

将组件放置在 MiniVariant 模式中,并在悬停时扩展开。不更改 MMain 的内容区域。 宽度可以使用 MiniVariantWidth 属性来控制。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Sandra Adams\r\n \r\n andra_a88@gmail.com\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n mdi-folder\r\n \r\n My Files\r\n \r\n \r\n \r\n mdi-account-multiple\r\n \r\n Shared with me\r\n \r\n \r\n \r\n mdi-star\r\n \r\n Starred\r\n \r\n \r\n \r\n \r\n
", - "Type": "Demos.Components.NavigationDrawer.props.ExpandOnHover", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "floating", - "Title": "永久浮动抽屉", - "Description": "

默认情况下,导航抽屉有一个 1px 右边框,将其与内容分开。 在这个例子中,我们要把抽屉从左边分离出来,让它自己浮动。 Floating 属性可移除右边的边框(如果使用 Right 则移除左边框)。

\n", - "Code": "\r\n \r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new()\r\n {\r\n new ItemDemo { Title = \"Home\", Icon = \"mdi-view-dashboard\" },\r\n new ItemDemo { Title = \"About\", Icon = \"mdi-forum\" }\r\n };\r\n}", - "Type": "Demos.Components.NavigationDrawer.props.Floating", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "image", - "Title": "图像", - "Description": "

通过 Src 属性将自定义背景应用于抽屉。 如果你需要自定义 MImage 的属性,你可以使用 ImgContent

\n", - "Code": "\r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item[0]\r\n \r\n\r\n \r\n @item[1]\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[][] _items = new string[3][]\r\n {\r\n new string[2] {\"mdi-email\", \"Inbox\"},\r\n new string[2]{\"mdi-account-supervisor-circle\", \"Supervisors\" },\r\n new string[2]{ \"mdi-clock-start\", \"Clock-in\" }\r\n };\r\n}", - "Type": "Demos.Components.NavigationDrawer.props.Image", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "mini", - "Title": "迷你模式", - "Description": "

当使用 MiniVariant 属性时,抽屉将会缩小(默认56px),并隐藏除第一个元素外的 Mlist 内的所有内容。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n John Leider\r\n\r\n _mini = !_mini\">\r\n mdi-chevron-left\r\n \r\n \r\n\r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private bool _drawer = true;\r\n private bool _mini = true;\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new()\r\n {\r\n new ItemDemo { Title = \"Home\", Icon = \"mdi-home-city\" },\r\n new ItemDemo { Title = \"My Account\", Icon = \"mdi-account\" },\r\n new ItemDemo { Title = \"Users\", Icon = \"mdi-account-group-outline\" }\r\n };\r\n}", - "Type": "Demos.Components.NavigationDrawer.props.Mini", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "right", - "Title": "右侧", - "Description": "

导航抽屉也可以放置在应用程序(或元素)的右侧。这对于创建带有可能没有任何导航链接的辅助信息的边表也很有用。 当使用 RTL 时,您必须为抽屉明确定义 Right

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Jane Smith\r\n Logged In\r\n \r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new()\r\n {\r\n new ItemDemo { Title = \"Home\", Icon = \"mdi-home-city\" },\r\n new ItemDemo { Title = \"My Account\", Icon = \"mdi-account\" },\r\n new ItemDemo { Title = \"Users\", Icon = \"mdi-account-group-outline\" }\r\n };\r\n}", - "Type": "Demos.Components.NavigationDrawer.props.Right", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "temporary", - "Title": "临时的", - "Description": "

临时抽屉位于它的应用程序上方,在移动设备上默认模拟此抽屉行为。

\n", - "Code": "\r\n \r\n \r\n _drawer = !_drawer\">\r\n Toggle\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n John Leider\r\n \r\n \r\n\r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n private bool _drawer;\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new()\r\n {\r\n new ItemDemo { Title = \"Home\", Icon = \"mdi-view-dashboard\" },\r\n new ItemDemo { Title = \"About\", Icon = \"mdi-forum\" }\r\n };\r\n}", - "Type": "Demos.Components.NavigationDrawer.props.Temporary", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "color", - "Title": "彩色的抽屉", - "Description": "

导航抽屉可以自定义,以适合任何应用程序的设计。 我们在这里使用 AppendContent 自定义背景颜色和附加的内容区域。

\n", - "Code": "\r\n \r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n
\r\n LogOut\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code{\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new()\r\n {\r\n new ItemDemo { Title = \"Dashboard\", Icon = \"mdi-view-dashboard\" },\r\n new ItemDemo { Title = \"Account\", Icon = \"mdi-account-box\" },\r\n new ItemDemo { Title = \"Admin\", Icon = \"mdi-gavel\" }\r\n };\r\n}", - "Type": "Demos.Components.NavigationDrawer.misc.Color", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 1, - "Name": "constitute", - "Title": "组合抽屉", - "Description": "

在此示例中,我们定义了一个自定义宽度的抽屉来容纳嵌套。 我们使用 MRow 确保抽屉和列表在水平方向彼此相邻。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n @item.Icon\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n @foreach (var link in _links)\r\n {\r\n \r\n @link\r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[] _links = new string[3] { \"Home\", \"Contacts\", \"Settings\" };\r\n private class ItemDemo\r\n {\r\n public string Title { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new()\r\n {\r\n new ItemDemo { Title = \"Home\", Icon = \"mdi-view-dashboard\" },\r\n new ItemDemo { Title = \"About\", Icon = \"mdi-forum\" }\r\n };\r\n}", - "Type": "Demos.Components.NavigationDrawer.misc.Constitute", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/NavigationDrawer.svg", - "Cols": 1, - "Related": [ - "/components/lists", - "/components/icons", - "/getting-started/wireframes" - ], - "Subtitle": "导航抽屉", - "Title": "Navigation drawers", - "Type": "导航抽屉" - }, - { - "Desc": "

Overlay 组件用于强调特定元素或其中的一部分。 它向用户发出应用程序内状态更改的信号,可用于创建加载程序,对话框等。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.6022439+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

以最简单的形式,MOverlay 组件将在您的应用程序上添加暗淡的图层。

\n", - "Code": "
\r\n \r\n Show Overlay\r\n \r\n\r\n \r\n
\r\n\r\n@code {\r\n bool overlay = false;\r\n\r\n async Task OnClick(MouseEventArgs args)\r\n {\r\n overlay = true;\r\n await InvokeAsync(StateHasChanged);\r\n\r\n await Task.Delay(2000);\r\n overlay = false;\r\n }\r\n}\r\n", - "Type": "Demos.Components.Overlay.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "absolute", - "Title": "绝对定位", - "Description": "

Absolute 遮罩层被放置在绝对位置,并包含在父元素中。

\n", - "Code": "\r\n \r\n \r\n \r\n Show Overlay\r\n \r\n\r\n \r\n \r\n Hide Overlay\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n bool overlay = false;\r\n\r\n void Toggle(MouseEventArgs args)\r\n {\r\n overlay = !overlay;\r\n }\r\n\r\n void Hide(MouseEventArgs args)\r\n {\r\n overlay = false;\r\n }\r\n}", - "Type": "Demos.Components.Overlay.props.Absolute", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "opacity", - "Title": "透明度", - "Description": "

Opacity 允许您自定义组件的透明度。

\n", - "Code": "\r\n \r\n \r\n \r\n Show Overlay\r\n \r\n\r\n \r\n \r\n Hide Overlay\r\n \r\n \r\n \r\n \r\n\r\n@code {\r\n bool overlay = false;\r\n\r\n void Toggle(MouseEventArgs args)\r\n {\r\n overlay = !overlay;\r\n }\r\n\r\n void Hide(MouseEventArgs args)\r\n {\r\n overlay = false;\r\n }\r\n}", - "Type": "Demos.Components.Overlay.props.Opacity", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "zIndex", - "Title": "Z-index", - "Description": "

ZIndex 使您能够轻松地更改 MOverlay 组件的覆盖顺序。

\n", - "Code": "\r\n _overlay = !_overlay\">\r\n Show Overlay\r\n \r\n\r\n \r\n _overlay = false\">\r\n Hide Overlay\r\n \r\n \r\n\r\n\r\n@code {\r\n private bool _overlay = false;\r\n private int _zIndex = 0;\r\n}", - "Type": "Demos.Components.Overlay.props.ZIndex", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "Advanced", - "Title": "高级版", - "Description": "

使用 MHover 作为背景,添加进度组件来轻松创建自定义加载器。

\n", - "Code": "\r\n \r\n \r\n\r\n \r\n

\r\n Magento Forests\r\n

\r\n Travel to the best outdoor experience on planet Earth. A vacation you will never forget!\r\n
\r\n\r\n \r\n \r\n 64 Reviews\r\n \r\n\r\n \r\n \r\n \r\n See more info\r\n \r\n \r\n \r\n
\r\n
", - "Type": "Demos.Components.Overlay.misc.Advanced", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 5, - "Name": "loader", - "Title": "加载器", - "Description": "

使用 MOverlay 作为背景,添加进度组件来轻松创建自定义加载器。

\n", - "Code": "
\r\n \r\n Launch Application\r\n \r\n mdi-open-in-new\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n bool overlay = false;\r\n\r\n void Toggle(MouseEventArgs args)\r\n {\r\n overlay = true;\r\n\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(3000);\r\n overlay = false;\r\n\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n}", - "Type": "Demos.Components.Overlay.misc.Loader", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/cards", - "/components/sheets", - "/components/dialogs" - ], - "Subtitle": "遮罩层", - "Title": "Overlays", - "Type": "遮罩层" - }, - { - "Desc": "

MPagination 组件用于分离长数据集,以便用户消化信息。 根据提供的数据量,分页组件将自动缩放。 要维护当前页面,只需提供 Value 属性。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.6072447+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

分页默认根据设置的 Length 属性显示页数,两边有 PrevNext 按钮帮助导航。

\n", - "Code": "
\r\n \r\n
\r\n\r\n@code{\r\n private int _page = 1;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pagination.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "circle", - "Title": "圆形", - "Description": "

Circle 属性为你提供了分页按钮的另一种样式。

\n", - "Code": "
\r\n \r\n
\r\n\r\n@code{\r\n private int _page = 1;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pagination.props.Circle", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "disabled", - "Title": "禁用", - "Description": "

使用 Disabled 属性,可以手动禁用分页。

\n", - "Code": "
\r\n \r\n
\r\n\r\n", - "Type": "Demos.Components.Pagination.props.Disabled", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "icon", - "Title": "图标", - "Description": "

上一页和下一页的图标可以通过 PrevIconNextIcon 属性自定义。

\n", - "Code": "
\r\n \r\n
\r\n\r\n@code{\r\n private int _page = 1;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pagination.props.Icon", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "length", - "Title": "长度", - "Description": "

使用 Length 属性可以设置 MPagination 的长度,如果页面按钮的数量超过了父容器,分页将被从中截断。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n private int _page = 1;\r\n}", - "Type": "Demos.Components.Pagination.props.Length", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "totalVisible", - "Title": "最大可见分页数", - "Description": "

你也可以通过 TotalVisible 属性手动设置最大可见分页数。

\n", - "Code": "
\r\n \r\n
\r\n\r\n@code{\r\n private int _page = 1;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pagination.props.TotalVisible", - "Style": "", - "Debug": false, - "Group": 0 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/data-iterator", - "/components/data-tables", - "/components/lists" - ], - "Subtitle": "分页", - "Title": "Pagination", - "Type": "分页" - }, - { - "Desc": "

MColorPicker 允许你使用各种输入方法来选择颜色。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.6152445+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用(TODO)", - "Description": "", - "Code": "TODO", - "Type": "Demos.Components.Pickers.children.ColorPickers.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "canvas", - "Title": "画布", - "Description": "

可以使用 HideCanvas 属性隐藏画布,也可以使用 CanvasHeight 属性设置其高度。 选择点的大小可以用 DotSize 属性来控制。

\n", - "Code": "\r\n \r\n \r\n \r\n\r\n", - "Type": "Demos.Components.Pickers.children.ColorPickers.props.Canvas", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "elevation", - "Title": "海拔(TODO)", - "Description": "

使用 ElevationFlat 属性调整 MColorPicker 组件的海拔。 设置 Flat 相当于将 Elevation 设置为0。

\n", - "Code": "\r\n \r\n \r\n\r\n", - "Type": "Demos.Components.Pickers.children.ColorPickers.props.Elevation", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "inputs", - "Title": "输入(TODO:正在完善)", - "Description": "

数字输入可以用 HideInputs 属性隐藏,滑块可以用 HideSliders 属性隐藏。 \n你也可以使用 HideModeSwitch 属性隐藏模式切换图标。 模式也可以通过 Mode 属性进行外部控制。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r=>Enum.GetName(typeof(ColorTypes),r)\"\r\n Style=\"max-width: 300px\">\r\n \r\n\r\n\r\n@code {\r\n private ColorTypes _mode = ColorTypes.HSLA;\r\n private List _modes = new List\r\n {\r\n ColorTypes.HSLA,\r\n ColorTypes.RGBA,\r\n ColorTypes.HEXA\r\n };\r\n}\r\n", - "Type": "Demos.Components.Pickers.children.ColorPickers.props.Inputs", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "model", - "Title": "模型(TODO)", - "Description": "

MColorPicker 使用 @bind-Value 属性来控制显示的颜色。 它支持十六进制字符串,如 #FF00FF#FF00FF00,以及表示 RGBAHSLAHSVA\n值的对象。

\n", - "Code": "TODO", - "Type": "Demos.Components.Pickers.children.ColorPickers.props.Model", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 5, - "Name": "swatches", - "Title": "色板(TODO)", - "Description": "

使用 ShowSwatches 属性,你可以显示一个色板供用户选择。 也可以使用 Swatches 属性自定义显示什么颜色。该属性接受一个二维数组,其中第一维定义一列,第二维通过提供 rgba\n十六进制字符串定义从上到下的色板。 你也可以使用 SwatchesMaxHeight 属性设置色板部分的最大高度。

\n", - "Code": "TODO", - "Type": "Demos.Components.Pickers.children.ColorPickers.props.Swatches", - "Style": "", - "Debug": false, - "Group": 0 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ColorPicker.svg", - "Cols": 1, - "Related": [ - "/components/menus", - "/styles/colors", - "/features/theme" - ], - "Subtitle": "颜色选择器", - "Title": "Color pickers", - "Type": "颜色选择器" - }, - { - "Desc": "

MDatePicker 是一个功能齐全的日期选择组件, 它让用户选择一个日期或日期范围。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n", - "注意": "\n \n

MDatePicker 接受ISO 8601 日期 字符串(YYYY-MM-DD)。 有关 ISO 8601 和其他标准的更多信息,请访问 ISO(国际标准化组织) 国际标准 官方网页。

\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.6252434+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

日期选择器有两种方向变化,纵向(默认)和横向。 默认情况下,当日期(用于日期选择器)或月份(用于月份选择器)选中时它们将发出input事件,但使用Reactive,它们甚至可以在单击年/月之后更新模型。

\n", - "Code": "\r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.DatePickers.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "allowedDates", - "Title": "允许的日期", - "Description": "

您可以使用数组、对象和函数指定允许的日期。

\n", - "Code": "\r\n \r\n\r\n\r\n@code {\r\n private DateOnly _date = DateOnly.Parse(\"2018-03-02\");\r\n private DateOnly _min = DateOnly.Parse(\"2016-06-15\");\r\n private DateOnly _max = DateOnly.Parse(\"2018-03-20\");\r\n private Func _allowedDates = value => value.Day % 2 == 0;\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickers.props.AllowedDates", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "colors", - "Title": "颜色", - "Description": "

可以使用 ColorHeaderColor 设置日期选择器颜色。 如果没有提供 HeaderColor, 头部将使用 Color 值。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _picker2 = DateOnly.FromDateTime(DateTime.Now);\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickers.props.Colors", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "elevation", - "Title": "高度(z轴)", - "Description": "

MDatePicker 组件支持最高高度(z轴)值为24。\n欲了解更多关于高度的信息,请访问官方的 Material Design elevations 页面。

\n", - "Code": "\r\n \r\n\r\n \r\n\r\n\r\n@code{\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickers.props.Elevation", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "icons", - "Title": "图标", - "Description": "

您可以覆盖选择器中使用的默认图标。

\n", - "Code": "\r\n \r\n\r\n\r\n@code{\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickers.props.Icons", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "multiple", - "Title": "多选", - "Description": "

日期选择器可以使用 Multiple 选择多个日期。 如果使用 Multiple ,日期选择器就会要求它的model是一个数组。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n TODO...\r\n \r\n\r\n\r\n@code {\r\n private IList _dates = new List\r\n {\r\n new DateOnly(2018,9,15),\r\n new DateOnly(2018,9,20)\r\n };\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickers.props.Multiple", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "pickerDate", - "Title": "选取的日期", - "Description": "

您可以使用 OnPickerDateUpdate ,它是显示的月份/年份(取决于选择器类型和激活的视图),以便在其更改时执行某些操作。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n
\r\n Month news (@_pickerDate.ToString(\"yyyy-MM\"))\r\n
\r\n
\r\n Change month to see other news\r\n
\r\n
    \r\n @foreach (var note in _notes)\r\n {\r\n
  • \r\n @note\r\n
  • \r\n }\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n private DateOnly _date = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _pickerDate;\r\n private IEnumerable _notes = new List();\r\n private List _allNotes = new List\r\n {\r\n \"President met with prime minister\",\r\n \"New power plant opened\",\r\n \"Rocket launch announced\",\r\n \"Global warming discussion cancelled\",\r\n \"Company changed its location\",\r\n };\r\n\r\n public void HandleOnPickerDateUpdate(DateOnly date)\r\n {\r\n _pickerDate = date;\r\n _notes = new List\r\n {\r\n _allNotes[Random.Shared.Next(0,5)],\r\n _allNotes[Random.Shared.Next(0,5)],\r\n _allNotes[Random.Shared.Next(0,5)]\r\n }.Distinct();\r\n }\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickers.props.PickerDate", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "range", - "Title": "范围", - "Description": "

日期选择器使用 Range 选择日期范围。 当使用 Range 日期选择器要求其model是长度为2的数组或空数组。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n private List _dates = new List\r\n {\r\n new DateOnly(2019,9,10),\r\n new DateOnly(2019,9,20)\r\n };\r\n\r\n public string DateRangeText => string.Join(\" ~ \", _dates.Select(date => date.ToString(\"yyyy-MM-dd\")));\r\n }", - "Type": "Demos.Components.Pickers.children.DatePickers.props.Range", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "readonly", - "Title": "只读", - "Description": "

可以添加 Readonly 来禁用选择新日期。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickers.props.Readonly", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "showCurrent", - "Title": "显示当前月份", - "Description": "

默认情况下,当前日期是使用边框按钮显示的 - ShowCurrent 允许您删除边框或选择其他日期显示为当前日期。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker1 = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _picker2 = new DateOnly(2013, 7, 29);\r\n private DateOnly _current = new DateOnly(2013, 07, 13);\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickers.props.ShowCurrent", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "showSiblingMonths", - "Title": "显示相邻月份", - "Description": "

默认情况下,上个月和下个月的天数不可见。它们可以使用 ShowAdjacentMonths 属性显示。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickers.props.ShowSiblingMonths", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "width", - "Title": "宽度", - "Description": "

您可以指定选择器的宽度或使其全宽度。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code{\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickers.props.Width", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "dateButtons", - "Title": "日期按钮(TODO)", - "Description": "", - "Code": "
\r\n TODO...\r\n
", - "Type": "Demos.Components.Pickers.children.DatePickers.events.DateButtons", - "Style": "", - "Debug": false, - "Group": 1 - }, - { - "Order": 0, - "Name": "dateEvents", - "Title": "日期事件(TODO)", - "Description": "", - "Code": "
\r\n TODO...\r\n
\r\n\r\n", - "Type": "Demos.Components.Pickers.children.DatePickers.events.DateEvents", - "Style": "", - "Debug": false, - "Group": 1 - }, - { - "Order": 0, - "Name": "activePicker", - "Title": "激活的选择器", - "Description": "

您可以创建一个生日选择器-默认情况下从年份选择器开始,限制日期范围,并在选择日期后关闭选择器菜单,使之成为完美的生日选择器。

\n", - "Code": "
\r\n
Active picker: @_activePicker
\r\n \r\n \r\n \r\n \r\n \r\n _activePicker=val\"\r\n Max=\"DateOnly.FromDateTime(DateTime.Now)\"\r\n Min=\"new DateOnly(1950,1,1)\">\r\n \r\n \r\n
\r\n\r\n @code {\r\n private DatePickerType _activePicker = DatePickerType.Year;\r\n private DateOnly _date = DateOnly.FromDateTime(DateTime.Now);\r\n private bool _menu;\r\n }\r\n", - "Type": "Demos.Components.Pickers.children.DatePickers.misc.ActivePicker", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "dialogAndMenu", - "Title": "对话框和菜单", - "Description": "

将选择器集成到 MTextField 中时,建议使用 Readonly。 这将防止手机键盘触发。 要节省垂直空间,还可以隐藏选择器标题。

\n

拾取器公开一个允许您挂起保存和取消功能的插槽。 这将保持一个用户取消时可以替换的旧值。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n _menu2=false\">\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _prevDate = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _date = DateOnly.FromDateTime(DateTime.Now);\r\n private bool _menu;\r\n private bool _modal;\r\n private bool _menu2;\r\n\r\n public void MenuCancel()\r\n {\r\n _date = _prevDate;\r\n _menu = false;\r\n }\r\n\r\n public void MenuOK()\r\n {\r\n _prevDate = _date;\r\n _menu = false;\r\n }\r\n\r\n public void ModalCancel()\r\n {\r\n _date = _prevDate;\r\n _modal = false;\r\n }\r\n\r\n public void ModalOK()\r\n {\r\n _prevDate = _date;\r\n _modal = false;\r\n }\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.DatePickers.misc.DialogAndMenu", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "formatting", - "Title": "自定义格式", - "Description": "

如果需要以自定义格式(不同于YYYY-MM-DD)显示日期,则需要使用格式化功能。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n _menu1=false\"\r\n NoTitle>\r\n \r\n \r\n

Date in ISO format: @Date.ToString(\"yyyy-MM-dd\")

\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n _menu2=false\"\r\n NoTitle>\r\n \r\n \r\n

Date in ISO format: @Date.ToString(\"yyyy-MM-dd\")

\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n private DateOnly _date = DateOnly.FromDateTime(DateTime.Now);\r\n private string _dateFormatted = FormateDate(DateOnly.FromDateTime(DateTime.Now));\r\n private bool _menu1;\r\n private bool _menu2;\r\n\r\n private DateOnly Date\r\n {\r\n get\r\n {\r\n return _date;\r\n }\r\n set\r\n {\r\n _date = value;\r\n _dateFormatted = FormateDate(_date);\r\n }\r\n }\r\n\r\n public string ComputedDateFormatted => FormateDate(_date);\r\n\r\n public static string FormateDate(DateOnly date)\r\n {\r\n return date.ToString(\"MM/dd/yyyy\");\r\n }\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.DatePickers.misc.Formatting", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "formattingWithExternalLibraries", - "Title": "使用外部库自定义格式(TODO)", - "Description": "

也可以使用外部库(如Moment.js或date fns)格式化日期

\n", - "Code": "
\r\n TODO...\r\n
\r\n\r\n", - "Type": "Demos.Components.Pickers.children.DatePickers.misc.FormattingWithExternalLibraries", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "internationalization", - "Title": "国际化(TODO)", - "Description": "

日期选择器通过JavaScript日期对象支持国际化。使用区域设置道具指定BCP 47语言标记,然后使用每周第一天属性设置每周第一天。

\n", - "Code": "\r\n \r\n\r\n\r\n @code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n }\r\n\r\n", - "Type": "Demos.Components.Pickers.children.DatePickers.misc.Internationalization", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "orientation", - "Title": "方向", - "Description": "

日期选择器有两种方向变化,纵向(默认)和横向。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n @code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n private bool _landscape;\r\n }\r\n\r\n", - "Type": "Demos.Components.Pickers.children.DatePickers.misc.Orientation", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/DatePickers.svg", - "Cols": 1, - "Related": [ - "/components/buttons", - "/components/text-fields", - "/components/time-pickers" - ], - "Subtitle": "日期选择器", - "Title": "Date pickers", - "Type": "日期选择器" - }, - { - "Desc": "

MDatePicker 可以用作一个独立的月份选择器组件。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n", - "注意": "\n \n

MDatePicker 接受ISO 8601 日期 字符串(YYYY-MM-DD)。 有关 ISO 8601 和其他标准的更多信息,请访问 ISO(国际标准化组织) 国际标准 官方网页。

\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.6312442+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

月份选择器有两种方向变化:纵向 (默认) 和横向。

\n", - "Code": "\r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.DatePickersMonth.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "allowedDates", - "Title": "允许的月份", - "Description": "

您可以使用数组、对象或函数指定允许的月份。

\n", - "Code": "\r\n \r\n\r\n\r\n@code {\r\n private DateOnly _date = DateOnly.Parse(\"2017-12\");\r\n private DateOnly _min = DateOnly.Parse(\"2017-06\");\r\n private DateOnly _max = DateOnly.Parse(\"2019-10\");\r\n private Func _allowedMonths = value => value.Month % 2 == 0;\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.AllowedDates", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "colors", - "Title": "颜色", - "Description": "

可以使用 ColorHeaderColor 设置日期选择器颜色。 如果没有提供 HeaderColor, 头部将使用 Color 值。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _picker2 = DateOnly.FromDateTime(DateTime.Now);\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.Colors", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "icons", - "Title": "图标", - "Description": "

您可以覆盖选择器中使用的默认图标。

\n", - "Code": "\r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.Icons", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "multiple", - "Title": "多选", - "Description": "

日期选择器可以使用 Multiple 选择多个日期。 如果使用 Multiple ,日期选择器就会要求它的model是一个数组。

\n", - "Code": "\r\n \r\n\r\n\r\n@code {\r\n private IList _months = new List\r\n {\r\n new DateOnly(2018,9,1),\r\n new DateOnly(2018,10,1)\r\n };\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.Multiple", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "readonly", - "Title": "只读", - "Description": "

可以添加 Readonly 来禁用选择新日期。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.Readonly", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "showCurrent", - "Title": "显示当前月份", - "Description": "

默认情况下,当前日期是使用边框按钮显示的 - ShowCurrent 允许您删除边框或选择其他日期显示为当前日期。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker1 = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _picker2 = new DateOnly(2013, 9, 1);\r\n private DateOnly _current = new DateOnly(2013, 7, 1);\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.ShowCurrent", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "width", - "Title": "宽度", - "Description": "

您可以指定选择器的宽度或使其全宽度。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n}", - "Type": "Demos.Components.Pickers.children.DatePickersMonth.props.Width", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "dialogAndMenu", - "Title": "对话框和菜单", - "Description": "

将选择器集成到 MTextField 中时,建议使用 Readonly。 这将防止手机键盘触发。 要节省垂直空间,还可以隐藏选择器标题。

\n

拾取器公开一个允许您挂起保存和取消功能的插槽。 这将保持一个用户取消时可以替换的旧值。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n OK\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private DateOnly _prevDate = DateOnly.FromDateTime(DateTime.Now);\r\n private DateOnly _date = DateOnly.FromDateTime(DateTime.Now);\r\n private bool _menu;\r\n private bool _modal;\r\n\r\n public void MenuCancel()\r\n {\r\n _date = _prevDate;\r\n _menu = false;\r\n }\r\n\r\n public void MenuOk()\r\n {\r\n _prevDate = _date;\r\n _menu = false;\r\n }\r\n\r\n public void ModalCancel()\r\n {\r\n _date = _prevDate;\r\n _modal = false;\r\n }\r\n\r\n public void ModalOk()\r\n {\r\n _prevDate = _date;\r\n _modal = false;\r\n }\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.DatePickersMonth.misc.DialogAndMenu", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "internationalization", - "Title": "国际化(TODO)", - "Description": "

日期选择器通过JavaScript日期对象支持国际化。使用区域设置道具指定BCP 47语言标记,然后使用每周第一天属性设置每周第一天。

\n", - "Code": "\r\n \r\n\r\n\r\n @code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n }\r\n\r\n", - "Type": "Demos.Components.Pickers.children.DatePickersMonth.misc.Internationalization", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 0, - "Name": "orientation", - "Title": "方向", - "Description": "

日期选择器有两种方向变化,纵向(默认)和横向。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n @code {\r\n private DateOnly _picker = DateOnly.FromDateTime(DateTime.Now);\r\n private bool _landscape;\r\n }\r\n\r\n", - "Type": "Demos.Components.Pickers.children.DatePickersMonth.misc.Orientation", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/DatePickersMonth.svg", - "Cols": 1, - "Related": [ - "/components/date-pickers", - "/components/menus", - "/components/time-pickers" - ], - "Subtitle": "月份选择器", - "Title": "Date pickers month", - "Type": "月份选择器" - }, - { - "Desc": "

MTimePicker 是独立的组件,可以用于许多现有的 MASA Blazor 组件。 它为用户提供了选择时间的视觉表现。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.6402418+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

时间选择器默认情况下启用了浅色主题。

\n", - "Code": "\r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker = TimeOnly.FromDateTime(DateTime.Now);\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "allowedTimes", - "Title": "允许的时间", - "Description": "

您可以使用数组、对象和函数指定允许的时间。 您也可以指定时间步进/精度/间隔 - 例如10分钟。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _time = new TimeOnly(11, 15, 0);\r\n private TimeOnly? _timeStep = new TimeOnly(10, 10, 0);\r\n private Func _allowedHours = v => v % 2 != 0;\r\n private Func _allowedMinutes = v => v >= 10 && v <= 50;\r\n private Func _allowedStep = m => m % 10 == 0;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.props.AllowedTimes", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "AMPMInTitle", - "Title": "标题中的AM/PM", - "Description": "

您可以移动 AM/PM 切换到选择器的标题。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.props.AMPMInTitle", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "colors", - "Title": "颜色", - "Description": "

时间选择器颜色可以使用 ColorHeaderColor 属性设定。如果没有提供 HeaderColor 属性, 头部将使用 Color 属性值。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _e4;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.props.Colors", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "disabled", - "Title": "禁用", - "Description": "

您无法使用已禁用的选择器。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.props.Disabled", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "elevation", - "Title": "高度(z轴)", - "Description": "

通过设置 Elevation 从 0 到 24 来突出 MTimePicker 组件。 高度(z轴)将修改 box-shadow css 属性。

\n", - "Code": "\r\n \r\n\r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.props.Elevation", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "format", - "Title": "格式化", - "Description": "

时间选择器可以切换为24小时格式。 请注意, Format 只定义选取器的显示方式,选取器的值 (model) 总是以24小时格式。

\n", - "Code": "\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _e7;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.props.Format", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "noTitle", - "Title": "无标题", - "Description": "

您可以删除选择器的标题。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.props.NoTitle", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "range", - "Title": "范围", - "Description": "

这是一个用 MinMax 合并选择器的例子。

\n", - "Code": "
\r\n

Plan your event:

\r\n \r\n \r\n

Start:@_start

\r\n \r\n
\r\n \r\n

End:@_end

\r\n \r\n
\r\n
\r\n
\r\n\r\n@code {\r\n private TimeOnly? _start;\r\n private TimeOnly? _end;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.props.Range", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "readonly", - "Title": "只读", - "Description": "

只读选择器的行为与禁用的一样,但看起来像默认的。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.props.Readonly", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "scrollable", - "Title": "可滚动", - "Description": "

您可以使用鼠标滚轮编辑时间选择器的值。

\n", - "Code": "\r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.props.Scrollable", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "useSeconds", - "Title": "使用秒", - "Description": "

时间选择器可以输入秒数。

\n", - "Code": "\r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _picker;\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.props.UseSeconds", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "width", - "Title": "宽度", - "Description": "

您可以指定选择器的宽度或使其为全宽度。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _time = new TimeOnly(11, 15, 1);\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.props.Width", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "dialogAndMenu", - "Title": "对话框和菜单", - "Description": "

由于选择器的灵活性,您可以真正按照自己的意愿进行输入。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n @if (_menu2)\r\n {\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n @if (_modal2)\r\n {\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n OK\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private TimeOnly? _prevTime;\r\n private TimeOnly? _time;\r\n private bool _menu2;\r\n private bool _modal2;\r\n\r\n public void Cancel()\r\n {\r\n _time = _prevTime;\r\n _modal2 = false;\r\n }\r\n\r\n public void Ok()\r\n {\r\n _prevTime = _time;\r\n _modal2 = false;\r\n }\r\n}\r\n\r\n", - "Type": "Demos.Components.Pickers.children.TimePickers.misc.DialogAndMenu", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/TimePickers.svg", - "Cols": 1, - "Related": [ - "/components/buttons", - "/components/date-pickers", - "/components/text-fields" - ], - "Subtitle": "时间选择器", - "Title": "Time pickers", - "Type": "时间选择器" - }, - { - "Order": 0, - "OtherDocs": {}, - "LastWriteTime": "2021-11-17T17:23:13.6412417+08:00", - "DemoList": [ - { - "Order": 20, - "Name": "Actions", - "Title": "操作", - "Description": "

提供一组响应式的操作按钮。

\n", - "Code": "@using Action = MASA.Blazor.Presets.Action\r\n\r\n \r\n \r\n \r\n\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n \r\n @if (context.Header.Value == \"actions\")\r\n {\r\n List items = new()\r\n {\r\n new Action()\r\n {\r\n Label = \"Edit\",\r\n Icon = \"mdi-pencil\",\r\n OnClick = EventCallback.Factory.Create(this, () => EditItem(context.Item))\r\n },\r\n new Action()\r\n {\r\n Label = \"Remove\",\r\n Icon = \"mdi-delete\",\r\n OnClick = EventCallback.Factory.Create(this, () => DeleteItem(context.Item))\r\n },\r\n new Action()\r\n {\r\n Label = \"Loading\",\r\n Icon = \"mdi-reload\",\r\n OnClick = EventCallback.Factory.Create(this, async () => await Task.Delay(1000))\r\n },\r\n };\r\n\r\n \r\n }\r\n else\r\n {\r\n @context.Value\r\n }\r\n \r\n\r\n\r\n@code {\r\n private double width = 100;\r\n\r\n List actions = new()\r\n {\r\n new Action() { Label = \"alert\", Icon = \"mdi-alert-outline\" },\r\n new Action() { Label = \"heart\", Icon = \"mdi-heart\", Color = \"red\" },\r\n new Action() { Label = \"information\", Icon = \"mdi-information\", Disabled = true },\r\n new Action() { Label = \"check\", Icon = \"mdi-check\" },\r\n };\r\n\r\n List desserts = new()\r\n {\r\n new Dessert\r\n {\r\n Name = \"Frozen Yogurt\",\r\n Calories = 159,\r\n Fat = 6.0,\r\n Carbs = 24,\r\n Protein = 4.0\r\n },\r\n new Dessert\r\n {\r\n Name = \"Ice cream sandwich\",\r\n Calories = 237,\r\n Fat = 9.0,\r\n Carbs = 37,\r\n Protein = 4.3\r\n },\r\n new Dessert\r\n {\r\n Name = \"Eclair\",\r\n Calories = 262,\r\n Fat = 16.0,\r\n Carbs = 23,\r\n Protein = 6.0\r\n },\r\n new Dessert\r\n {\r\n Name = \"Jelly bean\",\r\n Calories = 375,\r\n Fat = 0.0,\r\n Carbs = 94,\r\n Protein = 0.0\r\n },\r\n new Dessert\r\n {\r\n Name = \"Lollipop\",\r\n Calories = 392,\r\n Fat = 0.2,\r\n Carbs = 98,\r\n Protein = 0\r\n },\r\n new Dessert\r\n {\r\n Name = \"KitKat\",\r\n Calories = 518,\r\n Fat = 26.0,\r\n Carbs = 65,\r\n Protein = 7\r\n }\r\n };\r\n\r\n List> headers = new()\r\n {\r\n new()\r\n {\r\n Text = \"Dessert (100g serving)\",\r\n Align = \"start\",\r\n Sortable = false,\r\n Value = nameof(Dessert.Name)\r\n },\r\n new() { Text = \"Calories\", Value = nameof(Dessert.Calories) },\r\n new() { Text = \"Actions\", Value = \"actions\", Sortable = false }\r\n };\r\n\r\n public void EditItem(Dessert item)\r\n {\r\n }\r\n\r\n public void DeleteItem(Dessert item)\r\n {\r\n }\r\n\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n }\r\n\r\n}", - "Type": "Demos.Components.Presets.props.Actions", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "confirm", - "Title": "确认框", - "Description": "

提供标准类型的确认对话框。

\n", - "Code": "@using AlertTypes = BlazorComponent.AlertTypes\r\n\r\n
\r\n Show()\">Default\r\n Show(AlertTypes.Success)\">Success\r\n Show(AlertTypes.Info)\">Info\r\n Show(AlertTypes.Warning)\">Warning\r\n Show(AlertTypes.Error)\">Error\r\n
\r\n\r\n\r\n 您确认该操作吗?\r\n\r\n\r\n@code {\r\n\r\n AlertTypes type = 0;\r\n bool visible;\r\n\r\n void Show(AlertTypes t = 0)\r\n {\r\n type = t;\r\n visible = true;\r\n }\r\n\r\n void Hide()\r\n {\r\n visible = false;\r\n }\r\n\r\n void Ok()\r\n {\r\n visible = false;\r\n }\r\n\r\n}", - "Type": "Demos.Components.Presets.props.Confirm", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "formModal", - "Title": "表单对话框", - "Description": "

将表单和Modal结合,验证数据正确性。

\n", - "Code": "@using System.ComponentModel.DataAnnotations\r\n@using System.Text.Json;\r\n\r\n
\r\n _addModal.Show()\" Class=\"mb-1\">Add User\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r => r\"\r\n HideDetails=\"@(\"auto\")\">\r\n \r\n \r\n \r\n \r\n @JsonSerializer.Serialize(_addModal.Data)\r\n \r\n \r\n\r\n \r\n username: @_user?.UserName\r\n city: @_user?.City\r\n \r\n gender: @_user?.Gender\r\n favorites: @string.Join(\",\", _user?.Favorites ?? new List())\r\n \r\n _addModal.Show(_user?.ShallowCopy()))\"\r\n Color=\"primary\"\r\n Disabled=\"@(_user == null)\"\r\n Text\r\n Small>\r\n Edit\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n readonly List _favorites = new() { \"Basketball\", \"Football\", \"Ping-pong\", \"Badminton\" };\r\n \r\n DataModal _addModal = new();\r\n User _user;\r\n\r\n private void HandleOnCancel()\r\n {\r\n _addModal.Hide();\r\n }\r\n\r\n private async Task HandleOnClick()\r\n {\r\n _addModal.ShowLoading();\r\n\r\n if (_addModal.HasValue)\r\n {\r\n // Update\r\n }\r\n else\r\n {\r\n // Add\r\n }\r\n \r\n await Task.Delay(1000);\r\n\r\n _user = _addModal.Data;\r\n\r\n _addModal.HideLoading();\r\n\r\n _addModal.Hide();\r\n }\r\n\r\n public class User : IShallowCopy\r\n {\r\n [Required]\r\n public string UserName { get; set; }\r\n\r\n [Range(0, 1)]\r\n public int Gender { get; set; }\r\n\r\n [Required]\r\n public string City { get; set; }\r\n\r\n [Required]\r\n public List Favorites { get; set; } = new() { };\r\n\r\n public User ShallowCopy()\r\n {\r\n var user = (User)this.MemberwiseClone();\r\n user.Favorites = Favorites;\r\n return user;\r\n }\r\n }\r\n\r\n public class DataModal where T : class, new()\r\n {\r\n public bool Visible { get; set; }\r\n\r\n public T Data { get; private set; }\r\n\r\n public bool HasValue { get; private set; }\r\n\r\n public bool Loading { get; private set; }\r\n\r\n public DataModal()\r\n {\r\n Data = new T();\r\n }\r\n\r\n public void Show() => Visible = true;\r\n\r\n /// \r\n /// 显示弹窗\r\n /// \r\n /// \r\n /// 写入数据之前请确保此对象是拷贝过的\r\n public void Show(T data)\r\n {\r\n Visible = true;\r\n HasValue = true;\r\n Data = data;\r\n }\r\n\r\n public virtual void Hide()\r\n {\r\n Visible = false;\r\n HasValue = false;\r\n Data = new T();\r\n }\r\n\r\n public bool ShowLoading() => Loading = true;\r\n\r\n public bool HideLoading() => Loading = false;\r\n }\r\n\r\n public interface IShallowCopy\r\n {\r\n public T ShallowCopy();\r\n }\r\n\r\n}", - "Type": "Demos.Components.Presets.props.FormModal", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "modal", - "Title": "对话框", - "Description": "

需要用户处理事务,又不希望跳转页面以致打断工作流程时,可以使用 Modal 在当前页面正中打开一个浮层,承载相应的操作。

\n", - "Code": "@using System.Text.Json;\r\n\r\n
\r\n _addModal.Show()\" Class=\"mb-1\">Add User\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r => r\"\r\n HideDetails=\"true\">\r\n \r\n \r\n \r\n r\"\r\n ItemText=\"r => r\"\r\n HideDetails=\"true\">\r\n \r\n \r\n \r\n \r\n @JsonSerializer.Serialize(_addModal.Data)\r\n \r\n \r\n\r\n \r\n username: @_user?.UserName\r\n city: @_user?.City\r\n gender: @_user?.Gender\r\n friends: @string.Join(\",\", _user?.Friends ?? new List())\r\n favorites: @string.Join(\",\", _user?.Favorites ?? new List())\r\n \r\n _addModal.Show(_user?.ShallowCopy())\"\r\n Color=\"primary\"\r\n Disabled=\"@(_user == null)\"\r\n Text\r\n Small>\r\n Edit\r\n \r\n \r\n \r\n
\r\n\r\n@code {\r\n readonly List _favorites = new() { \"Basketball\", \"Football\", \"Ping-pong\", \"Badminton\" };\r\n readonly List _friends = new() { \"Rachel Greene\", \"Monica Geller\", \"Joey Tribbiani\", \"Ross Geller\", \"Chandler Bing\", \"Phoebe Buffay\" };\r\n\r\n DataModal _addModal = new();\r\n User _user;\r\n\r\n private void HandleOnCancel()\r\n {\r\n _addModal.Hide();\r\n }\r\n\r\n private async Task HandleOnClick()\r\n {\r\n _addModal.ShowLoading();\r\n\r\n if (_addModal.HasValue)\r\n {\r\n // Update\r\n }\r\n else\r\n {\r\n // Add\r\n }\r\n\r\n await Task.Delay(1000);\r\n\r\n _user = _addModal.Data;\r\n\r\n _addModal.HideLoading();\r\n\r\n _addModal.Hide();\r\n }\r\n\r\n public class User : IShallowCopy\r\n {\r\n public string UserName { get; set; }\r\n public int Gender { get; set; }\r\n public string City { get; set; }\r\n public List Favorites { get; set; } = new() { };\r\n public List Friends { get; set; } = new() { };\r\n\r\n public User ShallowCopy()\r\n {\r\n var user = (User)this.MemberwiseClone();\r\n user.Friends = Friends;\r\n user.Favorites = Favorites;\r\n return user;\r\n }\r\n }\r\n\r\n public class DataModal where T : class, new()\r\n {\r\n public bool Visible { get; set; }\r\n\r\n public T Data { get; private set; }\r\n\r\n public bool HasValue { get; private set; }\r\n\r\n public bool Loading { get; private set; }\r\n\r\n public DataModal()\r\n {\r\n Data = new T();\r\n }\r\n\r\n public void Show() => Visible = true;\r\n\r\n /// \r\n /// 显示弹窗\r\n /// \r\n /// \r\n /// 写入数据之前请确保此对象是拷贝过的\r\n public void Show(T data)\r\n {\r\n Visible = true;\r\n HasValue = true;\r\n Data = data;\r\n }\r\n\r\n public virtual void Hide()\r\n {\r\n Visible = false;\r\n HasValue = false;\r\n Data = new T();\r\n }\r\n\r\n public bool ShowLoading() => Loading = true;\r\n\r\n public bool HideLoading() => Loading = false;\r\n }\r\n\r\n public interface IShallowCopy\r\n {\r\n public T ShallowCopy();\r\n }\r\n\r\n}", - "Type": "Demos.Components.Presets.props.Modal", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "pageHeader", - "Title": "页头", - "Description": "

一个比较通用的页头,包括了标题,副标题,操作按钮和搜索栏。

\n", - "Code": "\r\n \r\n mdi-plusAdd Order\r\n \r\n\r\n \r\n \r\n mdi-refresh\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n i\"\r\n ItemText=\"i => i\"\r\n HideDetails=\"true\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n visible1 = false\">\r\n Cancel\r\n \r\n { start = date1.ToShortDateString(); visible1 = false; }\">\r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n visible2 = false\">\r\n Cancel\r\n \r\n { end = date2.ToShortDateString(); visible2 = false; }\">\r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n readonly List users = new() { \"Rachel Greene\", \"Monica Geller\", \"Joey Tribbiani\", \"Ross Geller\", \"Chandler Bing\", \"Phoebe Buffay\" };\r\n\r\n DateOnly date1 = DateOnly.FromDateTime(DateTime.Now);\r\n DateOnly date2 = DateOnly.FromDateTime(DateTime.Now);\r\n\r\n bool visible1;\r\n bool visible2;\r\n\r\n string orderId;\r\n string user;\r\n string start;\r\n string end;\r\n\r\n void OnBack()\r\n {\r\n // navigate\r\n }\r\n\r\n Task OnSearch()\r\n {\r\n return Task.Delay(1000);\r\n }\r\n\r\n void OnClear()\r\n {\r\n orderId = null;\r\n user = null;\r\n start = null;\r\n end = null;\r\n }\r\n}", - "Type": "Demos.Components.Presets.props.PageHeader", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 30, - "Name": "sidebar", - "Title": "侧边栏", - "Description": "

因为MListMListGroupMListItemMListItemGroup这些组件的联系比较松散,无法通过一个给定的值来达到 MListGroup 自动展开的效果。因此做了一个这样的组件。

\n", - "Code": " m.Label\"\r\n Icon=\"m => m.Icon\"\r\n Key=\"m => m.Value\"\r\n Children=\"m => m.SubMenus\"\r\n TItem=\"Menu\"\r\n OnClick=\"Click\">\r\n\r\n\r\n@code {\r\n\r\n static List menus = new()\r\n {\r\n new Menu() { Label = \"Home\", Icon = \"mdi-home\", Value = \"Home\" },\r\n new Menu()\r\n {\r\n Label = \"Users\",\r\n Icon = \"mdi-account-circle\",\r\n Value = \"Users\",\r\n SubMenus = new List()\r\n {\r\n new()\r\n {\r\n Label = \"Admin\",\r\n SubMenus = new List()\r\n {\r\n new() { Label = \"Management\", Icon = \"mdi-account-multiple-outline\", Value = \"Management\" },\r\n new() { Label = \"Settings\", Icon = \"mdi-cog-outline\", Value = \"Settings\" },\r\n }\r\n },\r\n new()\r\n {\r\n Label = \"Actions\",\r\n SubMenus = new List()\r\n {\r\n new() { Label = \"Create\", Icon = \"mdi-plus-outline\", Value = \"Create\" },\r\n new() { Label = \"Read\", Icon = \"mdi-file-outline\", Value = \"Read\" },\r\n new() { Label = \"Update\", Icon = \"mdi-update\", Value = \"Update\" },\r\n new() { Label = \"Delete\", Icon = \"mdi-delete\", Value = \"Delete\" },\r\n }\r\n },\r\n }\r\n },\r\n };\r\n\r\n StringNumber selectedKey = \"Management\";\r\n\r\n void Click(Menu item)\r\n {\r\n // code with clicked item\r\n }\r\n\r\n class Menu\r\n {\r\n public string Label { get; set; }\r\n\r\n public string Value { get; set; }\r\n\r\n public string Icon { get; set; }\r\n\r\n public List SubMenus { get; set; }\r\n }\r\n\r\n}", - "Type": "Demos.Components.Presets.props.Sidebar", - "Style": "", - "Debug": false, - "Group": 0 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/buttons", - "/components/dialogs", - "/components/forms" - ], - "Subtitle": "预置组件", - "Title": "Presets", - "Type": "预置组件" - }, - { - "Desc": "

该组件用于向用户展示环形的数据。 它也可以设置为不确定的状态来表示加载。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.6512445+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

In its simplest form, v-progress-circular displays a circular progress bar. Use the value prop to control the progress.

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressCircular.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "color", - "Title": "颜色", - "Description": "

可以使用 Color 属性为 MProgressCircular 设置其他颜色。

\n", - "Code": "
\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n
\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressCircular.props.Color", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "indeterminate", - "Title": "不定线条", - "Description": "

使用 Indeterminate 属性,MProgressCircular 将会一直处于动画中。

\n", - "Code": "
\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n
\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressCircular.props.Indeterminate", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "rotate", - "Title": "旋转", - "Description": "

Rotate 参数使您能够自定义 MProgressCircular 的原点。

\n", - "Code": "@using System.Timers;\r\n@using Timer = System.Timers.Timer;\r\n\r\n
\r\n\t@_value\r\n\t@_value\r\n\t@_value\r\n\t@_value\r\n
\r\n\r\n@code\r\n{\r\n private StringNumber _value = 0;\r\n protected Timer Timer { get; set; }\r\n protected override void OnInitialized()\r\n {\r\n if (Timer == null)\r\n {\r\n Timer = new Timer\r\n {\r\n Interval = 1000\r\n };\r\n Timer.Elapsed += Timer_Elapsed;\r\n Timer.Start();\r\n }\r\n }\r\n \r\n private async void Timer_Elapsed(object sender, ElapsedEventArgs e)\r\n {\r\n await InvokeAsync(() =>\r\n {\r\n var value = _value.ToInt32();\r\n if (value >= 100)\r\n {\r\n Timer.Stop();\r\n _value = 0;\r\n Timer.Start();\r\n }\r\n else\r\n {\r\n _value = value + 10;\r\n }\r\n \r\n StateHasChanged();\r\n });\r\n }\r\n}\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressCircular.props.Rotate", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "sizeorwidth", - "Title": "大小和宽度", - "Description": "

SizeWidth 属性允许您轻松修改 MProgressCircular 组件的大小和宽度。

\n", - "Code": "
\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n
\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressCircular.props.SizeOrWidth", - "Style": "", - "Debug": false, - "Group": 0 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/cards", - "/components/progress-linear", - "/components/lists" - ], - "Subtitle": "进度环", - "Title": "Progress circular", - "Type": "进度环" - }, - { - "Desc": "

该组件用于将数据环传递给用户。 也可以将其置于不确定状态来描述加载。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.6602416+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

最简单的形式, MProgressLinear 显示一个水平进度条。使用 Value 属性来控制进度。

\n", - "Code": "\r\n\t\r\n\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressLinear.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "BufferValue", - "Title": "缓冲值", - "Description": "

缓冲状态同时表示两个值。 主值由 @bind-Value 控制,而缓冲值则由 BufferValue 属性控制。

\n", - "Code": "@using System.Timers;\r\n@using Timer = System.Timers.Timer;\r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n@code\r\n{\r\n private double _value = 10;\r\n private double _bufferValue = 20;\r\n protected Timer Timer { get; set; }\r\n protected override void OnInitialized()\r\n {\r\n if (Timer == null)\r\n {\r\n Timer = new Timer\r\n {\r\n Interval = 2000\r\n };\r\n Timer.Elapsed += Timer_Elapsed;\r\n Timer.Start();\r\n }\r\n }\r\n\r\n private async void Timer_Elapsed(object sender, ElapsedEventArgs e)\r\n {\r\n await InvokeAsync(() =>\r\n {\r\n if (_bufferValue >= 100)\r\n {\r\n Timer.Stop();\r\n _value = 0;\r\n _bufferValue = 10;\r\n Timer.Start();\r\n }\r\n else\r\n {\r\n _value += new Random().NextDouble() * (15 - 5) + 5;\r\n _bufferValue += new Random().NextDouble() * (15 - 5) + 6;\r\n }\r\n\r\n StateHasChanged();\r\n });\r\n }\r\n}", - "Type": "Demos.Components.Progress.children.ProgressLinear.props.BufferValue", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "color", - "Title": "颜色", - "Description": "

您可以使用 ColorBackgroundColor 属性设置颜色。

\n", - "Code": "\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressLinear.props.Color", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "indeterminate", - "Title": "不定线条", - "Description": "

使用 Indeterminate 属性,MProgressLinear 会保持动画状态。

\n", - "Code": "\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressLinear.props.Indeterminate", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 8, - "Name": "query", - "Title": "查询", - "Description": "

Query 设置为 true 时,Query 属性值由不确定的真实性控制。

\n", - "Code": "@using System.Timers;\r\n@using Timer = System.Timers.Timer;\r\n\r\n\r\n \r\n\r\n\r\n@code {\r\n private bool _query;\r\n private bool _show = true;\r\n private double _value = 0;\r\n protected Timer Timer { get; set; }\r\n\r\n protected override void OnInitialized()\r\n {\r\n if (Timer == null)\r\n {\r\n Timer = new Timer\r\n {\r\n Interval = 1000\r\n };\r\n Timer.Elapsed += Timer_Elapsed;\r\n }\r\n QueryAndIndeterminate();\r\n }\r\n\r\n private async void Timer_Elapsed(object sender, ElapsedEventArgs e)\r\n {\r\n await InvokeAsync(() =>\r\n {\r\n if (_value == 100)\r\n {\r\n Timer.Stop();\r\n\r\n _show = false;\r\n StateHasChanged();\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(2000);\r\n QueryAndIndeterminate();\r\n });\r\n }\r\n else\r\n {\r\n _value += 25;\r\n\r\n StateHasChanged();\r\n }\r\n });\r\n }\r\n\r\n private void QueryAndIndeterminate()\r\n {\r\n _query = true;\r\n _show = true;\r\n _value = 0;\r\n\r\n InvokeAsync(StateHasChanged);\r\n\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(2500);\r\n\r\n _query = false;\r\n await InvokeAsync(StateHasChanged);\r\n Timer.Start();\r\n\r\n });\r\n }\r\n}\r\n\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressLinear.props.Query", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "reversed", - "Title": "反转", - "Description": "

使用 Reverse 属性显示反转的进度条(LTR模式为从右到左,RTL模式为从左到右)。

\n", - "Code": "\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n
\r\nIn specific cases you may want progress to display in left-to-right mode regardless of the application direction (LTR or RTL):\r\n\r\n \r\n\r\n\r\n@code {\r\n private bool _rtl = false;\r\n}\r\n", - "Type": "Demos.Components.Progress.children.ProgressLinear.props.Reversed", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 5, - "Name": "rounded", - "Title": "Rounded(圆角)", - "Description": "

Rounded 属性是另一种样式,它为 MProgressLinear 组件添加了圆角。

\n", - "Code": "\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressLinear.props.Rounded", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 6, - "Name": "stream", - "Title": "流", - "Description": "

Stream 属性可以使用 BufferValue 向用户表示正在进行一些操作。 您可以使用 BufferValueValue 的任何组合来实现您的设计。

\n", - "Code": "\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressLinear.props.Stream", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 7, - "Name": "striped", - "Title": "有条纹的", - "Description": "

使用 Striped 属性对 MProgressLinear 的值部分应用条纹背景。

\n", - "Code": "\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressLinear.props.Striped", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 9, - "Name": "default", - "Title": "默认值", - "Description": "

MProgressLinear 组件将在使用 @bind-Value 时响应用户输入。 您可以使用默认插槽或绑定本地model在进度内显示。 如果您在寻找线性组件上的高级功能,请查看 MSlider

\n", - "Code": "\r\n \r\n\r\n\r\n \r\n @($\"{context}%\")\r\n \r\n\r\n\r\n \r\n @($\"{context}%\")\r\n \r\n\r\n\r\n@code {\r\n private double _skill = 20;\r\n private double _knowledge = 33;\r\n private double _power = 78;\r\n\r\n private void SkillChanged(double value)\r\n {\r\n _skill = value;\r\n }\r\n\r\n private void KnowledgeChanged(double value)\r\n {\r\n _knowledge = value;\r\n }\r\n\r\n private void PowerChanged(double value)\r\n {\r\n _power = value;\r\n }\r\n}\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressLinear.contents.Default", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 10, - "Name": "determinate", - "Title": "定值线条", - "Description": "

进度条组件有一个由 @bind-Value 修改的确定状态。

\n", - "Code": "\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\t\r\n\r\n\r\n\r\n@code{\r\n\tprivate double _valueDeterminate = 50;\r\n\r\n\tprivate void HandleOnChange(double value)\r\n\t{\r\n\t\t_valueDeterminate = value;\r\n\t}\r\n}\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressLinear.misc.Determinate", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 11, - "Name": "fileLoader", - "Title": "文件加载器", - "Description": "

MProgressLinear 组件有助于向用户解释他们正在等待响应。

\n", - "Code": "\r\n \r\n \r\n\r\n \r\n\r\n My Files\r\n\r\n \r\n mdi-plus\r\n \r\n\r\n \r\n\r\n \r\n mdi-share-variant\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n \r\n Getting your files\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressLinear.misc.FileLoader", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 12, - "Name": "toolbarLoader", - "Title": "工具栏加载器", - "Description": "

使用 Absolute 属性,我们可以将 MProgressLinear 组件定位在 MToolbar 的底部。 我们还使用了 Active 属性来控制进度条的可见性。

\n", - "Code": "\r\n \r\n \r\n \r\n mdi-square\r\n mdi-circle\r\n mdi-triangle\r\n \r\n\r\n \r\n \r\n mdi-arrow-left\r\n \r\n\r\n My Recipes\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tLoading(true)\">\r\n Start loading\r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n private bool _loading = false;\r\n\r\n private void Loading(bool val)\r\n {\r\n if (!val) return;\r\n\r\n _loading = true;\r\n\r\n Task.Run(async () =>\r\n {\r\n await Task.Delay(3000);\r\n _loading = false;\r\n\r\n await InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n}\r\n\r\n", - "Type": "Demos.Components.Progress.children.ProgressLinear.misc.ToolbarLoader", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/cards", - "/components/progress-circular", - "/components/lists" - ], - "Subtitle": "进度条", - "Title": "Progress linear", - "Type": "进度条" - }, - { - "Desc": "

评级组件是构建用户小部件的一个特殊但至关重要的部分。 通过评级收集用户反馈是一种简单的分析工具,可以为您的产品或应用程序提供大量反馈。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.664242+08:00", - "DemoList": [ - { - "Order": 1, - "Name": "color", - "Title": "颜色", - "Description": "

MRating 组件可以根据您的需要进行着色,您可以设置选定和未选定的颜色。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n private double _rating = 4;\r\n}", - "Type": "Demos.Components.Rating.props.Color", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 5, - "Name": "iconLabel", - "Title": "图标标签", - "Description": "

为图标的提供标签。

\n", - "Code": "
\r\n \r\n
\r\n\r\n@code\r\n{\r\n private double _rating = 4;\r\n}", - "Type": "Demos.Components.Rating.props.IconLabel", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "incremented", - "Title": "增量", - "Description": "

MRating 有3个定义的图标,全图标、半图标和空图标。

\n", - "Code": "\r\n \r\n Rate Our Framework\r\n \r\n \r\n If you enjoy using Vuetify, please take a few seconds to rate your experience with the framework. It really helps!\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n No Thanks\r\n \r\n \r\n Rate Now\r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n private double _rating = 4.5;\r\n}", - "Type": "Demos.Components.Rating.props.Incremented", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "length", - "Title": "长度", - "Description": "

可以使用 MSilder 组件轻松更改 MRating 组件的长度。

\n", - "Code": "
\r\n \r\n \r\n
\r\n model:\r\n @_rating\r\n
\r\n
\r\n\r\n@code {\r\n private double _rating = 2;\r\n private double _length = 5;\r\n}", - "Type": "Demos.Components.Rating.props.Length", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "size", - "Title": "尺寸", - "Description": "

使用 MButton 中提供的相同尺寸等级,或提供您自己的Size属性。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n private double _rating = 4;\r\n}", - "Type": "Demos.Components.Rating.props.Size", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 6, - "Name": "itemContent", - "Title": "ItemContent", - "Description": "

提供插槽是为了让您在显示评级的方式上有更多的自由。

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n @(props.IsFilled ? \"mdi-star-circle\" : \"mdi-star-circle-outline\")\r\n \r\n \r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n private static double _rating = 4.5;\r\n private string[] _colors = new string[5] { \"green\", \"purple\", \"orange\", \"indigo\", \"red\" };\r\n private List _items = new List\r\n {\r\n new RatingItem { Index = 1, IsFilled = true, IsHovered = true, Value = 1, Click = x => _rating = 2},\r\n new RatingItem { Index = 2, IsFilled = true, IsHovered = true, Value = 2, Click = x => _rating = 3},\r\n new RatingItem { Index = 3, IsFilled = true, IsHovered = true, Value = 3, Click = x => _rating = 4},\r\n new RatingItem { Index = 4, IsFilled = true, IsHovered = true, Value = 4, Click = x => _rating = 5},\r\n new RatingItem { Index = 5, IsFilled = true, IsHovered = true, Value = 5, Click = x => _rating = 6}\r\n };\r\n\r\n private string GenColor(int index)\r\n {\r\n return _colors[index];\r\n }\r\n}", - "Type": "Demos.Components.Rating.contents.ItemContent", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 7, - "Name": "advanced", - "Title": "高级用法", - "Description": "

MRating 组件可与现有组件相匹配。 用丰富的功能和漂亮的设计构建复杂的例子。

\n", - "Code": "@using BlazorComponent.Web;\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n FORTNITE\r\n
\r\n Video game\r\n
\r\n
\r\n \r\n \r\n \r\n mdi-share-variant\r\n \r\n \r\n \r\n \r\n Share\r\n \r\n _dialog = false\">\r\n mdi-close-circle-outline\r\n \r\n \r\n \r\n \r\n \r\n mdi-facebook\r\n \r\n Facebook\r\n \r\n \r\n \r\n mdi-twitter\r\n \r\n Twitter\r\n \r\n \r\n \r\n mdi-email\r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n 16,544 reviews\r\n \r\n \r\n \r\n \r\n \r\n @($\"mdi-numeric-{props.Index}-box\")\r\n \r\n \r\n \r\n \r\n
\r\n Portions of the materials used are trademarks and/or copyrighted works of Epic Games, Inc. All rights reserved by Epic. This material is not official and is not endorsed by Epic.\r\n
\r\n
\r\n\r\n@code\r\n{\r\n [Inject]\r\n public Document Document { get; set; }\r\n\r\n private bool _copied = false;\r\n private bool _dialog = false;\r\n private double _rating = 10;\r\n private MTextField _ref;\r\n\r\n private List _items = new List\r\n {\r\n new RatingItem {Index = 1, IsFilled = true},\r\n new RatingItem {Index = 2, IsFilled = true},\r\n new RatingItem {Index = 3, IsFilled = true},\r\n new RatingItem {Index = 4, IsFilled = true},\r\n new RatingItem {Index = 5, IsFilled = true},\r\n new RatingItem {Index = 6, IsFilled = true},\r\n new RatingItem {Index = 7, IsFilled = true},\r\n new RatingItem {Index = 8, IsFilled = true},\r\n new RatingItem {Index = 9, IsFilled = true},\r\n new RatingItem {Index = 10, IsFilled = true}\r\n };\r\n\r\n private async Task Copy(FocusEventArgs args)\r\n {\r\n await Document.ExecCommandAsync(\"selectAll\", false, null);\r\n _copied = await Document.ExecCommandAsync(\"copy\", false, null);\r\n }\r\n}", - "Type": "Demos.Components.Rating.misc.Advanced", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 7, - "Name": "card", - "Title": "卡片评级", - "Description": "

MRating 组件与产品搭配良好,使你能够收集和显示客户反馈。

\n", - "Code": "\r\n \r\n \r\n \r\n
\r\n
Halycon Days
\r\n
Ellie Goulding
\r\n
(2013)
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Rate this album\r\n \r\n (@_rating)\r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n private double _rating = 4.3;\r\n}", - "Type": "Demos.Components.Rating.misc.Card", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/cards", - "/components/icons", - "/components/lists" - ], - "Subtitle": "评级", - "Title": "Ratings", - "Type": "评级" - }, - { - "Desc": "

MSheet 组件是许多组件的基础,如 MCard, MToolbar等等。 可用属性是Material Design的基础 - 纸和立面(阴影)的概念。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.6672411+08:00", - "DemoList": [ - { - "Order": 2, - "Name": "color", - "Title": "颜色", - "Description": "

纸张和基于它们的部件可以有不同的尺寸和颜色。

\n

MSheet 组件接受自定义Material Design Color值,例如 warningamber darken-3\n和 deep-purple accent,以及 rgbrgba十六进制值。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n #1: (3r x 2c)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n #2: (1r x 1c)\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n #3: (1r x 1c)\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n #5: (2r x 2c)\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n #4: (2r x 1c)\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n #6: (2r x 1c)\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n", - "Type": "Demos.Components.Sheet.props.Color", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "elevation", - "Title": "高度(z轴)", - "Description": "

MSheet 组件接受一个介于 0(默认值) 至 24 之间的自定义高度(z轴)。 elevation 属性修改 box-shadow 属性。 更多信息位于\nMD Elevation Design Specification

\n", - "Code": "\r\n \r\n @foreach (var elevation in _elevations)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n \r\n\r\n\r\n@code{\r\n private int[] _elevations = new int[]\r\n {\r\n 6,12,18\r\n };\r\n}\r\n\r\n\r\n", - "Type": "Demos.Components.Sheet.props.Elevation", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "rounded", - "Title": "圆角", - "Description": "

Rounded 增加了默认 4pxborder-radius。 默认情况下, MSheet 组件没有边框半径。 通过提供自定义的圆角值来定义半径的大小和位置;例如,圆角值 tr-xl l-pill 等于\nrounded-tr-xl rounded-l-pill。 关于圆角样式的其他信息在 Border Radius 页。

\n", - "Code": "\r\n \r\n @foreach (var rounded in _roundeds)\r\n {\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n@code{\r\n private StringBoolean[] _roundeds = new StringBoolean[]\r\n {\r\n false,true,\"xl\"\r\n };\r\n}\r\n\r\n\r\n", - "Type": "Demos.Components.Sheet.props.Rounded", - "Style": "", - "Debug": false, - "Group": 0 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Sheet.svg", - "Cols": 1, - "Related": [ - "/components/cards", - "/components/grid-system", - "/styles/elevation" - ], - "Subtitle": "工作表", - "Title": "Sheets", - "Type": "工作表" - }, - { - "Desc": "

MSkeletonLoader 组件是一个多功能工具,可以在一个项目中填充许多角色。 在其核心部分,该组件向用户提供了一个指示,指出某些东西即将出现但尚未可用。 有超过30个预先定义的选项,可以组合成定制的示例。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.6712414+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

MSkeletonLoader 组件为用户提供了一个内容即将到来/加载的视觉指示器。 这比传统的全屏加载器要好。

\n", - "Code": "\r\n \r\n \r\n", - "Type": "Demos.Components.SkeletonLoader.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "BoilerplateComponent", - "Title": "样板组件", - "Description": "

MSkeletonLoader可以在创建实体模型时用作样板设计。 混合和匹配各种预定义的选项或创建您自己独特的实现。 在此示例中,我们使用自定义 data 属性来将相同的属性一次应用到多个 MSkeletonLoader。

\n", - "Code": "\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n@code{\r\n Attrs _attrs = new Attrs\r\n {\r\n Class =\"mb-6\",\r\n Boilerplate=true,\r\n Elevation=2\r\n };\r\n\r\n class Attrs\r\n {\r\n public string Class { get; set; }\r\n\r\n public bool Boilerplate { get; set; } \r\n\r\n public StringNumber Elevation { get; set; } \r\n }\r\n}", - "Type": "Demos.Components.SkeletonLoader.misc.BoilerplateComponent", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/SkeletonLoader.svg", - "Cols": 1, - "Related": [ - "/components/cards", - "/components/progress-circular", - "/components/buttons" - ], - "Subtitle": "骨架装载器", - "Title": "Skeleton loaders", - "Type": "骨架装载器" - }, - { - "Desc": "

MSnackbar 组件用于向用户显示快速消息。 Snackbars 支持定位、移除延迟和回调。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.6742414+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

MSnackbar 以最简单的形式向用户显示一个临时且可关闭的通知。

\n", - "Code": "
\r\n \r\n Open Snackbar\r\n \r\n \r\n \r\n Hello, I'm a snackbar\r\n \r\n \r\n \r\n Close\r\n \r\n \r\n \r\n
\r\n\r\n@code{\r\n private bool _show;\r\n\r\n public void Show()\r\n {\r\n _show = true;\r\n }\r\n\r\n public void Close()\r\n {\r\n _show = false;\r\n }\r\n}\r\n", - "Type": "Demos.Components.Snackbar.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "multiLine", - "Title": "多行", - "Description": "

MultiLine 属性扩展了 MSnackbar 的高度,让您有更多的内容空间。

\n", - "Code": "
\r\n \r\n Open Snackbar\r\n \r\n\r\n \r\n \r\n Hello, I'm a snackbar\r\n \r\n \r\n _show = false\">\r\n Close\r\n \r\n \r\n \r\n
\r\n\r\n@code{\r\n private bool _show;\r\n\r\n public void Show()\r\n {\r\n _show = true;\r\n }\r\n}\r\n", - "Type": "Demos.Components.Snackbar.props.MultiLine", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "timeout", - "Title": "超时", - "Description": "

Timeout 属性允许您自定义 MSnackbar 隐藏之前的延迟。

\n", - "Code": "
\r\n _snackbar = true\">\r\n Open Snackbar\r\n \r\n\r\n \r\n \r\n My timeout is set to 2000.\r\n \r\n \r\n _snackbar = false\">\r\n Close\r\n \r\n \r\n \r\n
\r\n\r\n@code{\r\n private bool _snackbar;\r\n}\r\n", - "Type": "Demos.Components.Snackbar.props.Timeout", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "variants", - "Title": "变体", - "Description": "

使用 Text, Shaped, Outlined 等属性将不同样式应用于 MSnackbar

\n", - "Code": "\r\n \r\n Lorem ipsum dolor sit amet consectetur.\r\n \r\n\r\n \r\n Lorem ipsum dolor sit amet consectetur.\r\n \r\n\r\n \r\n Lorem ipsum dolor sit amet consectetur.\r\n \r\n\r\n \r\n Lorem ipsum dolor sit amet consectetur.\r\n \r\n\r\n \r\n Lorem ipsum dolor sit amet consectetur.\r\n \r\n\r\n\r\n", - "Type": "Demos.Components.Snackbar.props.Variants", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "vertical", - "Title": "垂直", - "Description": "

Vertical 属性允许您堆叠 MSnackbar 的内容。

\n", - "Code": "
\r\n _snackbar = true\">\r\n Open Snackbar\r\n \r\n\r\n \r\n \r\n Lorem ipsum dolor sit amet\r\n \r\n \r\n _snackbar = false\">\r\n Close\r\n \r\n \r\n \r\n
\r\n\r\n@code{\r\n private bool _snackbar;\r\n}\r\n", - "Type": "Demos.Components.Snackbar.props.Vertical", - "Style": "", - "Debug": false, - "Group": 0 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/buttons", - "/styles/colors", - "/components/forms" - ], - "Subtitle": "消息条", - "Title": "Snackbars", - "Type": "消息条" - }, - { - "Desc": "

MStepper 组件通过数字步骤显示进度。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.6882408+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

一个步骤组件适用于多种场景,包括购物车、创建记录等等。

\n", - "Code": "\r\n \r\n 1\">\r\n Name of step 1\r\n \r\n \r\n 2\">\r\n Name of step 2\r\n \r\n \r\n \r\n Name of step 3\r\n \r\n \r\n\r\n \r\n \r\n \r\n _step=2\">Continue\r\n Cancel\r\n \r\n \r\n \r\n _step=3\">Continue\r\n Cancel\r\n \r\n \r\n \r\n _step=1\">Continue\r\n Cancel\r\n \r\n \r\n\r\n\r\n@code {\r\n private int _step = 1;\r\n}", - "Type": "Demos.Components.Stepper.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "alternateLabel", - "Title": "备用标签", - "Description": "

步骤组件也有一个放置在步骤下方的备用标签样式。

\n", - "Code": "
\r\n \r\n \r\n \r\n Ad unit details\r\n \r\n\r\n \r\n\r\n \r\n Ad sizes\r\n \r\n\r\n \r\n\r\n \r\n Ad templates\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Ad unit details\r\n \r\n\r\n \r\n\r\n \r\n Ad sizes\r\n Optional\r\n \r\n\r\n \r\n\r\n \r\n Ad templates\r\n \r\n \r\n \r\n
\r\n\r\n", - "Type": "Demos.Components.Stepper.props.AlternateLabel", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "nonLinear", - "Title": "非线性的步骤条", - "Description": "

NonLinear 步骤可以让用户按照自己选择路线在流程中移动。

\n", - "Code": "
\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n
\r\n", - "Type": "Demos.Components.Stepper.props.NonLinear", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 3, - "Name": "vertical", - "Title": "垂直", - "Description": "

水平步骤线通过定义的步骤将用户沿Y轴移动。其他地方与水平方向的一致。

\n", - "Code": "\r\n 1\">\r\n Select an app\r\n Summarize if needed\r\n \r\n \r\n \r\n _step=2\">Continue\r\n Cancel\r\n \r\n 2\">\r\n Configure analytics for this app\r\n \r\n \r\n \r\n _step=3\">Continue\r\n Cancel\r\n \r\n 3\">\r\n Select an ad format and name ad unit\r\n \r\n \r\n \r\n _step=4\">Continue\r\n Cancel\r\n \r\n \r\n View setup instructions\r\n \r\n \r\n \r\n _step=1\">Continue\r\n Cancel\r\n \r\n\r\n\r\n@code {\r\n private int _step = 1;\r\n}", - "Type": "Demos.Components.Stepper.props.Vertical", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "alternativeLabelWithErrors", - "Title": "错误状态的备用标签", - "Description": "

错误状态同样可以应用于备用标签样式的显示。

\n", - "Code": "\r\n \r\n \r\n Ad type\r\n \r\n\r\n \r\n\r\n \r\n Ad style\r\n \r\n\r\n \r\n\r\n \r\n Custom channels\r\n Alert message\r\n \r\n\r\n \r\n\r\n \r\n Get code\r\n \r\n \r\n\r\n\r\n@code {\r\n List> rules = new() { Rule };\r\n \r\n private static bool Rule()\r\n {\r\n return false;\r\n }\r\n}\r\n", - "Type": "Demos.Components.Stepper.misc.AlternativeLabelWithErrors", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 5, - "Name": "dynamicSteps", - "Title": "动态步骤", - "Description": "

步骤条可以动态地添加或移除他们的步骤。 如果删除了一个当前激活的步骤,请务必通过更改应用model来说明这一点。

\n", - "Code": "
\r\n \r\n \r\n v\"\r\n ItemText=\"v=>v.ToString()\"\r\n Label=\"# of steps\">\r\n \r\n \r\n \r\n \r\n\r\n @for (var n = 1; n <= Steps; n++)\r\n {\r\n var i = n;\r\n i\"\r\n Step=\"i\"\r\n Editable>\r\n Step @i\r\n \r\n\r\n @if (i != Steps)\r\n {\r\n \r\n }\r\n }\r\n \r\n\r\n \r\n @for (var n = 1; n <= Steps; n++)\r\n {\r\n var i = n;\r\n \r\n \r\n \r\n\r\n NextStep(i)\">\r\n Continue\r\n \r\n\r\n \r\n Cancel\r\n \r\n \r\n }\r\n \r\n \r\n
\r\n\r\n@code {\r\n private List _items = new List { 2, 3, 4, 5, 6 };\r\n private int _el = 1;\r\n private int _steps = 2;\r\n protected int Steps\r\n {\r\n get\r\n {\r\n return _steps;\r\n }\r\n set\r\n {\r\n if (_el > value)\r\n {\r\n _el = value;\r\n }\r\n _steps = value;\r\n }\r\n }\r\n\r\n private void NextStep(int step)\r\n {\r\n if (step == Steps)\r\n {\r\n _el = 1;\r\n }\r\n else\r\n {\r\n _el = step + 1;\r\n }\r\n }\r\n}", - "Type": "Demos.Components.Stepper.misc.DynamicSteps", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 6, - "Name": "editableSteps", - "Title": "可编辑步骤", - "Description": "

用户随时可以选择可编辑的步骤并将跳转到该步。

\n", - "Code": "\r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n\r\n", - "Type": "Demos.Components.Stepper.misc.EditableSteps", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 7, - "Name": "errors", - "Title": "错误状态", - "Description": "

可以显示错误状态来通知用户必须采取的一些行动。

\n", - "Code": "\r\n \r\n \r\n Ad unit details\r\n \r\n\r\n \r\n\r\n \r\n Ad templates\r\n Alert message\r\n \r\n\r\n \r\n\r\n \r\n Ad sizes\r\n \r\n \r\n\r\n\r\n@code {\r\n List> rules = new() { Rule };\r\n\r\n private static bool Rule()\r\n {\r\n return false;\r\n }\r\n}", - "Type": "Demos.Components.Stepper.misc.Errors", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 8, - "Name": "horizontalSteps", - "Title": "水平步骤线", - "Description": "

水平步骤线通过定义的步骤将用户沿 x轴 移动。

\n", - "Code": "\r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n\r\n", - "Type": "Demos.Components.Stepper.misc.HorizontalSteps", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 9, - "Name": "linearSteppers", - "Title": "线性步骤", - "Description": "

线性步骤始终沿着你定义的路径移动。

\n", - "Code": "
\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n
\r\n", - "Type": "Demos.Components.Stepper.misc.LinearSteppers", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 10, - "Name": "nonEditableSteps", - "Title": "不可编辑步骤", - "Description": "

不可编辑步骤(Non-editable steps)强制用户在整个流程中进行线性处理。

\n", - "Code": "\r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n\r\n", - "Type": "Demos.Components.Stepper.misc.NonEditableSteps", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 11, - "Name": "optionalSteps", - "Title": "可选步骤", - "Description": "

可选步骤可由子文本调出。

\n", - "Code": "
\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n Optional\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Select campaign settings\r\n \r\n\r\n \r\n\r\n \r\n Create an ad group\r\n Optional\r\n \r\n\r\n \r\n\r\n \r\n Create an ad\r\n \r\n \r\n \r\n
\r\n", - "Type": "Demos.Components.Stepper.misc.OptionalSteps", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 12, - "Name": "verticalErrors", - "Title": "垂直错误", - "Description": "

同样的,错误状态也可以应用于垂直的步骤。

\n", - "Code": "\r\n \r\n Name of Step 1\r\n \r\n\r\n \r\n \r\n e13 = 2\">\r\n Continue\r\n \r\n \r\n Cancel\r\n \r\n \r\n\r\n \r\n Name of Step 2\r\n \r\n\r\n \r\n \r\n e13 = 3\">\r\n Continue\r\n \r\n \r\n Cancel\r\n \r\n \r\n\r\n \r\n Ad templates\r\n Alert message\r\n \r\n\r\n \r\n \r\n e13 = 4\">\r\n Continue\r\n \r\n \r\n Cancel\r\n \r\n \r\n\r\n \r\n View setup instructions\r\n \r\n\r\n \r\n \r\n e13 = 1\">\r\n Continue\r\n \r\n \r\n Cancel\r\n \r\n \r\n\r\n\r\n@code {\r\n private int e13 = 2;\r\n List> rules = new List>() { Rule };\r\n private static bool Rule()\r\n {\r\n return false;\r\n }\r\n}", - "Type": "Demos.Components.Stepper.misc.VerticalErrors", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Stepper.svg", - "Cols": 1, - "Related": [ - "/components/tabs", - "/components/buttons", - "/components/windows" - ], - "Subtitle": "步骤条", - "Title": "Steppers", - "Type": "步骤条" - }, - { - "Desc": "

用于分隔列表的各个部分。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.6942419+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

最简单形式的副标题显示带有默认主题的副标题。

\n", - "Code": "Subheader", - "Type": "Demos.Components.Subheader.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "inset", - "Title": "嵌入", - "Description": "

Inset 的副标题向右移动72像素。 这使您可以选择将它们与列表项和插入分隔符对齐。

\n", - "Code": "\r\n \r\n \r\n Subheader\r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n if (item.Action != null)\r\n {\r\n \r\n \r\n @item.Action\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n else if (item.Divider)\r\n {\r\n \r\n }\r\n }\r\n \r\n \r\n\r\n\r\n@code{\r\n class Item\r\n {\r\n public string Action { get; set; }\r\n public string Title { get; set; }\r\n public bool Divider { get; set; }\r\n }\r\n\r\n private List _items = new List\r\n {\r\n new Item \r\n {\r\n Action= \"mdi-label\",\r\n Title= \"List item 1\",\r\n },\r\n new Item \r\n {\r\n Divider= true,\r\n },\r\n new Item \r\n {\r\n Action= \"mdi-label\",\r\n Title= \"List item 2\",\r\n },\r\n new Item \r\n {\r\n Divider= true,\r\n },\r\n new Item\r\n {\r\n Action= \"mdi-label\",\r\n Title= \"List item 3\",\r\n }\r\n };\r\n}", - "Type": "Demos.Components.Subheader.props.Inset", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "grid", - "Title": "栅格", - "Description": "

一个副标题可以添加到上下文中,对用户正在看的东西起到分类等作用。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n mdi-arrow-left\r\n \r\n\r\n Albums\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n May\r\n \r\n \r\n @for (var i = 1; i <= 6; i++)\r\n {\r\n var index = i + 20;\r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n June\r\n \r\n \r\n @for (var i = 1; i <= 6; i++)\r\n {\r\n var index = i + 5;\r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n \r\n \r\n", - "Type": "Demos.Components.Subheader.misc.Grid", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 1, - "Name": "menu", - "Title": "菜单", - "Description": "

使用副标题可以帮助分离不同类型的操作。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n\r\n Manage\r\n\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n @foreach (var item in _items)\r\n {\r\n if (!string.IsNullOrWhiteSpace(item.Action))\r\n {\r\n \r\n \r\n @item.Action\r\n \r\n\r\n \r\n @item.Title\r\n \r\n \r\n }\r\n else if (item.Divider)\r\n {\r\n \r\n }\r\n else if (!string.IsNullOrWhiteSpace(item.Header))\r\n {\r\n @item.Header\r\n }\r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private class DataDemo\r\n {\r\n public string Action { get; set; }\r\n public string Title { get; set; }\r\n public bool Divider { get; set; }\r\n public string Header { get; set; }\r\n }\r\n\r\n private List _items = new List()\r\n {\r\n new DataDemo { Action = \"mdi-inbox-arrow-down\", Title = \"Inbox\" },\r\n new DataDemo { Action = \"mdi-send\", Title = \"Sent\" },\r\n new DataDemo { Action = \"mdi-delete\", Title = \"Trash\" },\r\n new DataDemo { Action = \"mdi-alert-octagon\", Title = \"Spam\" },\r\n new DataDemo { Divider = true },\r\n new DataDemo { Header = \"Labels\" },\r\n new DataDemo { Action = \"mdi-label\", Title = \"Family\" },\r\n new DataDemo { Action = \"mdi-label\", Title = \"Friends\" },\r\n new DataDemo { Action = \"mdi-label\", Title = \"Work\" }\r\n };\r\n}", - "Type": "Demos.Components.Subheader.misc.Menu", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 2, - "Name": "socialMedia", - "Title": "社交媒体", - "Description": "

在社交媒体互动中使用子标题。

\n", - "Code": "\r\n \r\n \r\n\r\n Application\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n \r\n\r\n @foreach (var type in types)\r\n {\r\n \r\n @type\r\n\r\n \r\n \r\n @foreach (var card in cards)\r\n {\r\n \r\n \r\n \r\n @card\r\n \r\n\r\n \r\n @foreach (var social in socials)\r\n {\r\n \r\n @social.Icon\r\n \r\n }\r\n \r\n \r\n \r\n }\r\n \r\n \r\n }\r\n\r\n\r\n@code\r\n{\r\n string[] cards = new string[3] {\"Good\", \"Best\", \"Finest\"};\r\n \r\n List socials = new List\r\n {\r\n new Social {Icon = \"mdi-facebook\", Color = \"indigo\"},\r\n new Social {Icon = \"mdi-linkedin\", Color = \"cyan darken-1\"},\r\n new Social {Icon = \"mdi-instagram\", Color = \"red lighten-3\"}\r\n };\r\n \r\n string[] types = new string[2] {\"Places to Be\", \"Places to See\"};\r\n\r\n double GetImage()\r\n {\r\n var min = 550;\r\n var max = 560;\r\n var random = new Random();\r\n var num = random.Next(1, 100) * 0.01;\r\n\r\n return Math.Floor(num * (max - min + 1)) + min;\r\n }\r\n \r\n public class Social\r\n {\r\n public string Icon { get; set; }\r\n public string Color { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.Subheader.misc.SocialMedia", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/cards", - "/components/grid-system", - "/components/lists" - ], - "Subtitle": "副标题", - "Title": "Subheaders", - "Type": "副标题" - }, - { - "Desc": "

MDataIterator 组件用于显示数据,并且与 MDataTable 组件共享其大部分功能。 功能包括排序、搜索、分页和选择。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.696243+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "default", - "Title": "默认插槽", - "Description": "

MDataIterator 的内部具有选择和扩展状态,就像 MDataTable 一样。 在这个示例中,我们在默认插槽上使用使用 isExpandedexpand

\n", - "Code": "\r\n \r\n r.Name\"\r\n ItemsPerPage=\"4\"\r\n SingleExpand=\"_singleExpand\"\r\n HideDefaultFooter>\r\n \r\n \r\n @foreach (var item in props.Items)\r\n {\r\n var expanded = props.IsExpanded(item);\r\n var expand = delegate (bool v) { props.Expand(item, v); };\r\n \r\n \r\n \r\n

@item.Name

\r\n
\r\n \r\n \r\n @if (expanded)\r\n {\r\n \r\n \r\n Calories:\r\n \r\n @item.Calories\r\n \r\n \r\n \r\n Fat:\r\n \r\n @item.Fat\r\n \r\n \r\n \r\n Carbs:\r\n \r\n @item.Carbs\r\n \r\n \r\n \r\n Protein:\r\n \r\n @item.Protein\r\n \r\n \r\n \r\n Sodium:\r\n \r\n @item.Sodium\r\n \r\n \r\n \r\n Calcium:\r\n \r\n @item.Calcium\r\n \r\n \r\n \r\n Iron:\r\n \r\n @item.Iron\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private bool _singleExpand;\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Sodium= 87,\r\n Calcium= \"14%\",\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Sodium= 129,\r\n Calcium= \"8%\",\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Sodium= 337,\r\n Calcium= \"6%\",\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Sodium= 413,\r\n Calcium= \"3%\",\r\n Iron= \"8%\",\r\n },\r\n };\r\n }", - "Type": "Demos.Components.Tables.children.DataIterator.props.Default", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "headerAndFooter", - "Title": "页眉和页脚", - "Description": "

MDataIterator 有用于添加额外内容的 HeaderContentFooterContent 插槽。

\n", - "Code": "\r\n \r\n \r\n \r\n This is a header\r\n \r\n \r\n \r\n \r\n @foreach (var item in _desserts)\r\n {\r\n \r\n \r\n \r\n @item.Name\r\n \r\n\r\n \r\n\r\n \r\n \r\n Calories:\r\n \r\n @item.Calories\r\n \r\n \r\n\r\n \r\n Fat:\r\n \r\n @item.Fat\r\n \r\n \r\n\r\n \r\n Carbs:\r\n \r\n @item.Carbs\r\n \r\n \r\n\r\n \r\n Protein:\r\n \r\n @item.Protein\r\n \r\n \r\n\r\n \r\n Sodium:\r\n \r\n @item.Sodium\r\n \r\n \r\n\r\n \r\n Calcium:\r\n \r\n @item.Calcium\r\n \r\n \r\n\r\n \r\n Iron:\r\n \r\n @item.Iron\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n This is a footer\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private int _itemsPerPage = 4;\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Sodium= 87,\r\n Calcium= \"14%\",\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Sodium= 129,\r\n Calcium= \"8%\",\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Sodium= 337,\r\n Calcium= \"6%\",\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Sodium= 413,\r\n Calcium= \"3%\",\r\n Iron= \"8%\",\r\n },\r\n };\r\n }", - "Type": "Demos.Components.Tables.children.DataIterator.props.HeaderAndFooter", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "filter", - "Title": "过滤器", - "Description": "

排序,过滤和分页可以从外部使用单独的属性进行控制。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n r.Name\"\r\n ItemText=\"r=>r.Name\"\r\n PrependInnerIcon=\"mdi-magnify\"\r\n Label=\"Sort by\">\r\n \r\n \r\n \r\n mdi-arrow-up\r\n \r\n \r\n mdi-arrow-down\r\n \r\n \r\n \r\n \r\n \r\n \r\n @foreach (var item in props.Items)\r\n {\r\n \r\n \r\n \r\n @item.Name\r\n \r\n\r\n \r\n\r\n \r\n @for (var i = 0; i < FilteredKeys.Count; i++)\r\n {\r\n var key = FilteredKeys[i];\r\n var blue = key == _sortBy;\r\n var value = key.Invoke(item);\r\n \r\n \r\n @key:\r\n \r\n \r\n @value\r\n \r\n \r\n }\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n Items per page\r\n \r\n \r\n \r\n @_itemsPerPage\r\n mdi-chevron-down\r\n \r\n \r\n \r\n \r\n @for (var i = 0; i < _itemsPerPageArray.Count; i++)\r\n {\r\n var index = i;\r\n var number = _itemsPerPageArray[i];\r\n UpdateItemsPerPage(number)\">\r\n @number\r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n Page @_page of @_numberOfPages\r\n \r\n \r\n mdi-chevron-left\r\n \r\n \r\n mdi-chevron-right\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List _itemsPerPageArray = new List\r\n {\r\n 4,8,12\r\n };\r\n private StringNumber _sortDescStr = \"false\";\r\n private string _sortBy;\r\n private List _sortDesc => new List\r\n {\r\n Convert.ToBoolean(_sortDescStr.Value)\r\n };\r\n private string _search;\r\n private int _itemsPerPage = 4;\r\n private int _page = 1;\r\n private List> _keys => new List>()\r\n {\r\n nameof(Dessert.Name),\r\n nameof(Dessert.Calories),\r\n nameof(Dessert.Fat),\r\n nameof(Dessert.Carbs),\r\n nameof(Dessert.Protein),\r\n nameof(Dessert.Sodium),\r\n nameof(Dessert.Calcium),\r\n nameof(Dessert.Iron)\r\n };\r\n private int _numberOfPages => Convert.ToInt32(Math.Ceiling(_desserts.Count / (_itemsPerPage * 1.0)));\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Sodium= 87,\r\n Calcium= \"14%\",\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Sodium= 129,\r\n Calcium= \"8%\",\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Sodium= 337,\r\n Calcium= \"6%\",\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Sodium= 413,\r\n Calcium= \"3%\",\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Sodium= 327,\r\n Calcium= \"7%\",\r\n Iron= \"16%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Sodium= 50,\r\n Calcium= \"0%\",\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Sodium= 38,\r\n Calcium= \"0%\",\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Sodium= 562,\r\n Calcium= \"0%\",\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Sodium= 326,\r\n Calcium= \"2%\",\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Sodium= 54,\r\n Calcium= \"12%\",\r\n Iron= \"6%\",\r\n }\r\n\r\n };\r\n\r\n public List> FilteredKeys => _keys\r\n .Where(r => r != nameof(Dessert.Name))\r\n .ToList();\r\n\r\n public void UpdateItemsPerPage(int number)\r\n {\r\n _itemsPerPage = number;\r\n }\r\n\r\n public void NextPage()\r\n {\r\n if (_page + 1 <= _numberOfPages) _page += 1;\r\n }\r\n\r\n public void FormerPage()\r\n {\r\n if (_page - 1 >= 1) _page -= 1;\r\n }\r\n }", - "Type": "Demos.Components.Tables.children.DataIterator.misc.Filter", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/DataIterators.svg", - "Cols": 1, - "Related": [ - "/components/data-tables", - "/components/simple-tables", - "/components/toolbars" - ], - "Subtitle": "数据迭代器", - "Title": "Data iterators", - "Type": "数据迭代器" - }, - { - "Desc": "

MDataTable 组件用于显示表格数据。 功能包括排序,搜索,分页,内容编辑和行选择。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.7142401+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

标准数据表格默认会将数据呈现为简单的行。

\n", - "Code": "\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron) }\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }", - "Type": "Demos.Components.Tables.children.DataTable.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "customFilter", - "Title": "自定义过滤器", - "Description": "

你可以向 CustomFilter 属性提供一个函数,覆盖 Search 属性的默认过滤。 如果你需要自定义特定列的过滤,你可以给表头数据项的 Filter 属性提供一个函数。\n类型是Func<object, string, TItem, bool>。 即使没有提供 Search 属性,这个函数也会一直运作。 因此,你需要确保在不应用过滤器的情况下,函数会返回 true。

\n", - "Code": "
\r\n r.Name\"\r\n Class=\"elevation-1\"\r\n Search=\"@_search\"\r\n CustomItemFilter=\"FilterOnlyCapsText\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private string _search;\r\n private string _calories;\r\n\r\n public List> Headers => new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new ()\r\n {\r\n Text= \"Calories\",\r\n Value= nameof(Dessert.Calories),\r\n Filter = (value, search, item) =>\r\n {\r\n if (string.IsNullOrEmpty(_calories))\r\n {\r\n return true;\r\n }\r\n\r\n return item.Calories _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n\r\n public bool FilterOnlyCapsText(object value, string search, Dessert item)\r\n {\r\n return value != null && search != null && value is string\r\n && value.ToString().ToUpperInvariant().IndexOf(search) != -1;\r\n }\r\n }", - "Type": "Demos.Components.Tables.children.DataTable.props.CustomFilter", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "dense", - "Title": "紧凑", - "Description": "

使用 Dense 属性,可以让数据表格表现为另一种样式。

\n", - "Code": "r.Name\"\r\n Class=\"elevation-1\">\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }", - "Type": "Demos.Components.Tables.children.DataTable.props.Dense", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "filterable", - "Title": "可过滤", - "Description": "

在搜索表格内容时,你可以设置表头数据项的 Filterable 属性为 false,禁止对应列的内容被包含在搜索结果内。 下面的示例中,不会被搜索到 Dessert 列的内容。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private string _search;\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Filterable = false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }", - "Type": "Demos.Components.Tables.children.DataTable.props.Filterable", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "fixed", - "Title": "固定列", - "Description": "

默认固定最后一列。

\n", - "Code": "r.Name\"\r\n Class=\"elevation-1\">\r\n \r\n @if (context.Header.Value == \"actions\")\r\n {\r\n EditItem(context.Item)\">mdi-pencil\r\n DeleteItem(context.Item)\">mdi-delete\r\n }\r\n else\r\n {\r\n @context.Value\r\n }\r\n \r\n\r\n\r\n \r\n \r\n @FormTitle\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n\r\n\r\n \r\n Are you sure you want to delete this item?\r\n \r\n \r\n Cancel\r\n OK\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Actions\", Value= \"actions\",Sortable=false,Width=\"100px\",Align=\"center\" }\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n private int _editedIndex;\r\n private bool _dialog;\r\n private bool _dialogDelete;\r\n private Dessert _editedItem = new Dessert\r\n {\r\n Name = \"\",\r\n Calories = 0,\r\n Fat = 0,\r\n Carbs = 0,\r\n Protein = 0,\r\n };\r\n public string FormTitle\r\n {\r\n get\r\n {\r\n return _editedIndex == -1 ? \"New Item\" : \"Edit Item\";\r\n }\r\n }\r\n\r\n public void Close()\r\n {\r\n _dialog = false;\r\n _editedItem = new Dessert();\r\n _editedIndex = -1;\r\n }\r\n\r\n public void Save()\r\n {\r\n if (_editedIndex > -1)\r\n {\r\n var item = _desserts[_editedIndex];\r\n item.Fat = _editedItem.Fat;\r\n item.Protein = _editedItem.Protein;\r\n item.Calories = _editedItem.Calories;\r\n item.Carbs = _editedItem.Carbs;\r\n item.Name = _editedItem.Name;\r\n }\r\n else\r\n {\r\n _desserts.Add(_editedItem);\r\n }\r\n Close();\r\n }\r\n\r\n public void EditItem(Dessert item)\r\n {\r\n _editedIndex = _desserts.IndexOf(item);\r\n _editedItem = new Dessert()\r\n {\r\n Calories = item.Calories,\r\n Carbs = item.Carbs,\r\n Fat = item.Fat,\r\n Name = item.Name,\r\n Protein = item.Protein\r\n };\r\n _dialog = true;\r\n }\r\n\r\n public void DeleteItem(Dessert item)\r\n {\r\n _editedIndex = _desserts.IndexOf(item);\r\n _editedItem = new Dessert()\r\n {\r\n Calories = item.Calories,\r\n Carbs = item.Carbs,\r\n Fat = item.Fat,\r\n Name = item.Name,\r\n Protein = item.Protein\r\n };\r\n _dialogDelete = true;\r\n }\r\n\r\n public void DeleteItemConfirm()\r\n {\r\n _desserts.RemoveAt(_editedIndex);\r\n CloseDelete();\r\n }\r\n\r\n public void CloseDelete()\r\n {\r\n _dialogDelete = false;\r\n _editedItem = new();\r\n _editedIndex = -1;\r\n }\r\n }", - "Type": "Demos.Components.Tables.children.DataTable.props.Fixed", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "footer", - "Title": "表脚属性", - "Description": "

MDataTable 使用 MDataFooter 组件渲染一个默认的表脚。 你可以使用 FooterProps 将属性传递给这个组件。

\n", - "Code": "r.Name\"\r\n Class=\"elevation-1\"\r\n FooterProps=\"_footerProps\">\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public string Category { get; set; }\r\n }\r\n\r\n private Dictionary _footerProps = new Dictionary\r\n {\r\n {\"ShowFirstLastPage\", true},\r\n {\"FirstIcon\", \"mdi-arrow-collapse-left\" },\r\n {\"LastIcon\", \"mdi-arrow-collapse-right\" },\r\n {\"PrevIcon\", \"mdi-minus\" },\r\n {\"NextIcon\", \"mdi-plus\" }\r\n };\r\n\r\n private List> _headers = new()\r\n {\r\n new()\r\n {\r\n Text = \"Dessert (100g serving)\",\r\n Align = \"start\",\r\n Value = nameof(Dessert.Name)\r\n },\r\n new() { Text = \"Category\", Value = nameof(Dessert.Category) }\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Category= \"Ice cream\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Category= \"Ice cream\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Category= \"Cookie\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Category= \"Pastry\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Category= \"Cookie\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Category= \"Candy\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Category= \"Candy\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Category= \"Toffee\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Category= \"Pastry\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Category= \"Candy\"\r\n }\r\n };\r\n}", - "Type": "Demos.Components.Tables.children.DataTable.props.Footer", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "group", - "Title": "分组", - "Description": "

你可以使用 GroupByGroupDesc 属性分组。 ShowGroupBy 属性将在默认表头中显示分组按钮。 你可以设置表头数据项的 Groupable 属性为 false ,禁用对应属性的分组。

\n", - "Code": "r.Name\"\r\n SortBy=\"nameof(Dessert.Name)\"\r\n GroupBy=\"nameof(Dessert.Category)\"\r\n Class=\"elevation-1\"\r\n ShowGroupBy>\r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public string Category { get; set; }\r\n\r\n public string Dairy { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Value= nameof(Dessert.Name),\r\n Groupable=false\r\n },\r\n new (){ Text= \"Category\", Value= nameof(Dessert.Category),Align=\"right\"},\r\n new (){ Text= \"Dairy\", Value= nameof(Dessert.Dairy),Align=\"right\"}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Category=\"Ice cream\",\r\n Dairy=\"Yes\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Category=\"Ice cream\",\r\n Dairy=\"Yes\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Category=\"Cookie\",\r\n Dairy=\"Yes\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Category=\"Pastry\",\r\n Dairy=\"Yes\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Category=\"Cookie\",\r\n Dairy=\"No\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Category=\"Candy\",\r\n Dairy=\"No\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Category=\"Candy\",\r\n Dairy=\"No\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Category=\"Toffee\",\r\n Dairy=\"No\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Category=\"Pastry\",\r\n Dairy=\"Yes\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Category=\"Candy\",\r\n Dairy=\"Yes\"\r\n }\r\n };\r\n }", - "Type": "Demos.Components.Tables.children.DataTable.props.Group", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "hideDefaultHeaderAndFooter", - "Title": "隐藏默认表头和表脚", - "Description": "

你可以应用 HideDefaultHeaderHideDefaultFooter 属性,分别移除默认表头和表脚。

\n", - "Code": "\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }\r\n\r\n", - "Type": "Demos.Components.Tables.children.DataTable.props.HideDefaultHeaderAndFooter", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "loading", - "Title": "加载中", - "Description": "

你可以使用 Loading 属性来表示正在加载表格数据。 即使表格中没有数据,也会显示一条加载信息。 加载信息可以使用 LoadingText 属性或 LoadingContent 插槽来自定义。

\n", - "Code": "r.Name\"\r\n Class=\"elevation-1\"\r\n Loading=\"true\"\r\n LoadingText=\"Loading... Please wait\">\r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n public int Calories { get; set; }\r\n }\r\n}\r\n\r\n", - "Type": "Demos.Components.Tables.children.DataTable.props.Loading", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "multiSort", - "Title": "多列排序", - "Description": "

使用 MultiSort 属性可以根据多列同时排序。 启用后,你可以向 SortBySortDesc 传递数组以控制排序。

\n", - "Code": "\r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 200,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 200,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 300,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 300,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 400,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 400,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 400,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 400,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 500,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 500,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n\r\n public List _sortBy = new List\r\n {\r\n nameof(Dessert.Calories),\r\n nameof(Dessert.Fat)\r\n };\r\n\r\n public List _sortDesc = new List\r\n {\r\n false,\r\n true\r\n };\r\n }\r\n\r\n", - "Type": "Demos.Components.Tables.children.DataTable.props.MultiSort", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "rowSelection", - "Title": "行选择", - "Description": "

ShowSelect 属性将在默认表头中渲染一个复选框以切换所有行是否被选择,同时也为每个默认行渲染一个复选框。你还可以使用 SingleSelect 属性,指定能同时选择多行还是只能选择一行。

\n", - "Code": "r.Name\"\r\n ShowSelect\r\n Class=\"elevation-1\">\r\n \r\n \r\n \r\n\r\n\r\n @code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n\r\n private bool _singleSelect;\r\n\r\n private IEnumerable _selected = new List();\r\n }\r\n\r\n", - "Type": "Demos.Components.Tables.children.DataTable.props.RowSelection", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "search", - "Title": "搜索", - "Description": "

数据表格还提供了 Search 属性以过滤数据。

\n", - "Code": "\r\n \r\n Nutrition\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private string _search;\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }\r\n\r\n", - "Type": "Demos.Components.Tables.children.DataTable.props.Search", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 4, - "Name": "stripe", - "Title": "斑马纹", - "Description": "

明暗相间的条纹。

\n", - "Code": "r.Name\"\r\n Class=\"elevation-1\">\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }", - "Type": "Demos.Components.Tables.children.DataTable.props.Stripe", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "header", - "Title": "表头", - "Description": "

你可以使用插槽 HeaderColContent 来自定义某些列。

\n", - "Code": "\r\n \r\n @if (header.Value == nameof(Dessert.Name))\r\n {\r\n @header.Text.ToUpperInvariant()\r\n }\r\n else\r\n {\r\n @header.Text\r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }\r\n", - "Type": "Demos.Components.Tables.children.DataTable.contents.Header", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 2, - "Name": "item", - "Title": "项目", - "Description": "

你可以使用动态插槽 ItemColContent 来自定义某些列。

\n", - "Code": "\r\n \r\n @if (context.Header.Value == nameof(Dessert.Calories))\r\n {\r\n \r\n @context.Item.Calories\r\n \r\n }\r\n else\r\n {\r\n @context.Value\r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n\r\n public string GetColor(int calories)\r\n {\r\n if (calories > 400)\r\n {\r\n return \"red\";\r\n }\r\n\r\n if (calories > 200)\r\n {\r\n return \"orange\";\r\n }\r\n\r\n return \"green\";\r\n }\r\n }\r\n", - "Type": "Demos.Components.Tables.children.DataTable.contents.Item", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 2, - "Name": "simpleCheckbox", - "Title": "简单复选框", - "Description": "

如果想要在数据表格的插槽模板中使用复选框,请使用 MSimpleCheckbox 组件,而不是 MCheckbox 组件。 MSimplleChecbox 组件被内部使用,跟随表头对齐方式。

\n", - "Code": "
\r\n \r\n \r\n @if (context.Header.Value == nameof(Dessert.Glutenfree))\r\n {\r\n \r\n }\r\n else\r\n {\r\n @context.Value\r\n }\r\n \r\n \r\n
\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public string Iron { get; set; }\r\n\r\n public bool Glutenfree { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)},\r\n new (){ Text=\"Gluten-Free\",Value=nameof(Dessert.Glutenfree)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }\r\n", - "Type": "Demos.Components.Tables.children.DataTable.contents.SimpleCheckbox", - "Style": "", - "Debug": false, - "Group": 2 - }, - { - "Order": 3, - "Name": "cRUDActions", - "Title": "CRUD操作", - "Description": "

带 CRUD 操作的 MDataTable 使用 MDialog 组件来编辑每行数据。

\n", - "Code": "\r\n \r\n \r\n My CRUD\r\n \r\n \r\n _dialog=true\">\r\n New Item\r\n \r\n \r\n \r\n \r\n @FormTitle\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n \r\n \r\n Are you sure you want to delete this item?\r\n \r\n \r\n Cancel\r\n OK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n @if (context.Header.Value == \"actions\")\r\n {\r\n EditItem(context.Item)\">mdi-pencil\r\n DeleteItem(context.Item)\">mdi-delete\r\n }\r\n else\r\n {\r\n @context.Value\r\n }\r\n \r\n \r\n \r\n Reset\r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Actions\", Value= \"actions\",Sortable=false }\r\n };\r\n\r\n private List _desserts;\r\n\r\n private bool _dialog;\r\n private bool _dialogDelete;\r\n private Dessert _editedItem = new Dessert\r\n {\r\n Name = \"\",\r\n Calories = 0,\r\n Fat = 0,\r\n Carbs = 0,\r\n Protein = 0,\r\n };\r\n private int _editedIndex;\r\n\r\n public string FormTitle\r\n {\r\n get\r\n {\r\n return _editedIndex == -1 ? \"New Item\" : \"Edit Item\";\r\n }\r\n }\r\n\r\n protected override void OnInitialized()\r\n {\r\n Initialize();\r\n }\r\n\r\n public void Initialize()\r\n {\r\n _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7\r\n }\r\n };\r\n }\r\n\r\n public void Close()\r\n {\r\n _dialog = false;\r\n _editedItem = new Dessert();\r\n _editedIndex = -1;\r\n }\r\n\r\n public void Save()\r\n {\r\n if (_editedIndex > -1)\r\n {\r\n var item = _desserts[_editedIndex];\r\n item.Fat = _editedItem.Fat;\r\n item.Protein = _editedItem.Protein;\r\n item.Calories = _editedItem.Calories;\r\n item.Carbs = _editedItem.Carbs;\r\n item.Name = _editedItem.Name;\r\n }\r\n else\r\n {\r\n _desserts.Add(_editedItem);\r\n }\r\n Close();\r\n }\r\n\r\n public void EditItem(Dessert item)\r\n {\r\n _editedIndex = _desserts.IndexOf(item);\r\n _editedItem = new Dessert()\r\n {\r\n Calories = item.Calories,\r\n Carbs = item.Carbs,\r\n Fat = item.Fat,\r\n Name = item.Name,\r\n Protein = item.Protein\r\n };\r\n _dialog = true;\r\n }\r\n\r\n public void DeleteItem(Dessert item)\r\n {\r\n _editedIndex = _desserts.IndexOf(item);\r\n _editedItem = new Dessert()\r\n {\r\n Calories = item.Calories,\r\n Carbs = item.Carbs,\r\n Fat = item.Fat,\r\n Name = item.Name,\r\n Protein = item.Protein\r\n };\r\n _dialogDelete = true;\r\n }\r\n\r\n public void DeleteItemConfirm()\r\n {\r\n _desserts.RemoveAt(_editedIndex);\r\n CloseDelete();\r\n }\r\n\r\n public void CloseDelete()\r\n {\r\n _dialogDelete = false;\r\n _editedItem = new();\r\n _editedIndex = -1;\r\n }\r\n }\r\n", - "Type": "Demos.Components.Tables.children.DataTable.misc.CRUDActions", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 3, - "Name": "editDialog", - "Title": "编辑用对话框", - "Description": "

MEditDialog 组件可用于直接在 MDataTable 中编辑数据。 如果点击 MEditDialog 外部时不想关闭对话框,可以添加 Persistent 属性。

\n", - "Code": "
\r\n Todo...\r\n
", - "Type": "Demos.Components.Tables.children.DataTable.misc.EditDialog", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 3, - "Name": "expandableRow", - "Title": "可展开行", - "Description": "

ShowExpand 属性会在每个默认行上渲染一个展开图标。 你可以使用 ItemDataTableExpandContent 插槽来自定义。 添加一列 Value="data-table-expand" 到 **\nHeaders**\n数组,就能自定义这个插槽的位置。 你还可以使用 SingleExpand 属性,指定能同时展开多行还是只能展开一行。 行需要唯一的Key才能进行展开,使用ItemKey进行指定。

\n", - "Code": "r.Name\"\r\n ShowExpand\r\n Class=\"elevation-1\">\r\n \r\n \r\n Expandable Table\r\n \r\n \r\n \r\n \r\n \r\n \r\n More info about @context.Item.Name\r\n \r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private bool _singleExpand;\r\n //private List _expanded;\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)},\r\n new (){ Text=\"\",Value=\"data-table-expand\"}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n}\r\n", - "Type": "Demos.Components.Tables.children.DataTable.misc.ExpandableRow", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 3, - "Name": "externalPagination", - "Title": "外部分页", - "Description": "

要在外部控制分页,可以使用单独的属性或使用 Options 属性。

\n", - "Code": "
\r\n _pageCount=val\"\r\n Class=\"elevation-1\">\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n\r\n private int _page = 1;\r\n private int _pageCount = 0;\r\n private int _itemsPerPage = 10;\r\n}\r\n", - "Type": "Demos.Components.Tables.children.DataTable.misc.ExternalPagination", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 3, - "Name": "externalSorting", - "Title": "外部排序", - "Description": "

要在外部控制排序,可以使用单独的属性或使用 Options 属性。

\n", - "Code": "
\r\n \r\n \r\n
\r\n \r\n Toggle sort order\r\n \r\n \r\n Sort next column\r\n \r\n
\r\n
\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n\r\n private string _sortBy = nameof(Dessert.Fat);\r\n private bool _sortDesc = false;\r\n\r\n public void HandleOnOptionsUpdate(DataOptions options)\r\n {\r\n _sortBy = options.SortBy.FirstOrDefault();\r\n _sortDesc = options.SortDesc.FirstOrDefault();\r\n }\r\n\r\n public void ToggleOrder()\r\n {\r\n _sortDesc = !_sortDesc;\r\n }\r\n\r\n public void NextSort()\r\n {\r\n var index = _headers.FindIndex(h => h.Value == _sortBy);\r\n index = (index + 1) % _headers.Count;\r\n _sortBy = _headers[index].Value;\r\n }\r\n}\r\n", - "Type": "Demos.Components.Tables.children.DataTable.misc.ExternalSorting", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 3, - "Name": "serverSidePaginateAndSort", - "Title": "服务器端分页和排序", - "Description": "

如果你正在从后端服务器加载已经分页和排序的数据,你可以使用 ServerItemsLength 属性。 使用这个属性会禁用内置的排序和分页,因此,你需要用特定事件(OnPageUpdate,**\nOnSortByUpdate**,OnOptionsUpdate 等)来得知什么时候要向后端服务器请求新页面。 获取数据时,使用 Loading 属性显示进度条。

\n", - "Code": "
\r\n \r\n \r\n
\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n\r\n public double Fat { get; set; }\r\n\r\n public int Carbs { get; set; }\r\n\r\n public double Protein { get; set; }\r\n\r\n public int Sodium { get; set; }\r\n\r\n public string Calcium { get; set; }\r\n\r\n public string Iron { get; set; }\r\n }\r\n\r\n private int _totalDesserts = 0;\r\n private IEnumerable _desserts = new List();\r\n private bool _loading = true;\r\n private DataOptions _options=new DataOptions();\r\n\r\n private List> _headers = new List>\r\n {\r\n new ()\r\n {\r\n Text= \"Dessert (100g serving)\",\r\n Align= \"start\",\r\n Sortable= false,\r\n Value= nameof(Dessert.Name)\r\n },\r\n new (){ Text= \"Calories\", Value= nameof(Dessert.Calories)},\r\n new (){ Text= \"Fat (g)\", Value= nameof(Dessert.Fat)},\r\n new (){ Text= \"Carbs (g)\", Value= nameof(Dessert.Carbs)},\r\n new (){ Text= \"Protein (g)\", Value= nameof(Dessert.Protein)},\r\n new (){ Text= \"Iron (%)\", Value= nameof(Dessert.Iron)}\r\n };\r\n\r\n public void HandleOnOptionsUpdate(DataOptions options)\r\n {\r\n _options = options;\r\n GetDataFromApi();\r\n }\r\n\r\n protected override void OnInitialized()\r\n {\r\n GetDataFromApi();\r\n }\r\n\r\n public void GetDataFromApi()\r\n {\r\n _loading = true;\r\n FakeApiCallAsync().ContinueWith(task =>\r\n {\r\n var data = task.Result;\r\n _desserts = data.items;\r\n _totalDesserts = data.total;\r\n _loading = false;\r\n\r\n InvokeAsync(StateHasChanged);\r\n });\r\n }\r\n\r\n public async Task<(IEnumerable items, int total)> FakeApiCallAsync()\r\n {\r\n var sortBy = _options.SortBy;\r\n var sortDesc = _options.SortDesc;\r\n var page = _options.Page;\r\n var itemsPerPage = _options.ItemsPerPage;\r\n\r\n var items = GetDesserts();\r\n var total = items.Count();\r\n\r\n if (sortBy.Count == 1 && sortDesc.Count == 1)\r\n {\r\n var header = _headers.Find(header => header.Value == sortBy[0]);\r\n var selector = header.ItemValue.Factory;\r\n\r\n if (!sortDesc[0])\r\n {\r\n items = items.OrderBy(selector);\r\n }\r\n else\r\n {\r\n items = items.OrderByDescending(selector);\r\n }\r\n }\r\n\r\n if (itemsPerPage > 0)\r\n {\r\n items = items.Skip((page - 1) * itemsPerPage).Take(page * itemsPerPage);\r\n }\r\n\r\n await Task.Delay(1000);\r\n return (items, total);\r\n }\r\n\r\n public IEnumerable GetDesserts()\r\n {\r\n return new List\r\n {\r\n new Dessert\r\n {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n Fat= 6.0,\r\n Carbs= 24,\r\n Protein= 4.0,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n Fat= 9.0,\r\n Carbs= 37,\r\n Protein= 4.3,\r\n Iron= \"1%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n Fat= 16.0,\r\n Carbs= 23,\r\n Protein= 6.0,\r\n Iron= \"7%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n Fat= 3.7,\r\n Carbs= 67,\r\n Protein= 4.3,\r\n Iron= \"8%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n Fat= 16.0,\r\n Carbs= 49,\r\n Protein= 3.9,\r\n Iron= \"16%\"\r\n },\r\n new Dessert\r\n {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n Fat= 0.0,\r\n Carbs= 94,\r\n Protein= 0.0,\r\n Iron= \"0%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n Fat= 0.2,\r\n Carbs= 98,\r\n Protein= 0,\r\n Iron= \"2%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n Fat= 3.2,\r\n Carbs= 87,\r\n Protein= 6.5,\r\n Iron= \"45%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n Fat= 25.0,\r\n Carbs= 51,\r\n Protein= 4.9,\r\n Iron= \"22%\",\r\n },\r\n new Dessert\r\n {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n Fat= 26.0,\r\n Carbs= 65,\r\n Protein= 7,\r\n Iron= \"6%\",\r\n }\r\n };\r\n }\r\n}", - "Type": "Demos.Components.Tables.children.DataTable.misc.ServerSidePaginateAndSort", - "Style": "", - "Debug": false, - "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/DataTable.svg", - "Cols": 1, - "Related": [ - "/components/data-iterators", - "/components/simple-tables", - "/components/lists" - ], - "Subtitle": "数据表格", - "Title": "Data tables", - "Type": "数据表格" - }, - { - "Desc": "

MSimpleTable组件是 table 元素的简单封装组件。 在组件中,你可以使用所有常规表元素,如 thead , tbody ,tr 等。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.7182404+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

简单表格组件是 <table> 元素的封装组件。

\n", - "Code": "\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n Calories\r\n \r\n \r\n \r\n \r\n @foreach (var item in _desserts)\r\n {\r\n \r\n @item.Name\r\n @item.Calories\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n }\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n },\r\n new Dessert{\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n },\r\n new Dessert {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n },\r\n new Dessert {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n },\r\n new Dessert {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n },\r\n new Dessert {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n },\r\n new Dessert {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n },\r\n new Dessert {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n },\r\n new Dessert {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n },\r\n new Dessert {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n },\r\n };\r\n}\r\n\r\n", - "Type": "Demos.Components.Tables.children.SimpleTables.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 0, - "Name": "dark", - "Title": "暗色主题", - "Description": "

使用 Dark 属性把表格切换到暗色主题。

\n", - "Code": "\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n Calories\r\n \r\n \r\n \r\n \r\n @foreach (var item in _desserts)\r\n {\r\n \r\n @item.Name\r\n @item.Calories\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n }\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n },\r\n new Dessert{\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n },\r\n new Dessert {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n },\r\n new Dessert {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n },\r\n new Dessert {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n },\r\n new Dessert {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n },\r\n new Dessert {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n },\r\n new Dessert {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n },\r\n new Dessert {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n },\r\n new Dessert {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n },\r\n };\r\n}\r\n\r\n", - "Type": "Demos.Components.Tables.children.SimpleTables.props.Dark", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "dense", - "Title": "紧凑", - "Description": "

你可以使用 Dense 属性来显示紧凑表格。

\n", - "Code": "\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n Calories\r\n \r\n \r\n \r\n \r\n @foreach (var item in _desserts)\r\n {\r\n \r\n @item.Name\r\n @item.Calories\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n }\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n },\r\n new Dessert{\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n },\r\n new Dessert {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n },\r\n new Dessert {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n },\r\n new Dessert {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n },\r\n new Dessert {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n },\r\n new Dessert {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n },\r\n new Dessert {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n },\r\n new Dessert {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n },\r\n new Dessert {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n },\r\n };\r\n}\r\n\r\n", - "Type": "Demos.Components.Tables.children.SimpleTables.props.Dense", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "fixedHeader", - "Title": "固定表头", - "Description": "

使用 FixedHeader 属性和 Height 属性,将表头固定在表格的顶部。

\n", - "Code": "\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n Calories\r\n \r\n \r\n \r\n \r\n @foreach (var item in _desserts)\r\n {\r\n \r\n @item.Name\r\n @item.Calories\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n }\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n },\r\n new Dessert{\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n },\r\n new Dessert {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n },\r\n new Dessert {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n },\r\n new Dessert {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n },\r\n new Dessert {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n },\r\n new Dessert {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n },\r\n new Dessert {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n },\r\n new Dessert {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n },\r\n new Dessert {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n },\r\n };\r\n}\r\n\r\n", - "Type": "Demos.Components.Tables.children.SimpleTables.props.FixedHeader", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "height", - "Title": "高度", - "Description": "

使用 Height 属性设置表格的高度。

\n", - "Code": "\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n Calories\r\n \r\n \r\n \r\n \r\n @foreach (var item in _desserts)\r\n {\r\n \r\n @item.Name\r\n @item.Calories\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n public class Dessert\r\n {\r\n public string Name { get; set; }\r\n\r\n public int Calories { get; set; }\r\n }\r\n\r\n private List _desserts = new List\r\n {\r\n new Dessert {\r\n Name= \"Frozen Yogurt\",\r\n Calories= 159,\r\n },\r\n new Dessert{\r\n Name= \"Ice cream sandwich\",\r\n Calories= 237,\r\n },\r\n new Dessert {\r\n Name= \"Eclair\",\r\n Calories= 262,\r\n },\r\n new Dessert {\r\n Name= \"Cupcake\",\r\n Calories= 305,\r\n },\r\n new Dessert {\r\n Name= \"Gingerbread\",\r\n Calories= 356,\r\n },\r\n new Dessert {\r\n Name= \"Jelly bean\",\r\n Calories= 375,\r\n },\r\n new Dessert {\r\n Name= \"Lollipop\",\r\n Calories= 392,\r\n },\r\n new Dessert {\r\n Name= \"Honeycomb\",\r\n Calories= 408,\r\n },\r\n new Dessert {\r\n Name= \"Donut\",\r\n Calories= 452,\r\n },\r\n new Dessert {\r\n Name= \"KitKat\",\r\n Calories= 518,\r\n },\r\n };\r\n}\r\n\r\n", - "Type": "Demos.Components.Tables.children.SimpleTables.props.Height", - "Style": "", - "Debug": false, - "Group": 0 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/SimpleTables.svg", - "Cols": 1, - "Related": [ - "/components/data-iterators", - "/components/data-tables", - "/components/lists" - ], - "Subtitle": "简单表格", - "Title": "Simple tables", - "Type": "简单表格" - }, - { - "Desc": "

MTabs 组件用于将内容隐藏在可选择的项目后面。 这也可以用作页面的伪导航,其中选项卡是链接,选项卡项是内容。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n", - "注意": "\n\n

当使用 Dark 属性和 提供自定义 Color 时,MTabs组件会将其颜色默认为 white。

\n" - }, - "LastWriteTime": "2021-10-27T09:49:56.6089698+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

MTabs 组件是 MItemGroup 的样式扩展。 它提供了一个易于使用的接口来组织内容组。

\n", - "Code": "\r\n Item One\r\n Item Two\r\n Item Three\r\n", - "Type": "Demos.Components.Tabs.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "alignWithTitle", - "Title": "对齐标题", - "Description": "

使用 AlignWithTitle 属性将 MTabs MToolbarTitle 对齐(MAppBarNavIconMButton 必须在 MToolbar 中使用)。

\n", - "Code": "\r\n \r\n \r\n \r\n\r\n Your Dashboard\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n @item\r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @text\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber tab;\r\n\r\n List items = new()\r\n {\r\n \"web\", \"shopping\", \"videos\", \"images\", \"news\",\r\n };\r\n\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n\r\n}", - "Type": "Demos.Components.Tabs.props.AlignWithTitle", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "centerActive", - "Title": "激活项居中", - "Description": "

CenterActive 属性将使活动标签始终居中。

\n", - "Code": "\r\n \r\n One\r\n Two\r\n Three\r\n Four\r\n Five\r\n Six\r\n Seven\r\n Eight\r\n Nine\r\n Ten\r\n Eleven\r\n Twelve\r\n Thirteen\r\n Fourteen\r\n Fifteen\r\n Sixteen\r\n Seventeen\r\n Eighteen\r\n Nineteen\r\n Twenty\r\n \r\n", - "Type": "Demos.Components.Tabs.props.CenterActive", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "customIcons", - "Title": "自定义分隔符", - "Description": "

PrevIconNextIcon 可以用于应用自定义分页图标。

\n", - "Code": "\r\n \r\n @foreach (var i in Enumerable.Range(1, 30))\r\n {\r\n Item @i\r\n }\r\n \r\n", - "Type": "Demos.Components.Tabs.props.CustomIcons", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "fixedTabs", - "Title": "固定选项卡", - "Description": "

FixedTabs 属性迫使 MTab 占用所有可用的空间,直到最大宽度(300px)。

\n", - "Code": "\r\n Option\r\n Another Selection\r\n Items\r\n Another Screen\r\n", - "Type": "Demos.Components.Tabs.props.FixedTabs", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "grow", - "Title": "增长", - "Description": "

Grow 属性将使选项卡项目占用所有可用的空间,最大宽度为300px。

\n", - "Code": "\r\n \r\n

BASiL

\r\n
\r\n\r\n \r\n @foreach (var item in items)\r\n {\r\n @item\r\n }\r\n \r\n\r\n \r\n @foreach (var item in items)\r\n {\r\n \r\n \r\n @text\r\n \r\n \r\n }\r\n \r\n
\r\n\r\n\r\n\r\n@code {\r\n\r\n StringNumber tab;\r\n\r\n List items = new List() {\"petizers\", \"Entrees\", \"Deserts\", \"Cocktails\"};\r\n\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n\r\n}", - "Type": "Demos.Components.Tabs.props.Grow", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "iconAndText", - "Title": "图标和文本", - "Description": "

使用 IconsWithText 属性将 MTabs 的高度增加到72px,以便图标和文本都能被使用。

\n", - "Code": "\r\n \r\n \r\n Recents\r\n mdi-phone\r\n \r\n\r\n \r\n Favorites\r\n mdi-heart\r\n \r\n\r\n \r\n Nearby\r\n mdi-account-box\r\n \r\n \r\n\r\n \r\n @foreach (var item in Enumerable.Range(0, 3))\r\n {\r\n \r\n \r\n @text\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber tab;\r\n\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n}", - "Type": "Demos.Components.Tabs.props.IconAndText", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "pagination", - "Title": "分页", - "Description": "

如果选项卡项溢出它们的容器,分页控件将出现在桌面上。对于移动设备,箭头只会与 ShowArrows 属性一起显示。

\n", - "Code": "\r\n \r\n @foreach (var i in Enumerable.Range(1, 30))\r\n {\r\n Item @i\r\n }\r\n \r\n", - "Type": "Demos.Components.Tabs.props.Pagination", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "right", - "Title": "右对齐", - "Description": "

Right 属性将选项卡对齐到右边。

\n", - "Code": "\r\n \r\n Landscape\r\n City\r\n Abstract\r\n\r\n @foreach (var item in Enumerable.Range(1, 3))\r\n {\r\n \r\n \r\n \r\n @foreach (var col in Enumerable.Range(1, 6))\r\n {\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n }\r\n \r\n", - "Type": "Demos.Components.Tabs.props.Right", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "verticalTabs", - "Title": "垂直标签页", - "Description": "

Vertical 属性允许 MTab 组件垂直堆叠。

\n", - "Code": "\r\n \r\n User Profile\r\n \r\n \r\n \r\n \r\n mdi-account\r\n \r\n Option 1\r\n \r\n \r\n \r\n mdi-lock\r\n \r\n Option 2\r\n \r\n \r\n \r\n mdi-access-point\r\n \r\n Option 3\r\n \r\n\r\n \r\n \r\n \r\n

\r\n Sed aliquam ultrices mauris. Donec posuere vulputate arcu. Morbi ac felis. Etiam feugiat lorem non metus. Sed a libero.\r\n

\r\n\r\n

\r\n Nam ipsum risus, rutrum vitae, vestibulum eu, molestie vel, lacus. Aenean tellus metus, bibendum sed, posuere ac, mattis non, nunc. Aliquam lobortis. Aliquam lobortis. Suspendisse non nisl sit amet velit hendrerit rutrum.\r\n

\r\n\r\n

\r\n Phasellus dolor. Fusce neque. Fusce fermentum odio nec arcu. Pellentesque libero tortor, tincidunt et, tincidunt eget, semper nec, quam. Phasellus blandit leo ut odio.\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n Morbi nec metus. Suspendisse faucibus, nunc et pellentesque egestas, lacus ante convallis tellus, vitae iaculis lacus elit id tortor. Sed mollis, eros et ultrices tempus, mauris ipsum aliquam libero, non adipiscing dolor urna a orci. Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo. Nunc sed turpis.\r\n

\r\n\r\n

\r\n Suspendisse feugiat. Suspendisse faucibus, nunc et pellentesque egestas, lacus ante convallis tellus, vitae iaculis lacus elit id tortor. Proin viverra, ligula sit amet ultrices semper, ligula arcu tristique sapien, a accumsan nisi mauris ac eros. In hac habitasse platea dictumst. Fusce ac felis sit amet ligula pharetra condimentum.\r\n

\r\n\r\n

\r\n Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, quis gravida magna mi a libero. Nam commodo suscipit quam. In consectetuer turpis ut velit. Sed cursus turpis vitae tortor. Aliquam eu nunc.\r\n

\r\n\r\n

\r\n Etiam ut purus mattis mauris sodales aliquam. Ut varius tincidunt libero. Aenean viverra rhoncus pede. Duis leo. Fusce fermentum odio nec arcu.\r\n

\r\n\r\n

\r\n Donec venenatis vulputate lorem. Aenean viverra rhoncus pede. In dui magna, posuere eget, vestibulum et, tempor auctor, justo. Fusce commodo aliquam arcu. Suspendisse enim turpis, dictum sed, iaculis a, condimentum nec, nisi.\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n Fusce a quam. Phasellus nec sem in justo pellentesque facilisis. Nam eget dui. Proin viverra, ligula sit amet ultrices semper, ligula arcu tristique sapien, a accumsan nisi mauris ac eros. In dui magna, posuere eget, vestibulum et, tempor auctor, justo.\r\n

\r\n\r\n

\r\n Cras sagittis. Phasellus nec sem in justo pellentesque facilisis. Proin sapien ipsum, porta a, auctor quis, euismod ut, mi. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nam at tortor in tellus interdum sagittis.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
", - "Type": "Demos.Components.Tabs.props.VerticalTabs", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 10, - "Name": "content", - "Title": "内容", - "Description": "

MToolbar 的扩展槽中放置 MTabs 是很常见的。使用 MToolbar 的tabs属性自动将其高度调整为48px以匹配 MTabs

\n", - "Code": "\r\n \r\n \r\n \r\n\r\n Page title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in Enumerable.Range(1, 3))\r\n {\r\n \r\n Item @item\r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n @foreach (var item in Enumerable.Range(1, 3))\r\n {\r\n \r\n \r\n @text\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber model = 2;\r\n\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n\r\n}", - "Type": "Demos.Components.Tabs.misc.Content", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 11, - "Name": "desktopTabs", - "Title": "桌面选项卡", - "Description": "

您可以使用单个图标表示 MTabs 动作。当很容易将内容关联到每个选项卡时,这非常有用。

\n", - "Code": "\r\n \r\n \r\n \r\n\r\n Contact Database\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n \r\n mdi-phone\r\n \r\n\r\n \r\n mdi-heart\r\n \r\n\r\n \r\n mdi-account-box\r\n \r\n \r\n \r\n \r\n\r\n \r\n @foreach (var item in Enumerable.Range(1, 3))\r\n {\r\n \r\n \r\n @text\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber tabs;\r\n\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n\r\n}", - "Type": "Demos.Components.Tabs.misc.DesktopTabs", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 12, - "Name": "dynamicHeight", - "Title": "动态高度", - "Description": "

更改 MTabItem,内容区域将平滑缩放到新大小。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in Enumerable.Range(1, 3))\r\n {\r\n \r\n Item @item\r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n \r\n \r\n \r\n \r\n \r\n \r\n An awesome title\r\n \r\n \r\n

\r\n Duis lobortis massa imperdiet quam. Donec vitae orci sed dolor rutrum auctor. Vestibulum facilisis, purus nec pulvinar iaculis, ligula mi congue nunc, vitae euismod ligula urna in dolor. Praesent congue erat at massa.\r\n

\r\n\r\n

\r\n Aenean posuere, tortor sed cursus feugiat, nunc augue blandit nunc, eu sollicitudin urna dolor sagittis lacus. Pellentesque egestas, neque sit amet convallis pulvinar, justo nulla eleifend augue, ac auctor orci leo non est. Etiam sit amet orci eget eros faucibus tincidunt. Donec sodales sagittis magna.\r\n

\r\n\r\n

\r\n Ut leo. Suspendisse potenti. Duis vel nibh at velit scelerisque suscipit. Fusce pharetra convallis urna.\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n An even better title\r\n \r\n \r\n

\r\n Maecenas ullamcorper, dui et placerat feugiat, eros pede varius nisi, condimentum viverra felis nunc et lorem. Sed hendrerit. Maecenas malesuada. Vestibulum ullamcorper mauris at ligula. Proin faucibus arcu quis ante.\r\n

\r\n\r\n

\r\n Etiam vitae tortor. Curabitur ullamcorper ultricies nisi. Sed magna purus, fermentum eu, tincidunt eu, varius ut, felis. Aliquam lobortis. Suspendisse potenti.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n\r\n StringNumber tabs;\r\n}", - "Type": "Demos.Components.Tabs.misc.DynamicHeight", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 13, - "Name": "dynamicTabs", - "Title": "动态标签", - "Description": "

Tabs can be dynamically added and removed. This allows you to update to any number and the MTabs component will react. In this example when we add a new tab, we automatically change our model to match. As we add more tabs and overflow the container, the selected item will be automatically scrolled into view. Remove all MTabs and the slider will disappear.

\n", - "Code": "\r\n \r\n @foreach (var item in Enumerable.Range(0, Length))\r\n {\r\n \r\n Item @(item + 1)\r\n \r\n }\r\n \r\n \r\n Length--\">\r\n Remove Tab\r\n \r\n \r\n \r\n Length++\">\r\n Add Tab\r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n\r\n int _length = 1;\r\n\r\n int Length\r\n {\r\n get => _length;\r\n set\r\n {\r\n _length = value;\r\n tab = value - 1;\r\n }\r\n }\r\n\r\n StringNumber tab;\r\n\r\n\r\n\r\n}", - "Type": "Demos.Components.Tabs.misc.DynamicTabs", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 14, - "Name": "overflowToMenu", - "Title": "溢出到菜单", - "Description": "

You can use a menu to hold additional tabs, swapping them out on the fly.

\n", - "Code": "@using System.Net.Security\r\n\r\n \r\n \r\n \r\n\r\n Page title\r\n\r\n \r\n\r\n \r\n mdi-magnify\r\n \r\n\r\n \r\n mdi-dots-vertical\r\n \r\n \r\n\r\n \r\n \r\n\r\n @foreach (var item in items)\r\n {\r\n \r\n @item\r\n \r\n }\r\n\r\n @if (more.Count > 0)\r\n {\r\n \r\n \r\n \r\n more\r\n \r\n mdi-menu-down\r\n \r\n \r\n \r\n\r\n \r\n \r\n @foreach (var item in more)\r\n {\r\n addItem(item)\">\r\n @item\r\n \r\n }\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n @foreach (var item in items.Concat(more))\r\n {\r\n \r\n \r\n \r\n

@item

\r\n @text\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n@code {\r\n\r\n StringNumber currentItem;\r\n\r\n List items = new List()\r\n {\r\n \"Web\", \"Shopping\", \"Videos\", \"Images\"\r\n };\r\n\r\n List more = new List()\r\n {\r\n \"News\", \"Maps\", \"Books\", \"Flights\", \"Apps\"\r\n };\r\n\r\n string text = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\";\r\n\r\n void addItem(string item)\r\n {\r\n var removed = items.First();\r\n items.Remove(removed);\r\n\r\n var index = more.IndexOf(item);\r\n more.RemoveAt(index);\r\n items.Add(item);\r\n\r\n more.Add(removed);\r\n\r\n currentItem = item;\r\n }\r\n}", - "Type": "Demos.Components.Tabs.misc.OverflowToMenu", - "Style": "", - "Debug": false, - "Group": 3 - }, - { - "Order": 15, - "Name": "tabItems", - "Title": "标签项", - "Description": "

The MTabsItems component allows for you to customize the content per tab. Using a shared variable, the MTabsItems will sync with the currently selected MTab.

\n", - "Code": "\r\n \r\n @foreach (var (tab, _) in items)\r\n {\r\n \r\n @tab\r\n \r\n }\r\n \r\n\r\n \r\n @foreach (var (tab, content) in items)\r\n {\r\n \r\n \r\n @content\r\n \r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n StringNumber tab;\r\n\r\n List<(string tab, string content)> items = new()\r\n {\r\n new(\"One\", \"Tab 1 Content\"),\r\n new(\"Two\", \"Tab 2 Content\"),\r\n new(\"Three\", \"Tab 3 Content\"),\r\n new(\"Four\", \"Tab 4 Content\"),\r\n new(\"Five\", \"Tab 5 Content\"),\r\n new(\"Six\", \"Tab 6 Content\"),\r\n new(\"Seven\", \"Tab 7 Content\"),\r\n new(\"Eight\", \"Tab 8 Content\"),\r\n new(\"Nine\", \"Tab 9 Content\"),\r\n new(\"Ten\", \"Tab 10 Content\"),\r\n };\r\n\r\n}", - "Type": "Demos.Components.Tabs.misc.TabItems", + "Order": 2, + "Name": "fade", + "Title": "Fade", + "Description": "

Fade 过渡的示例.

\n", + "Code": "
\r\n \r\n\r\n \r\n \r\n Fade Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n
", + "Type": "Demos.StylesAndAnimations.Transitions.misc.Fade", "Style": "", "Debug": false, "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Tabs.svg", - "Cols": 1, - "Related": [ - "/components/icons", - "/components/toolbars", - "/components/windows" - ], - "Subtitle": "选项卡", - "Title": "Tabs", - "Type": "选项卡" - }, - { - "Desc": "

MTimeline 对于显示时间顺序信息非常有用。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.7312393+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

MTimeline 以最简单的形式显示了一个垂直时间轴, 它至少应该包含一个 MTimelineItem

\n", - "Code": "\r\n timeline item\r\n timeline item\r\n timeline item\r\n\r\n\r\n\r\n", - "Type": "Demos.Components.Timeline.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "color", - "Title": "颜色", - "Description": "

彩色的点可以创建可视的断点,使您的时间轴更容易阅读。

\n", - "Code": "\r\n \r\n \r\n mdi-plus\r\n \r\n \r\n \r\n mdi-menu\r\n \r\n

\r\n Timeline\r\n

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n 8\r\n \r\n
\r\n Monday\r\n
\r\n
\r\n February 2015\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n 5pm\r\n \r\n \r\n New Icon\r\n
\r\n Mobile App\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n 3-4pm\r\n \r\n \r\n Design Stand Up\r\n
\r\n Hangouts\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n 12pm\r\n \r\n \r\n Lunch break\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n 9-11am\r\n \r\n \r\n Finish Home Screen\r\n
\r\n Web App\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
", - "Type": "Demos.Components.Timeline.props.Color", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "dense", - "Title": "密集", - "Description": "

Dense 的时间轴将所有内容置于右侧。在这个示例中,MAlert 代替卡片以提供不同的设计。

\n", - "Code": "@using System.Timers;\r\n@using Timer = System.Timers.Timer;\r\n\r\n\r\n \r\n Logs\r\n \r\n \r\n Realtime Logging\r\n \r\n \r\n \r\n \r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n \r\n \r\n }\r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private string[] _colors = new string[4] { \"info\", \"warning\", \"error\", \"success\" };\r\n private Dictionary _icons = new Dictionary\r\n {\r\n { \"info\",\"mdi-information\"},\r\n { \"warning\",\"mdi-alert\"},\r\n { \"error\",\"mdi-alert-circle\"},\r\n { \"success\",\"mdi-check-circle\"}\r\n };\r\n private class ItemDemo\r\n {\r\n public int Id { get; set; }\r\n public string Color { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n private List _items = new List\r\n {\r\n new ItemDemo { Id = 1, Color = \"info\", Icon = \"mdi-information\" }\r\n };\r\n private int _nonce = 2;\r\n private Timer _interval { get; set; }\r\n private string _btnColor => _interval == null ? \"white\" : \"primary\";\r\n\r\n private void AddEvent()\r\n {\r\n var (color, icon) = GenAlert();\r\n\r\n var previousColor = _items[0].Color;\r\n\r\n while (previousColor == color)\r\n {\r\n (color, icon) = GenAlert();\r\n };\r\n\r\n _items.Insert(0, new ItemDemo { Id = _nonce++, Color = color, Icon = icon });\r\n\r\n if (_nonce > 6)\r\n {\r\n _items.RemoveAt(_items.Count - 1);\r\n }\r\n }\r\n\r\n private (string, string) GenAlert()\r\n {\r\n var color = GenColor();\r\n\r\n return (color, GenIcon(color));\r\n }\r\n\r\n private string GenColor()\r\n {\r\n var random = new Random();\r\n var num = random.Next(0, 10);\r\n\r\n return _colors[num % 4];\r\n }\r\n\r\n private string GenIcon(string color)\r\n {\r\n _icons.TryGetValue(color, out var icon);\r\n\r\n return icon;\r\n }\r\n\r\n private void Start()\r\n {\r\n if (_interval == null)\r\n {\r\n _interval = new Timer\r\n {\r\n Interval = 3000\r\n };\r\n _interval.Elapsed += Timer_Elapsed;\r\n }\r\n\r\n _interval.Start();\r\n }\r\n\r\n private async void Timer_Elapsed(object sender, ElapsedEventArgs e)\r\n {\r\n await InvokeAsync(() =>\r\n {\r\n AddEvent();\r\n\r\n StateHasChanged();\r\n });\r\n }\r\n\r\n private void Stop()\r\n {\r\n _interval.Stop();\r\n _interval.Dispose();\r\n _interval.Close();\r\n\r\n _interval = null;\r\n }\r\n}", - "Type": "Demos.Components.Timeline.props.Dense", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "iconDots", - "Title": "图标点", - "Description": "

使用 MTimelineItem 圆点内的图标来提供额外的上下文。

\n", - "Code": "\r\n @foreach (var item in _items)\r\n {\r\n \r\n \r\n \r\n Lorem Ipsum Dolor\r\n \r\n \r\n

Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.

\r\n \r\n Button\r\n \r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n@code{\r\n private List _items = new List\r\n {\r\n new Item \r\n {\r\n Color= \"red lighten-2\",\r\n Icon= \"mdi-star\",\r\n },\r\n new Item\r\n {\r\n Color= \"purple darken-1\",\r\n Icon= \"mdi-book-variant\",\r\n },\r\n new Item\r\n {\r\n Color= \"green lighten-1\",\r\n Icon= \"mdi-airballoon\",\r\n },\r\n new Item\r\n {\r\n Color= \"indigo\",\r\n Icon= \"mdi-buffer\",\r\n }\r\n };\r\n\r\n class Item\r\n {\r\n public string Color { get; set; }\r\n public string Icon { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.Timeline.props.IconDots", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "reverse", - "Title": "反转", - "Description": "

您可以使用 Reverse 属性来反转时间轴项目的方向。这在默认模式和 Dense 模式下都可以工作。

\n", - "Code": "
\r\n \r\n \r\n @for (int i = 0; i < 2; i++)\r\n {\r\n \r\n \r\n Tus eu perfecto\r\n \r\n \r\n \r\n \r\n Lorem ipsum\r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n \r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n @for (int i = 0; i < 2; i++)\r\n {\r\n \r\n \r\n Tus eu perfecto\r\n \r\n \r\n \r\n \r\n Lorem ipsum\r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n \r\n \r\n \r\n \r\n }\r\n \r\n
\r\n\r\n@code{\r\n private bool _reverse = true;\r\n}\r\n\r\n", - "Type": "Demos.Components.Timeline.props.Reverse", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "small", - "Title": "小号", - "Description": "

Small 属性允许不同的样式提供独特的设计。

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n mdi-magnify\r\n \r\n

\r\n Title 1\r\n

\r\n
\r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit.\r\n \r\n \r\n \r\n mdi-calendar-text\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n

\r\n Title 2\r\n

\r\n \r\n mdi-home-outline\r\n \r\n
\r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit.\r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus.\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n mdi-email-outline\r\n \r\n

\r\n Title 3\r\n

\r\n
\r\n \r\n \r\n @for (int i = 0; i < 3; i++)\r\n {\r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus no nam oblique.\r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n

\r\n Title 4\r\n

\r\n \r\n mdi-account-multiple-outline\r\n \r\n
\r\n \r\n \r\n \r\n \r\n mdi-server-network\r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus.\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n mdi-phone-in-talk\r\n \r\n

\r\n Title 5\r\n

\r\n
\r\n \r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n \r\n \r\n \r\n
\r\n
\r\n
", - "Type": "Demos.Components.Timeline.props.Small", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "iconContent", - "Title": "IconContent", - "Description": "

使用 IconContentMAvatar 将头像插入到圆点中。

\n", - "Code": "\r\n @for (var i= 0; i < 4; i++)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Tus eu perfecto\r\n \r\n \r\n \r\n \r\n Lorem ipsum\r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n \r\n \r\n \r\n \r\n }\r\n", - "Type": "Demos.Components.Timeline.contents.IconContent", - "Style": "", - "Debug": false, - "Group": 2 }, { "Order": 3, - "Name": "oppositeContent", - "Title": "OppositeContent", - "Description": "

OppositeContent 插槽在您的时间线内提供额外的自定义层。

\n", - "Code": "\r\n @foreach (var year in _years)\r\n {\r\n \r\n \r\n \r\n @year.Year\r\n \r\n \r\n \r\n
\r\n

\r\n Lorem ipsum\r\n

\r\n
\r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n@code\r\n{\r\n private class YearDemo\r\n {\r\n public string Color { get; set; }\r\n public string Year { get; set; }\r\n }\r\n\r\n private List _years = new List\r\n {\r\n new YearDemo { Color = \"cyan\", Year = \"1960\" },\r\n new YearDemo { Color = \"green\", Year = \"1970\" },\r\n new YearDemo { Color = \"pink\", Year = \"1980\" },\r\n new YearDemo { Color = \"amber\", Year = \"1990\" },\r\n new YearDemo { Color = \"orange\", Year = \"2000\" }\r\n };\r\n}", - "Type": "Demos.Components.Timeline.contents.OppositeContent", + "Name": "scale", + "Title": "Scale", + "Description": "

许多 MASA Blazor 组件都包含一个 transition 属性允许你指定想要的效果。

\n", + "Code": "
\r\n \r\n\r\n \r\n \r\n Scale Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n
", + "Type": "Demos.StylesAndAnimations.Transitions.misc.Scale", "Style": "", "Debug": false, - "Group": 2 + "Group": 3 }, { "Order": 4, - "Name": "timelineItemDefault", - "Title": "默认", - "Description": "

如果您将 MCard 放在 MTimelineItem 内,则卡的侧面会出现一个插入符号。

\n", - "Code": "\r\n @for (var i= 0; i < 4; i++)\r\n {\r\n \r\n \r\n Tus eu perfecto\r\n \r\n \r\n \r\n \r\n Lorem ipsum\r\n \r\n \r\n Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.\r\n \r\n \r\n \r\n \r\n }\r\n", - "Type": "Demos.Components.Timeline.contents.TimelineItemDefault", + "Name": "scrollX", + "Title": "Scroll X", + "Description": "

X 轴滚动过渡沿着水平轴继续。

\n", + "Code": "\r\n\r\n \r\n\r\n \r\n \r\n Scroll X Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n\r\n \r\n \r\n Scroll X Reverse Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n\r\n
", + "Type": "Demos.StylesAndAnimations.Transitions.misc.ScrollX", "Style": "", "Debug": false, - "Group": 2 + "Group": 3 }, { "Order": 5, - "Name": "advanced", - "Title": "高级用法", - "Description": "

模块化组件允许您创建高度定制的解决方案。

\n", - "Code": "\r\n \r\n \r\n \r\n JL\r\n \r\n \r\n \r\n \r\n \r\n Post\r\n \r\n \r\n \r\n \r\n \r\n\r\n @foreach (var item in _events)\r\n {\r\n \r\n \r\n @item.Text\r\n @item.Time\r\n \r\n \r\n }\r\n\r\n \r\n Today\r\n \r\n\r\n \r\n \r\n \r\n This order was archived.\r\n \r\n \r\n 15:26 EDT\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n App\r\n \r\n Digital Downloads fulfilled 1 item.\r\n \r\n \r\n 15:25 EDT\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Order confirmation email was sent to John Leider (john@vuetifyjs.com).\r\n \r\n \r\n 15:25 EDT\r\n \r\n \r\n \r\n\r\n \r\n Resend Email\r\n \r\n\r\n \r\n \r\n \r\n A $15.00 USD payment was processed on PayPal Express Checkout\r\n \r\n \r\n 15:25 EDT\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n John Leider placed this order on Online Store (checkout #1937432132572).\r\n \r\n \r\n 15:25 EDT\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private class EventDemo\r\n {\r\n public int Id { get; set; }\r\n public string Text { get; set; }\r\n public string Time { get; set; }\r\n }\r\n private List _events = new List();\r\n private string _input = string.Empty;\r\n private int _nonce = 0;\r\n\r\n private void Comment()\r\n {\r\n _events.Insert(0,\r\n new EventDemo\r\n {\r\n Id = _nonce++,\r\n Text = _input,\r\n Time = DateTime.Now.ToString(\"HH:mm:ss\")\r\n });\r\n\r\n _input = string.Empty;\r\n }\r\n}", - "Type": "Demos.Components.Timeline.misc.Advanced", + "Name": "scrollY", + "Title": "Scroll Y", + "Description": "

Y 轴滚动过渡沿着垂直轴继续。

\n", + "Code": "\r\n\r\n \r\n\r\n \r\n \r\n Scroll Y Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n\r\n \r\n \r\n Scroll Y Reverse Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n\r\n
", + "Type": "Demos.StylesAndAnimations.Transitions.misc.ScrollY", "Style": "", "Debug": false, "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/cards", - "/components/icons", - "/components/grid-system" - ], - "Subtitle": "时间轴", - "Title": "Timelines", - "Type": "时间轴" - }, - { - "Desc": "

当用户悬停在元素上时, MTooltip 组件可用于传递信息。 您还可以通过 @bind-Value 来控制提示的显示。 当激活时,提示将显示用于标识元素的文本,例如其功能的描述。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n", - "注意": "\n\n

为了正确定位 MTooltip,需要一个位置支撑(Top | Bottom | Left | Right)。

\n" - }, - "LastWriteTime": "2021-11-09T10:30:56.9398975+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

提示组件可以包装任何元素。

\n", - "Code": "
\r\n \r\n \r\n Bottom\r\n \r\n \r\n Tooltip\r\n \r\n \r\n\r\n \r\n \r\n mdi-home\r\n \r\n \r\n Tooltip\r\n \r\n \r\n\r\n \r\n \r\n This text has a tooltip\r\n \r\n \r\n Tooltip\r\n \r\n \r\n
", - "Type": "Demos.Components.Tooltip.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "alignment", - "Title": "对齐", - "Description": "

提示可以对齐到激活器元素的四个侧面。

\n", - "Code": "
\r\n \r\n \r\n Left\r\n \r\n \r\n Left tooltip\r\n \r\n \r\n\r\n \r\n \r\n Top\r\n \r\n \r\n Top tooltip\r\n \r\n \r\n\r\n \r\n \r\n Bottom\r\n \r\n \r\n Bottom tooltip\r\n \r\n \r\n\r\n \r\n \r\n Right\r\n \r\n \r\n Right tooltip\r\n \r\n \r\n
", - "Type": "Demos.Components.Tooltip.props.Alignment", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 2, - "Name": "visibility", - "Title": "可见性", - "Description": "

可使用 @bind-Value 编程性修改提示可见性。

\n", - "Code": "\r\n \r\n \r\n show = !show\">\r\n toggle\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n mdi-cart\r\n \r\n \r\n \r\n Programmatic tooltip\r\n \r\n \r\n \r\n \r\n\r\n\r\n@code\r\n{\r\n private bool show;\r\n}", - "Type": "Demos.Components.Tooltip.props.Visibility", - "Style": "", - "Debug": false, - "Group": 0 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Tooltip.svg", - "Cols": 1, - "Related": [ - "/components/badges", - "/components/icons", - "/components/menus" - ], - "Subtitle": "工具提示", - "Title": "Tooltips", - "Type": "工具提示" - }, - { - "Desc": "

MTreeview 组件适用于显示大量嵌套数据。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.745241+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "

一个基本示例

\n", - "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code {\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}", - "Type": "Demos.Components.Treeview.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "activatable", - "Title": "可激活", - "Description": "

树形视图节点可以将其激活。

\n", - "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _active = new List\r\n {\r\n 2\r\n };\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", - "Type": "Demos.Components.Treeview.props.Activatable", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "color", - "Title": "颜色", - "Description": "

您可以控制活动的树形视图节点的文本和背景颜色。

\n", - "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", - "Type": "Demos.Components.Treeview.props.Color", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "dense", - "Title": "密集", - "Description": "

Dense 属性激活密集模式,提供了更紧凑的布局,同时降低了项目的高度。

\n", - "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", - "Type": "Demos.Components.Treeview.props.Dense", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "hoverable", - "Title": "可悬停的", - "Description": "

Hoverable 属性令树形视图节点可以具有悬停效果。

\n", - "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", - "Type": "Demos.Components.Treeview.props.Hoverable", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "itemDisabled", - "Title": "禁用项目", - "Description": "

设置 ItemDisabled 属性,控制节点在设置为 true 时禁用节点。

\n", - "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public bool Locked { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private Func _locked = r => r.Locked;\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Locked=true,\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", - "Type": "Demos.Components.Treeview.props.ItemDisabled", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "loadChildren", - "Title": "加载子项", - "Description": "

您可以通过提供回调到 LoadChildren 属性,来动态加载子数据。 此回调将在用户首次试图扩展一个包含一个空数组的子属性的项目时执行。

\n", - "Code": "\r\n \r\n User Directory\r\n \r\n \r\n \r\n r.Name\"\r\n ItemKey=\"r=>r.Id\"\r\n ItemChildren=\"r=>r.Children\">\r\n \r\n @if (context.Item.Children == null)\r\n {\r\n \r\n mdi-account\r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n @if (Selected == null)\r\n {\r\n
\r\n Select a User\r\n
\r\n }\r\n else\r\n {\r\n \r\n \r\n @if (_avatar != null)\r\n {\r\n \r\n \r\n \r\n }\r\n

\r\n @Selected.Name\r\n

\r\n
\r\n @Selected.Email\r\n
\r\n
\r\n @Selected.UserName\r\n
\r\n
\r\n \r\n \r\n \r\n Company:\r\n \r\n @Selected.Company.Name\r\n \r\n Website:\r\n \r\n \r\n @Selected.Website\r\n \r\n \r\n Phone:\r\n \r\n @Selected.Phone\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n public class User\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public string UserName { get; set; }\r\n\r\n public string Email { get; set; }\r\n\r\n public Address Address { get; set; }\r\n\r\n public string Phone { get; set; }\r\n\r\n public string Website { get; set; }\r\n\r\n public Company Company { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n public class Address\r\n {\r\n public string Street { get; set; }\r\n\r\n public string Suite { get; set; }\r\n\r\n public string City { get; set; }\r\n\r\n public string Zipcode { get; set; }\r\n\r\n public Geo Geo { get; set; }\r\n }\r\n\r\n public class Geo\r\n {\r\n public string Lat { get; set; }\r\n\r\n public string Lng { get; set; }\r\n }\r\n\r\n public class Company\r\n {\r\n public string Name { get; set; }\r\n\r\n public string CatchPhrase { get; set; }\r\n\r\n public string Bs { get; set; }\r\n }\r\n\r\n private List _avatars = new List()\r\n {\r\n \"?accessoriesType=Blank&avatarStyle=Circle&clotheColor=PastelGreen&clotheType=ShirtScoopNeck&eyeType=Wink&eyebrowType=UnibrowNatural&facialHairColor=Black&facialHairType=MoustacheMagnum&hairColor=Platinum&mouthType=Concerned&skinColor=Tanned&topType=Turban\",\r\n \"?accessoriesType=Sunglasses&avatarStyle=Circle&clotheColor=Gray02&clotheType=ShirtScoopNeck&eyeType=EyeRoll&eyebrowType=RaisedExcited&facialHairColor=Red&facialHairType=BeardMagestic&hairColor=Red&hatColor=White&mouthType=Twinkle&skinColor=DarkBrown&topType=LongHairBun\",\r\n \"?accessoriesType=Prescription02&avatarStyle=Circle&clotheColor=Black&clotheType=ShirtVNeck&eyeType=Surprised&eyebrowType=Angry&facialHairColor=Blonde&facialHairType=Blank&hairColor=Blonde&hatColor=PastelOrange&mouthType=Smile&skinColor=Black&topType=LongHairNotTooLong\",\r\n \"?accessoriesType=Round&avatarStyle=Circle&clotheColor=PastelOrange&clotheType=Overall&eyeType=Close&eyebrowType=AngryNatural&facialHairColor=Blonde&facialHairType=Blank&graphicType=Pizza&hairColor=Black&hatColor=PastelBlue&mouthType=Serious&skinColor=Light&topType=LongHairBigHair\",\r\n \"?accessoriesType=Kurt&avatarStyle=Circle&clotheColor=Gray01&clotheType=BlazerShirt&eyeType=Surprised&eyebrowType=Default&facialHairColor=Red&facialHairType=Blank&graphicType=Selena&hairColor=Red&hatColor=Blue02&mouthType=Twinkle&skinColor=Pale&topType=LongHairCurly\"\r\n };\r\n private List _users = new();\r\n private string _avatar;\r\n private List _active;\r\n private User _selected;\r\n\r\n [Inject]\r\n public HttpClient HttpClient { get; set; }\r\n\r\n protected User Selected\r\n {\r\n get\r\n {\r\n if (_active == null || _active.Count == 0)\r\n {\r\n return null;\r\n }\r\n\r\n var id = _active[0];\r\n\r\n var user = _users.Find(user => user.Id == id);\r\n if (user != _selected)\r\n {\r\n _selected = user;\r\n RandomAvatar();\r\n }\r\n\r\n return user;\r\n }\r\n }\r\n\r\n private List _items = new List\r\n {\r\n new User\r\n {\r\n Name=\"Users\",\r\n Children=new()\r\n }\r\n };\r\n\r\n public async Task FetchUsers(User item)\r\n {\r\n await Task.Delay(1500);\r\n _users = await HttpClient.GetFromJsonAsync>(\"https://jsonplaceholder.typicode.com/users\");\r\n //We can't detect whether items has changed with same object reference,so give us a new object\r\n //We may enhance this in the feature\r\n _items = new List\r\n {\r\n new User\r\n {\r\n Name=\"Users\",\r\n Children=_users\r\n }\r\n };\r\n\r\n //Refresh UI,so we will re-build nodes of the treeview\r\n StateHasChanged();\r\n }\r\n\r\n public void RandomAvatar()\r\n {\r\n _avatar = _avatars[new Random().Next(_avatars.Count)];\r\n }\r\n}", - "Type": "Demos.Components.Treeview.props.LoadChildren", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "openAll", - "Title": "打开全部", - "Description": "

树形视图节点可以在页面加载时预先打开。

\n", - "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", - "Type": "Demos.Components.Treeview.props.OpenAll", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "rounded", - "Title": "圆角", - "Description": "

您可以使树视图节点变成圆角。

\n", - "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", - "Type": "Demos.Components.Treeview.props.Rounded", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "selectable", - "Title": "可选择", - "Description": "

您可以轻松选择树形视图节点和子节点。

\n", - "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\" OnInput=\"HandleOnInput\">\r\n\r\n\r\n@code {\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _value = new List\r\n {\r\n 2\r\n };\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n\r\n private List _selected = new();\r\n\r\n public void HandleOnInput(List selected)\r\n {\r\n _selected = selected;\r\n }\r\n}\r\n", - "Type": "Demos.Components.Treeview.props.Selectable", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "selectColor", - "Title": "选择颜色", - "Description": "

您可以控制所选节点复选框的颜色。

\n", - "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", - "Type": "Demos.Components.Treeview.props.SelectColor", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "selectType", - "Title": "选择类型", - "Description": "

属性视图支持两种不同的选择类型。 默认类型是 Leaf,它在 @bind-Value 数组中只包含选中的叶节点。 但会渲染父节点状态为全选或半选(这一点需要考量)。 另一种模式是 Independent\n,允许选择父节点,但每个节点都独立于其父节点。

\n", - "Code": "\r\n r.ToString()\" ItemValue=\"r=>r\">\r\n \r\n \r\n _selection = val\" Selectable SelectionType=\"_type\" Items=\"_data\"\r\n ItemText=\"r=>r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n \r\n \r\n \r\n \r\n @if (_selection == null)\r\n {\r\n @(\"No nodes selected\")\r\n }\r\n else\r\n {\r\n foreach (var node in _selection)\r\n {\r\n
\r\n @node.Name\r\n
\r\n }\r\n }\r\n
\r\n
\r\n
\r\n\r\n@code {\r\n private SelectionType _type;\r\n private List _selection;\r\n\r\n private List _types = new List\r\n{\r\n SelectionType.Leaf,\r\n SelectionType.Independent\r\n };\r\n\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", - "Type": "Demos.Components.Treeview.props.SelectType", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 1, - "Name": "shaped", - "Title": "形状", - "Description": "

形状的树形视图在节点的一侧具有圆形边界。

\n", - "Code": "r.Name\" ItemChildren=\"r=>r.Children\" ItemKey=\"r=>r.Id\">\r\n\r\n\r\n@code{\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _data = new List\r\n {\r\n new Data\r\n {\r\n Id=1,\r\n Name=\"Applications :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=2,\r\n Name=\"Calendar : app\"\r\n },\r\n new Data\r\n {\r\n Id=3,\r\n Name=\"Chrome : app\"\r\n },\r\n new Data\r\n {\r\n Id=4,\r\n Name=\"Webstorm : app\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=5,\r\n Name=\"Documents :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=6,\r\n Name=\"vuetify :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=7,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=8,\r\n Name=\"index : ts\"\r\n },new Data\r\n {\r\n Id=9,\r\n Name=\"bootstrap : ts\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=10,\r\n Name=\"material2 :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=11,\r\n Name=\"src :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=12,\r\n Name=\"v-btn : ts\"\r\n },new Data\r\n {\r\n Id=13,\r\n Name=\"v-card : ts\"\r\n },new Data\r\n {\r\n Id=14,\r\n Name=\"v-window : ts\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=15,\r\n Name=\"Downloads :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=16,\r\n Name=\"October : pdf\"\r\n },new Data\r\n {\r\n Id=17,\r\n Name=\"November : pdf\"\r\n },new Data\r\n {\r\n Id=18,\r\n Name=\"Tutorial : html\"\r\n }\r\n }\r\n },\r\n new Data\r\n {\r\n Id=19,\r\n Name=\"Videos :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=20,\r\n Name=\"Tutorials :\",\r\n Children=new List\r\n {\r\n new Data\r\n {\r\n Id=21,\r\n Name=\"Basic layouts : mp4\"\r\n },new Data\r\n {\r\n Id=22,\r\n Name=\"Advanced techniques : mp4\"\r\n },new Data\r\n {\r\n Id=23,\r\n Name=\"All about app : dir\"\r\n }\r\n }\r\n },new Data\r\n {\r\n Id=24,\r\n Name=\"Intro : mov\"\r\n },new Data\r\n {\r\n Id=25,\r\n Name=\"Conference introduction : avi\"\r\n }\r\n }\r\n }\r\n };\r\n}\r\n", - "Type": "Demos.Components.Treeview.props.Shaped", - "Style": "", - "Debug": false, - "Group": 0 - }, - { - "Order": 0, - "Name": "appendAndLabel", - "Title": "附加和标签", - "Description": "

使用 LabelContentAppendContent 插槽,我们能够创建一个直观的文件浏览器。

\n", - "Code": " u.Name\"\r\n ItemChildren=\"u => u.Children\"\r\n ItemText=\"u => u.Name\"\r\n OpenOnClick>\r\n \r\n @if (context.Item.File == null)\r\n {\r\n \r\n @(context.Open ? \"mdi-folder-open\" : \"mdi-folder\")\r\n \r\n }\r\n else\r\n {\r\n \r\n @files[context.Item.File]\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n\r\n static Dictionary files = new()\r\n {\r\n {\"html\", \"mdi-language-html5\"},\r\n {\"js\", \"mdi-nodejs\"},\r\n {\"json\", \"mdi-code-json\"},\r\n {\"md\", \"mdi-language-markdown\"},\r\n {\"pdf\", \"mdi-file-pdf\"},\r\n {\"png\", \"mdi-file-image\"},\r\n {\"txt\", \"mdi-file-document-outline\"},\r\n {\"xls\", \"mdi-file-excel\"}\r\n };\r\n\r\n static List items = new()\r\n {\r\n new Project(\".git\"),\r\n new Project(\"node_modules\"),\r\n new Project(\"public\", new List()\r\n {\r\n new Project(\"static\", new List()\r\n {\r\n new Project(\"log.png\", \"png\")\r\n }),\r\n new Project(\"favicon.ico\", \"png\"),\r\n new Project(\"index.html\", \"html\")\r\n }),\r\n new Project(\".gitignore\", \"txt\"),\r\n new Project(\"babel.config.js\", \"js\"),\r\n new Project(\"package.json\", \"json\"),\r\n new Project(\"README.md\", \"md\"),\r\n new Project(\"vue.config.js\", \"js\"),\r\n new Project(\"yarn.lock\", \"txt\")\r\n };\r\n\r\n List initiallyOpen = new() {\"public\"};\r\n\r\n public class Project\r\n {\r\n public string File { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n\r\n public Project(string name)\r\n {\r\n Name = name;\r\n }\r\n\r\n public Project(string name, string file)\r\n {\r\n Name = name;\r\n File = file;\r\n }\r\n\r\n public Project(string name, List children)\r\n {\r\n Name = name;\r\n Children = children;\r\n }\r\n }\r\n\r\n}", - "Type": "Demos.Components.Treeview.contents.AppendAndLabel", - "Style": "", - "Debug": false, - "Group": 2 }, { - "Order": 0, - "Name": "searchAndFilter", - "Title": "搜索&过滤", - "Description": "

使用 Search 属性,轻松过滤您的树形视图。 如果您需要区分大小写或模糊过滤,通过设置 Filter 树形,您可以轻松地应用您的自定义过滤功能。 这类似于 MAutocomplete

\n", - "Code": "\r\n \r\n \r\n \r\n \r\n \r\n r.Id\"\r\n ItemText=\"r=>r.Name\"\r\n ItemChildren=\"r=>r.Children\"\r\n @bind-Open=\"_open\">\r\n \r\n @if (context.Item.Children != null && context.Item.Children.Count > 0)\r\n {\r\n \r\n @($\"mdi-{(context.Item.Id == 1 ? \"home-variant\" : \"folder-network\")}\")\r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n public class Data\r\n {\r\n public int Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n }\r\n\r\n private List _items = new List()\r\n {\r\n new Data()\r\n {\r\n Id= 1,\r\n Name= \"Vuetify Human Resources\",\r\n Children= new List()\r\n {\r\n new Data()\r\n {\r\n Id= 2,\r\n Name= \"Core team\",\r\n Children= new List()\r\n {\r\n new Data() {\r\n Id= 201,\r\n Name= \"John\",\r\n },\r\n new Data(){\r\n Id= 202,\r\n Name= \"Kael\",\r\n },\r\n new Data(){\r\n Id= 203,\r\n Name= \"Nekosaur\",\r\n },\r\n new Data(){\r\n Id= 204,\r\n Name= \"Jacek\",\r\n },\r\n new Data(){\r\n Id= 205,\r\n Name= \"Andrew\",\r\n }\r\n }\r\n },\r\n new Data()\r\n {\r\n Id= 3,\r\n Name= \"Administrators\",\r\n Children= new List()\r\n {\r\n new Data()\r\n {\r\n Id= 301,\r\n Name= \"Mike\",\r\n },\r\n new Data()\r\n {\r\n Id= 302,\r\n Name= \"Hunt\",\r\n }\r\n }\r\n },\r\n new Data()\r\n {\r\n Id= 4,\r\n Name= \"Contributors\",\r\n Children= new List()\r\n {\r\n new Data()\r\n {\r\n Id= 401,\r\n Name= \"Phlow\"\r\n },\r\n new Data()\r\n {\r\n Id= 402,\r\n Name= \"Brandon\"\r\n },\r\n new Data()\r\n {\r\n Id= 403,\r\n Name= \"Sean\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n private List _open = new List\r\n {\r\n 1,\r\n 2\r\n };\r\n private string _search;\r\n private bool _caseSensitive;\r\n\r\n public Func, bool> Filter\r\n {\r\n get\r\n {\r\n if (_caseSensitive)\r\n {\r\n return (item, search, textKey) => textKey(item).IndexOf(search) > -1;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n}", - "Type": "Demos.Components.Treeview.misc.SearchAndFilter", + "Order": 6, + "Name": "slideX", + "Title": "Slide x", + "Description": "

X 轴滑动过渡可沿水平方向移动。

\n", + "Code": "\r\n\r\n \r\n\r\n \r\n \r\n Slide X Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n\r\n \r\n \r\n Slide X Reverse Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n\r\n
", + "Type": "Demos.StylesAndAnimations.Transitions.misc.SlideX", "Style": "", "Debug": false, "Group": 3 }, { - "Order": 0, - "Name": "selectableIcons", - "Title": "可选择的图标", - "Description": "

为你的可选择树形视图自定义 选中(on), 未选中(off) 以及 半选(indeterminate) 图标。与诸如API加载项目等其他高级功能合并。

\n", - "Code": "@using System.Text.Json\r\n@using System.Text.Json.Nodes\r\n@inject HttpClient HttpClient\r\n\r\n\r\n \r\n mdi-silverware\r\n Local hotspots\r\n \r\n\r\n \r\n \r\n \r\n item.Id\"\r\n ItemText=\"item => item.Name\"\r\n ItemChildren=\"item => item.Children\"\r\n SelectedColor=\"indigo\"\r\n OpenOnClick\r\n Selectable\r\n ReturnObject\r\n ExpandIcon=\"mdi-chevron-down\"\r\n OnIcon=\"mdi-bookmark\"\r\n OffIcon=\"mdi-bookmark-outline\"\r\n IndeterminateIcon=\"mdi-bookmark-minus\">\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n @if (tree.Count == 0)\r\n {\r\n \r\n Select your favorite breweries\r\n \r\n }\r\n\r\n \r\n @foreach (var (selection, i) in tree.Select((item, i) => (item,i)))\r\n {\r\n \r\n \r\n mdi-beer\r\n \r\n @selection\r\n \r\n }\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n tree.Clear()\">\r\n Reset\r\n \r\n\r\n \r\n\r\n \r\n Save\r\n \r\n mdi-content-save\r\n \r\n \r\n \r\n\r\n\r\n@code {\r\n\r\n List breweries = new();\r\n List tree = new();\r\n List types = new();\r\n\r\n List _items;\r\n bool _itemsChanged = true;\r\n\r\n List items\r\n {\r\n get\r\n {\r\n if (!_itemsChanged)\r\n {\r\n return _items;\r\n }\r\n\r\n var top = new Item(\"1\", \"All Breweries\", new List());\r\n\r\n if (types.Any())\r\n {\r\n top.Children = types.Select(type => new Item(type, getName(type), GetChildren(type))).ToList();\r\n }\r\n\r\n _items = new List {top};\r\n\r\n _itemsChanged = false;\r\n\r\n return _items;\r\n }\r\n }\r\n\r\n async Task Fetch(Item item)\r\n {\r\n var response = await HttpClient.GetAsync(\"https://api.openbrewerydb.org/breweries\");\r\n if (response.IsSuccessStatusCode)\r\n {\r\n var json = await response.Content.ReadAsStringAsync();\r\n breweries = JsonSerializer.Deserialize>(json);\r\n\r\n foreach (var brewery in breweries)\r\n {\r\n var type = (string)brewery[\"brewery_type\"];\r\n if (!types.Contains(type))\r\n {\r\n types.Add(type);\r\n }\r\n }\r\n\r\n types.Sort();\r\n\r\n _itemsChanged = true;\r\n\r\n StateHasChanged();\r\n }\r\n }\r\n\r\n List GetChildren(string type)\r\n {\r\n List result = new();\r\n foreach (var brewery in breweries)\r\n {\r\n if ((string)brewery[\"brewery_type\"] != type) continue;\r\n\r\n brewery[\"name\"] = getName((string)brewery[\"name\"]);\r\n\r\n var item = new Item((string)brewery[\"id\"], (string)brewery[\"name\"], null);\r\n result.Add(item);\r\n }\r\n\r\n result.Sort((x, y) => string.Compare(x.Name, y.Name, StringComparison.Ordinal));\r\n\r\n return result;\r\n }\r\n\r\n string getName(string name)\r\n {\r\n return $\"{name[0].ToString().ToUpper()}{name[1..]}\";\r\n }\r\n\r\n public class Item\r\n {\r\n public string Id { get; set; }\r\n\r\n public string Name { get; set; }\r\n\r\n public List Children { get; set; }\r\n\r\n public Item()\r\n {\r\n }\r\n\r\n public Item(string id, string name)\r\n {\r\n Id = id;\r\n Name = name;\r\n }\r\n\r\n public Item(string id, string name, List children)\r\n {\r\n Id = id;\r\n Name = name;\r\n Children = children;\r\n }\r\n }\r\n\r\n}", - "Type": "Demos.Components.Treeview.misc.SelectableIcons", + "Order": 7, + "Name": "slideY", + "Title": "Slide y", + "Description": "

动画使用应用程序的 $primary-transition。

\n", + "Code": "\r\n\r\n \r\n\r\n \r\n \r\n Slide Y Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n\r\n \r\n \r\n Slide Y Reverse Transition\r\n \r\n \r\n\r\n \r\n \r\n @for (var i = 0; i < 5; i++)\r\n {\r\n \r\n \r\n @(\"Item\"+i)\r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n\r\n
", + "Type": "Demos.StylesAndAnimations.Transitions.misc.SlideY", "Style": "", "Debug": false, "Group": 3 - } - ], - "Children": [], - "Category": "Components", - "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Treeview.svg", - "Cols": 1, - "Related": [ - "/components/lists", - "/components/list-item-groups", - "/components/timelines" - ], - "Subtitle": "树形视图", - "Title": "Treeview", - "Type": "树形视图" - }, - { - "Desc": "

MUpload 组件是一个特殊的表单,它为选择文件,展示选中文件,展示上传进度提供了美观的界面,旨在取代标准的文件上传表单。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.7472409+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "index", - "Title": "使用", - "Description": "", - "Code": "@using System.IO;\r\n\r\n\r\n\r\n\r\n \r\n Upload\r\n \r\n\r\n\r\n@code {\r\n protected MUpload _uploadElementReference;\r\n\r\n bool chips = false;\r\n\r\n List files = new List()\r\n {\r\n new UploadFile { FileName =\"defaultFileName1\", Url = \"https://picsum.photos/510/300?random\", Uploaded = true, IsImage = true },\r\n new UploadFile { FileName = \"defaultFileNam2\", Url = \"https://picsum.photos/520/300?random\", Uploaded = true, IsImage = true }\r\n };\r\n\r\n [Inject]\r\n public IJSRuntime JsRuntime { get; set; }\r\n\r\n async Task HandleUpload(List uploadFiles)\r\n {\r\n var result = await JsRuntime.InvokeAsync>(\"testUploadFile\", _uploadElementReference.Element);\r\n for (int i = 0; i < result.Count; i++)\r\n {\r\n var item = result[i];\r\n uploadFiles[i].Uploaded = item.Uploaded;\r\n uploadFiles[i].Url = item.Url;\r\n uploadFiles[i].Error = item.Error;\r\n }\r\n\r\n files.AddRange(uploadFiles);\r\n }\r\n\r\n // javascript:\r\n //\r\n // window.testUploadFile = function(element) {\r\n // let result = []\r\n //\r\n // if(element){\r\n // for(let i = 0; i< element.files.length; i++){\r\n // var file = element.files[i]\r\n //\r\n // // TODO: oss here\r\n //\r\n // let fileInfo = {\r\n // fileName: file.name,\r\n // uploaded: true,\r\n // error: null,\r\n // url: \"\",\r\n // value: null\r\n // }\r\n //\r\n // result.push(fileInfo)\r\n // }\r\n // }\r\n //\r\n // return result;\r\n // }\r\n}", - "Type": "Demos.Components.Upload.usage.Index", - "Style": "", - "Debug": false, - "Group": 4 - }, - { - "Order": 1, - "Name": "picture", - "Title": "图片", - "Description": "", - "Code": "@using System.IO;\r\n\r\n\r\n \r\n @if (files.Count == 0)\r\n {\r\n \r\n mdi-plus\r\n \r\n }\r\n \r\n\r\n\r\n@code {\r\n List files = new List()\r\n {\r\n new UploadFile { FileName =\"defaultFileName1\", Url = \"https://picsum.photos/510/300?random\", Uploaded = true, IsImage = true },\r\n };\r\n\r\n async Task HandleUpload(List uploadFiles)\r\n {\r\n // TODO: upload to server\r\n\r\n foreach (var file in uploadFiles)\r\n {\r\n var buffers = new byte[file.BrowserFile.Size];\r\n await file.BrowserFile.OpenReadStream().ReadAsync(buffers);\r\n // todo with buffers\r\n\r\n bool succeed = true;\r\n if (succeed)\r\n {\r\n // succeed to upload\r\n file.Uploaded = true;\r\n //file.Url = \"\";\r\n }\r\n else\r\n {\r\n // failed to upload\r\n file.Error = \"Error happens\";\r\n }\r\n }\r\n\r\n files.AddRange(uploadFiles);\r\n }\r\n}", - "Type": "Demos.Components.Upload.props.Picture", - "Style": "", - "Debug": false, - "Group": 0 - } - ], - "Children": [], - "Category": "Components", - "Cols": 1, - "Related": [ - "/components/cards", - "/components/file-inputs", - "/components/images" - ], - "Subtitle": "上传文件", - "Title": "Uploads", - "Type": "上传文件" - }, - { - "Desc": "

MVirtualScroll 组件显示一个虚拟,无限 的列表。 它支持动态高度和垂直滚动。

\n", - "Order": 0, - "OtherDocs": { - "API": "\n\n" - }, - "LastWriteTime": "2021-11-17T17:23:13.7512402+08:00", - "DemoList": [ - { - "Order": 0, - "Name": "Bench", - "Title": "替补", - "Description": "

默认情况下, MvirtualScroll 不会预渲染出现在视图可见范围外的其它项。 使用 OverscanCount 属性会使滚动条渲染额外的项目作为 替补。 为了获得尽可能好的性能,建议尽量减小这个数字

\n", - "Code": "
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n @context\r\n \r\n \r\n\r\n \r\n \r\n User Database Record ID @context\r\n \r\n \r\n\r\n \r\n \r\n mdi-open-in-new\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n@code\r\n{\r\n int _overscanCount = 0;\r\n\r\n int _length = 7000;\r\n\r\n int[] Items\r\n {\r\n get\r\n {\r\n int[] array = new int[_length];\r\n for (var i = 0; i < _length; i++)\r\n {\r\n array[i] = i + 1;\r\n }\r\n return array;\r\n }\r\n }\r\n}", - "Type": "Demos.Components.VirtualScroll.props.Bench", - "Style": "", - "Debug": false, - "Group": 0 }, { - "Order": 1, - "Name": "UserDirectory", - "Title": "用户目录", - "Description": "

MvirtualScroll 组件通过仅渲染填充滚动条所需要的内容来实现无限数量项目的渲染,ItemSize属性可以设置每个项的像素高度

\n", - "Code": "\r\n\r\n \r\n\r\n User Directory\r\n\r\n \r\n\r\n \r\n mdi-plus\r\n \r\n\r\n \r\n\r\n \r\n Lorem ipsum dolor sit, amet consectetur adipisicing elit. Quasi nobis a at voluptates culpa optio amet! Inventore deserunt voluptatem maxime a veniam placeat, eos impedit nulla quos? Officiis, aperiam ducimus.\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n @context.Initials\r\n \r\n \r\n\r\n \r\n \r\n @context.FullName\r\n \r\n \r\n\r\n \r\n \r\n\r\n View User\r\n\r\n \r\n mdi-open-in-new\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n\r\n@code\r\n{\r\n string[] _colors = new[] { \"#2196F3\", \"#90CAF9\", \"#64B5F6\", \"#42A5F5\", \"#1E88E5\", \"#1976D2\", \"#1565C0\", \"#0D47A1\", \"#82B1FF\", \"#448AFF\", \"#2979FF\", \"#2962FF\" };\r\n\r\n string[] _names = new[] { \"Oliver\", \"Jake\", \"Noah\", \"James\", \"Jack\", \"Connor\", \"Liam\", \"John\", \"Harry\", \"Callum\", \"Mason\", \"Robert\", \"Jacob\", \"Jacob\", \"Jacob\", \"Michael\", \"Charlie\", \"Kyle\", \"William\", \"William\", \"Thomas\", \"Joe\", \"Ethan\", \"David\", \"George\", \"Reece\", \"Michael\", \"Richard\", \"Oscar\", \"Rhys\", \"Alexander\", \"Joseph\", \"James\", \"Charlie\", \"James\", \"Charles\", \"William\", \"Damian\", \"Daniel\", \"Thomas\", \"Amelia\", \"Margaret\", \"Emma\", \"Mary\", \"Olivia\", \"Samantha\", \"Olivia\", \"Patricia\", \"Isla\", \"Bethany\" };\r\n\r\n string[] _surnames = new[] { \"Smith\", \"Anderson\", \"Clark\", \"Wright\", \"Mitchell\", \"Johnson\", \"Thomas\", \"Rodriguez\", \"Lopez\", \"Perez\", \"Williams\", \"Jackson\", \"Lewis\", \"Hill\", \"Roberts\", \"Jones\", \"White\", \"Lee\", \"Scott\", \"Turner\", \"Brown\", \"Harris\", \"Walker\", \"Green\", \"Phillips\", \"Davis\", \"Martin\", \"Hall\", \"Adams\", \"Campbell\", \"Miller\", \"Thompson\", \"Allen\", \"Baker\", \"Parker\", \"Wilson\", \"Garcia\", \"Young\", \"Gonzalez\", \"Evans\", \"Moore\", \"Martinez\", \"Hernandez\", \"Nelson\", \"Edwards\", \"Taylor\", \"Robinson\", \"King\", \"Carter\", \"Collins\" };\r\n\r\n Item[] Items\r\n {\r\n get\r\n {\r\n int namesLength = _names.Length;\r\n int surnamesLength = _surnames.Length;\r\n int colorsLength = _colors.Length;\r\n\r\n Item[] items = new Item[10000];\r\n for (var i = 0; i < 10000; i++)\r\n {\r\n string name = _names[GenRandomIndex(namesLength)];\r\n string surname = _surnames[GenRandomIndex(surnamesLength)];\r\n\r\n items[i] = new Item\r\n {\r\n Color = _colors[GenRandomIndex(colorsLength)],\r\n FullName = $\"{name} {surname}\",\r\n Initials = $\"{name[0]} {surname[0]}\"\r\n };\r\n }\r\n\r\n return items;\r\n }\r\n }\r\n\r\n public int GenRandomIndex(int length)\r\n {\r\n Random r = new Random();\r\n\r\n return (int)Math.Ceiling(r.NextDouble() * (length - 1));\r\n }\r\n\r\n class Item\r\n {\r\n public string Color { get; set; }\r\n public string FullName { get; set; }\r\n public string Initials { get; set; }\r\n }\r\n}", - "Type": "Demos.Components.VirtualScroll.misc.UserDirectory", + "Order": 8, + "Name": "TodoList", + "Title": "TodoList", + "Description": "

使用多个自定义转场,可以轻松实现简单的待办事项清单!

\n", + "Code": "\r\n\r\n \r\n \r\n \r\n \r\n add_circle\r\n \r\n \r\n \r\n \r\n\r\n

\r\n Tasks: \r\n \r\n \r\n @_tasks.Count\r\n \r\n \r\n

\r\n\r\n \r\n\r\n \r\n\r\n \r\n Remaining: @RemainingTasks\r\n \r\n\r\n \r\n\r\n \r\n Completed: @CompletedTasks\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n @if (_tasks.Count > 0)\r\n {\r\n \r\n @* \r\n @for (var i = 0; i < _tasks.Count; i++)\r\n {\r\n var task = _tasks[i];\r\n if (i != 0)\r\n {\r\n \r\n }\r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n @task.text\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n mdi-check\r\n \r\n \r\n\r\n
\r\n }\r\n
*@\r\n
\r\n }\r\n\r\n\r\n
\r\n\r\n\r\n@code {\r\n string _newTask = \"\";\r\n\r\n List<(bool done, string text)> _tasks = new List<(bool, string)>\r\n {\r\n (false,\"Foobar\"),\r\n (false,\"Fizzbuzz\"),\r\n };\r\n\r\n int CompletedTasks => _tasks.Count(t => t.done);\r\n\r\n int Progress => CompletedTasks / _tasks.Count * 100;\r\n\r\n int RemainingTasks => _tasks.Count - CompletedTasks;\r\n\r\n void Create(KeyboardEventArgs eventArgs)\r\n {\r\n if (eventArgs.Key == \"Enter\")\r\n {\r\n _tasks.Add((false, _newTask));\r\n _newTask = \"\";\r\n }\r\n }\r\n}", + "Type": "Demos.StylesAndAnimations.Transitions.misc.TodoList", "Style": "", "Debug": false, "Group": 3 @@ -7704,13 +753,8 @@ "Category": "Components", "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", "Cols": 1, - "Related": [ - "/components/lists", - "/components/data-tables", - "/components/data-iterators" - ], - "Subtitle": "虚拟滚动条", - "Title": "Virtual scroller", - "Type": "虚拟滚动条" + "Subtitle": "过渡动画", + "Title": "Transitions", + "Type": "过渡动画" } ] \ No newline at end of file From 6a5f3bb445147d80abc877db2902048d36c2c225 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:37:59 +0800 Subject: [PATCH 167/191] New translations demos.zh-CN.json (English) --- en/en/demos.zh-CN.json | 1030 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1030 insertions(+) create mode 100644 en/en/demos.zh-CN.json diff --git a/en/en/demos.zh-CN.json b/en/en/demos.zh-CN.json new file mode 100644 index 0000000000..df1ced359f --- /dev/null +++ b/en/en/demos.zh-CN.json @@ -0,0 +1,1030 @@ +[ + { + "Order": 0, + "Title": "预置组件", + "FullTitle": "预置组件", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Presets", + "SubTitle": "预置组件", + "FullTitle": "Presets (预置组件)", + "Type": "menuItem", + "Url": "components/presets", + "Children": [] + } + ] + }, + { + "Order": 1, + "Title": "提示框", + "FullTitle": "提示框", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Alerts", + "SubTitle": "提示框", + "FullTitle": "Alerts (提示框)", + "Type": "menuItem", + "Url": "components/alerts", + "Children": [] + } + ] + }, + { + "Order": 2, + "Title": "应用程序", + "FullTitle": "应用程序", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Application", + "SubTitle": "应用程序", + "FullTitle": "Application (应用程序)", + "Type": "menuItem", + "Url": "components/application", + "Children": [] + } + ] + }, + { + "Order": 3, + "Title": "头像", + "FullTitle": "头像", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Avatars", + "SubTitle": "头像", + "FullTitle": "Avatars (头像)", + "Type": "menuItem", + "Url": "components/avatars", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Avatars.svg", + "Children": [] + } + ] + }, + { + "Order": 4, + "Title": "长宽比", + "FullTitle": "长宽比", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Aspect ratios", + "SubTitle": "长宽比", + "FullTitle": "Aspect ratios (长宽比)", + "Type": "menuItem", + "Url": "components/aspect-ratios", + "Children": [] + } + ] + }, + { + "Order": 5, + "Title": "徽章", + "FullTitle": "徽章", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Badges", + "SubTitle": "徽章", + "FullTitle": "Badges (徽章)", + "Type": "menuItem", + "Url": "components/badges", + "Children": [] + } + ] + }, + { + "Order": 6, + "Title": "横幅", + "FullTitle": "横幅", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Banners", + "SubTitle": "横幅", + "FullTitle": "Banners (横幅)", + "Type": "menuItem", + "Url": "components/banners", + "Children": [] + } + ] + }, + { + "Order": 7, + "Title": "栏", + "FullTitle": "栏", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Bars", + "SubTitle": "栏", + "FullTitle": "Bars (栏)", + "Type": "menuItem", + "Children": [ + { + "Order": 0, + "Title": "App bars", + "SubTitle": "应用栏", + "FullTitle": "App bars (应用栏)", + "Type": "menuItem", + "Url": "components/app-bars", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/AppBars.svg" + }, + { + "Order": 0, + "Title": "System bars", + "SubTitle": "系统栏", + "FullTitle": "System bars (系统栏)", + "Type": "menuItem", + "Url": "components/system-bars" + }, + { + "Order": 0, + "Title": "Toolbars", + "SubTitle": "工具栏", + "FullTitle": "Toolbars (工具栏)", + "Type": "menuItem", + "Url": "components/toolbars" + } + ] + } + ] + }, + { + "Order": 8, + "Title": "边框", + "FullTitle": "边框", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Borders", + "SubTitle": "边框", + "FullTitle": "Borders (边框)", + "Type": "menuItem", + "Url": "components/borders", + "Children": [] + } + ] + }, + { + "Order": 9, + "Title": "面包屑导航", + "FullTitle": "面包屑导航", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Breadcrumbs", + "SubTitle": "面包屑导航", + "FullTitle": "Breadcrumbs (面包屑导航)", + "Type": "menuItem", + "Url": "components/breadcrumbs", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Children": [] + } + ] + }, + { + "Order": 10, + "Title": "按钮", + "FullTitle": "按钮", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Buttons", + "SubTitle": "按钮", + "FullTitle": "Buttons (按钮)", + "Type": "menuItem", + "Url": "components/buttons", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/fNUKzY1sk/Buttons.svg", + "Children": [] + } + ] + }, + { + "Order": 11, + "Title": "卡片", + "FullTitle": "卡片", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Cards", + "SubTitle": "卡片", + "FullTitle": "Cards (卡片)", + "Type": "menuItem", + "Url": "components/cards", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Cards.svg", + "Children": [] + } + ] + }, + { + "Order": 12, + "Title": "纸片", + "FullTitle": "纸片", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Chips", + "SubTitle": "纸片", + "FullTitle": "Chips (纸片)", + "Type": "menuItem", + "Url": "components/chips", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Chips.svg", + "Children": [] + } + ] + }, + { + "Order": 13, + "Title": "对话框", + "FullTitle": "对话框", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Dialogs", + "SubTitle": "对话框", + "FullTitle": "Dialogs (对话框)", + "Type": "menuItem", + "Url": "components/dialogs", + "Children": [] + } + ] + }, + { + "Order": 14, + "Title": "分隔线", + "FullTitle": "分隔线", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Dividers", + "SubTitle": "分隔线", + "FullTitle": "Dividers (分隔线)", + "Type": "menuItem", + "Url": "components/dividers", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Dividers.svg", + "Children": [] + } + ] + }, + { + "Order": 15, + "Title": "图表", + "FullTitle": "图表", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "ECharts", + "SubTitle": "图表", + "FullTitle": "ECharts (图表)", + "Type": "menuItem", + "Url": "components/echarts", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ECharts.svg", + "Children": [] + } + ] + }, + { + "Order": 16, + "Title": "扩展面板", + "FullTitle": "扩展面板", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Expansion panels", + "SubTitle": "扩展面板", + "FullTitle": "Expansion panels (扩展面板)", + "Type": "menuItem", + "Url": "components/expansion-panels", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Children": [] + } + ] + }, + { + "Order": 17, + "Title": "页脚", + "FullTitle": "页脚", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Footers", + "SubTitle": "页脚", + "FullTitle": "Footers (页脚)", + "Type": "menuItem", + "Url": "components/footers", + "Children": [] + } + ] + }, + { + "Order": 18, + "Title": "表单和控制", + "FullTitle": "表单和控制", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Form inputs & controls", + "SubTitle": "表单和控制", + "FullTitle": "Form inputs & controls (表单和控制)", + "Type": "menuItem", + "Children": [ + { + "Order": 0, + "Title": "Autocompletes", + "SubTitle": "自动补全", + "FullTitle": "Autocompletes (自动补全)", + "Type": "menuItem", + "Url": "components/autocompletes", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Autocomplete.svg" + }, + { + "Order": 0, + "Title": "Cascaders", + "SubTitle": "级联菜单", + "FullTitle": "Cascaders (级联菜单)", + "Type": "menuItem", + "Url": "components/cascaders" + }, + { + "Order": 0, + "Title": "Checkboxes", + "SubTitle": "复选框", + "FullTitle": "Checkboxes (复选框)", + "Type": "menuItem", + "Url": "components/checkboxes" + }, + { + "Order": 0, + "Title": "File inputs", + "SubTitle": "文件上传", + "FullTitle": "File inputs (文件上传)", + "Type": "menuItem", + "Url": "components/file-inputs", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/FileInput.svg" + }, + { + "Order": 0, + "Title": "Forms", + "SubTitle": "表单", + "FullTitle": "Forms (表单)", + "Type": "menuItem", + "Url": "components/forms", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Form.svg" + }, + { + "Order": 0, + "Title": "Radio", + "SubTitle": "单选按钮", + "FullTitle": "Radio (单选按钮)", + "Type": "menuItem", + "Url": "components/radio", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Radio.svg" + }, + { + "Order": 0, + "Title": "Range sliders", + "SubTitle": "范围滑块", + "FullTitle": "Range sliders (范围滑块)", + "Type": "menuItem", + "Url": "components/range-sliders", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/RangeSliders.svg" + }, + { + "Order": 0, + "Title": "Selects", + "SubTitle": "下拉框", + "FullTitle": "Selects (下拉框)", + "Type": "menuItem", + "Url": "components/selects" + }, + { + "Order": 0, + "Title": "Sliders", + "SubTitle": "滑块", + "FullTitle": "Sliders (滑块)", + "Type": "menuItem", + "Url": "components/sliders", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Sliders.svg" + }, + { + "Order": 0, + "Title": "Switches", + "SubTitle": "开关", + "FullTitle": "Switches (开关)", + "Type": "menuItem", + "Url": "components/switches", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Switch.svg" + }, + { + "Order": 0, + "Title": "Textareas", + "SubTitle": "多行文本框", + "FullTitle": "Textareas (多行文本框)", + "Type": "menuItem", + "Url": "components/textareas", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Textareas.svg" + }, + { + "Order": 0, + "Title": "Text fields", + "SubTitle": "文本框", + "FullTitle": "Text fields (文本框)", + "Type": "menuItem", + "Url": "components/text-fields", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/TextField.svg" + } + ] + } + ] + }, + { + "Order": 19, + "Title": "网格", + "FullTitle": "网格", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Grid system", + "SubTitle": "网格", + "FullTitle": "Grid system (网格)", + "Type": "menuItem", + "Url": "components/grid-system", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Grid.svg", + "Children": [] + } + ] + }, + { + "Order": 20, + "Title": "组", + "FullTitle": "组", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Groups", + "SubTitle": "组", + "FullTitle": "Groups (组)", + "Type": "menuItem", + "Children": [ + { + "Order": 0, + "Title": "Button groups", + "SubTitle": "按钮组", + "FullTitle": "Button groups (按钮组)", + "Type": "menuItem", + "Url": "components/button-groups", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ButtonGroup.svg" + }, + { + "Order": 0, + "Title": "Chip groups", + "SubTitle": "纸片组", + "FullTitle": "Chip groups (纸片组)", + "Type": "menuItem", + "Url": "components/chip-groups", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Chip.svg" + }, + { + "Order": 0, + "Title": "Item groups", + "SubTitle": "项目组", + "FullTitle": "Item groups (项目组)", + "Type": "menuItem", + "Url": "components/item-groups", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ItemGroup.svg" + }, + { + "Order": 0, + "Title": "List item groups", + "SubTitle": "列表项目组", + "FullTitle": "List item groups (列表项目组)", + "Type": "menuItem", + "Url": "components/list-item-groups" + }, + { + "Order": 0, + "Title": "Slide groups", + "SubTitle": "幻灯片组", + "FullTitle": "Slide groups (幻灯片组)", + "Type": "menuItem", + "Url": "components/slide-groups" + }, + { + "Order": 0, + "Title": "Windows", + "SubTitle": "窗口", + "FullTitle": "Windows (窗口)", + "Type": "menuItem", + "Url": "components/windows" + } + ] + } + ] + }, + { + "Order": 21, + "Title": "悬停", + "FullTitle": "悬停", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Hover", + "SubTitle": "悬停", + "FullTitle": "Hover (悬停)", + "Type": "menuItem", + "Url": "components/hover", + "Children": [] + } + ] + }, + { + "Order": 22, + "Title": "图标", + "FullTitle": "图标", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Icons", + "SubTitle": "图标", + "FullTitle": "Icons (图标)", + "Type": "menuItem", + "Url": "components/icons", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Children": [] + } + ] + }, + { + "Order": 23, + "Title": "图像", + "FullTitle": "图像", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Images", + "SubTitle": "图像", + "FullTitle": "Images (图像)", + "Type": "menuItem", + "Url": "components/images", + "Children": [] + } + ] + }, + { + "Order": 24, + "Title": "列表", + "FullTitle": "列表", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Lists", + "SubTitle": "列表", + "FullTitle": "Lists (列表)", + "Type": "menuItem", + "Url": "components/lists", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/List.svg", + "Children": [] + } + ] + }, + { + "Order": 25, + "Title": "菜单", + "FullTitle": "菜单", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Menus", + "SubTitle": "菜单", + "FullTitle": "Menus (菜单)", + "Type": "menuItem", + "Url": "components/menus", + "Children": [] + } + ] + }, + { + "Order": 26, + "Title": "导航抽屉", + "FullTitle": "导航抽屉", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Navigation drawers", + "SubTitle": "导航抽屉", + "FullTitle": "Navigation drawers (导航抽屉)", + "Type": "menuItem", + "Url": "components/navigation-drawers", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/NavigationDrawer.svg", + "Children": [] + } + ] + }, + { + "Order": 27, + "Title": "遮罩层", + "FullTitle": "遮罩层", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Overlays", + "SubTitle": "遮罩层", + "FullTitle": "Overlays (遮罩层)", + "Type": "menuItem", + "Url": "components/overlays", + "Children": [] + } + ] + }, + { + "Order": 29, + "Title": "选择器", + "FullTitle": "选择器", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Pickers", + "SubTitle": "选择器", + "FullTitle": "Pickers (选择器)", + "Type": "menuItem", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Pickers.svg", + "Children": [ + { + "Order": 0, + "Title": "Color pickers", + "SubTitle": "颜色选择器", + "FullTitle": "Color pickers (颜色选择器)", + "Type": "menuItem", + "Url": "components/color-pickers", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ColorPicker.svg" + }, + { + "Order": 0, + "Title": "Date pickers", + "SubTitle": "日期选择器", + "FullTitle": "Date pickers (日期选择器)", + "Type": "menuItem", + "Url": "components/date-pickers", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/DatePickers.svg" + }, + { + "Order": 0, + "Title": "Date pickers month", + "SubTitle": "月份选择器", + "FullTitle": "Date pickers month (月份选择器)", + "Type": "menuItem", + "Url": "components/date-pickers-month", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/DatePickersMonth.svg" + }, + { + "Order": 0, + "Title": "Time pickers", + "SubTitle": "时间选择器", + "FullTitle": "Time pickers (时间选择器)", + "Type": "menuItem", + "Url": "components/time-pickers", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/TimePickers.svg" + } + ] + } + ] + }, + { + "Order": 31, + "Title": "评级", + "FullTitle": "评级", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Ratings", + "SubTitle": "评级", + "FullTitle": "Ratings (评级)", + "Type": "menuItem", + "Url": "components/ratings", + "Children": [] + } + ] + }, + { + "Order": 32, + "Title": "进度条", + "FullTitle": "进度条", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Progress", + "SubTitle": "进度条", + "FullTitle": "Progress (进度条)", + "Type": "menuItem", + "Children": [ + { + "Order": 0, + "Title": "Progress circular", + "SubTitle": "进度环", + "FullTitle": "Progress circular (进度环)", + "Type": "menuItem", + "Url": "components/progress-circular" + }, + { + "Order": 0, + "Title": "Progress linear", + "SubTitle": "进度条", + "FullTitle": "Progress linear (进度条)", + "Type": "menuItem", + "Url": "components/progress-linear" + } + ] + } + ] + }, + { + "Order": 33, + "Title": "分页", + "FullTitle": "分页", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Pagination", + "SubTitle": "分页", + "FullTitle": "Pagination (分页)", + "Type": "menuItem", + "Url": "components/pagination", + "Children": [] + } + ] + }, + { + "Order": 34, + "Title": "工作表", + "FullTitle": "工作表", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Sheets", + "SubTitle": "工作表", + "FullTitle": "Sheets (工作表)", + "Type": "menuItem", + "Url": "components/sheets", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Sheet.svg", + "Children": [] + } + ] + }, + { + "Order": 36, + "Title": "步骤条", + "FullTitle": "步骤条", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Steppers", + "SubTitle": "步骤条", + "FullTitle": "Steppers (步骤条)", + "Type": "menuItem", + "Url": "components/steppers", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Stepper.svg", + "Children": [] + } + ] + }, + { + "Order": 37, + "Title": "骨架装载器", + "FullTitle": "骨架装载器", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Skeleton loaders", + "SubTitle": "骨架装载器", + "FullTitle": "Skeleton loaders (骨架装载器)", + "Type": "menuItem", + "Url": "components/skeleton-loaders", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/SkeletonLoader.svg", + "Children": [] + } + ] + }, + { + "Order": 38, + "Title": "副标题", + "FullTitle": "副标题", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Subheaders", + "SubTitle": "副标题", + "FullTitle": "Subheaders (副标题)", + "Type": "menuItem", + "Url": "components/subheaders", + "Children": [] + } + ] + }, + { + "Order": 39, + "Title": "消息条", + "FullTitle": "消息条", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Snackbars", + "SubTitle": "消息条", + "FullTitle": "Snackbars (消息条)", + "Type": "menuItem", + "Url": "components/snackbars", + "Children": [] + } + ] + }, + { + "Order": 40, + "Title": "选项卡", + "FullTitle": "选项卡", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Tabs", + "SubTitle": "选项卡", + "FullTitle": "Tabs (选项卡)", + "Type": "menuItem", + "Url": "components/tabs", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Tabs.svg", + "Children": [] + } + ] + }, + { + "Order": 41, + "Title": "表格", + "FullTitle": "表格", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Tables", + "SubTitle": "表格", + "FullTitle": "Tables (表格)", + "Type": "menuItem", + "Children": [ + { + "Order": 0, + "Title": "Data iterators", + "SubTitle": "数据迭代器", + "FullTitle": "Data iterators (数据迭代器)", + "Type": "menuItem", + "Url": "components/data-iterators", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/DataIterators.svg" + }, + { + "Order": 0, + "Title": "Data tables", + "SubTitle": "数据表格", + "FullTitle": "Data tables (数据表格)", + "Type": "menuItem", + "Url": "components/data-tables", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/DataTable.svg" + }, + { + "Order": 0, + "Title": "Simple tables", + "SubTitle": "简单表格", + "FullTitle": "Simple tables (简单表格)", + "Type": "menuItem", + "Url": "components/simple-tables", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/SimpleTables.svg" + } + ] + } + ] + }, + { + "Order": 42, + "Title": "时间轴", + "FullTitle": "时间轴", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Timelines", + "SubTitle": "时间轴", + "FullTitle": "Timelines (时间轴)", + "Type": "menuItem", + "Url": "components/timelines", + "Children": [] + } + ] + }, + { + "Order": 45, + "Title": "树形视图", + "FullTitle": "树形视图", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Treeview", + "SubTitle": "树形视图", + "FullTitle": "Treeview (树形视图)", + "Type": "menuItem", + "Url": "components/treeview", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Treeview.svg", + "Children": [] + } + ] + }, + { + "Order": 46, + "Title": "工具提示", + "FullTitle": "工具提示", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Tooltips", + "SubTitle": "工具提示", + "FullTitle": "Tooltips (工具提示)", + "Type": "menuItem", + "Url": "components/tooltips", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Tooltip.svg", + "Children": [] + } + ] + }, + { + "Order": 47, + "Title": "上传文件", + "FullTitle": "上传文件", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Uploads", + "SubTitle": "上传文件", + "FullTitle": "Uploads (上传文件)", + "Type": "menuItem", + "Url": "components/uploads", + "Children": [] + } + ] + }, + { + "Order": 48, + "Title": "虚拟滚动条", + "FullTitle": "虚拟滚动条", + "Type": "itemGroup", + "Children": [ + { + "Order": 0, + "Title": "Virtual scroller", + "SubTitle": "虚拟滚动条", + "FullTitle": "Virtual scroller (虚拟滚动条)", + "Type": "menuItem", + "Url": "components/virtual-scroller", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Children": [] + } + ] + } +] \ No newline at end of file From cfa3972e3d2dec2503aa7ddae85227dc0f57ce46 Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:38:00 +0800 Subject: [PATCH 168/191] New translations docs.zh-CN.json (English) --- en/en/docs.zh-CN.json | 4882 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 4882 insertions(+) create mode 100644 en/en/docs.zh-CN.json diff --git a/en/en/docs.zh-CN.json b/en/en/docs.zh-CN.json new file mode 100644 index 0000000000..a0872acb0a --- /dev/null +++ b/en/en/docs.zh-CN.json @@ -0,0 +1,4882 @@ +[ + { + "Order": 8, + "Title": "关于", + "FullTitle": "关于", + "Type": "menuItem", + "Url": "about", + "Icon": "M9.52702 17.976H10.1781V13.2736H9.52702C9.16745 13.2736 8.87598 12.9822 8.87598 12.6226V11.0675C8.87598 10.708 9.16745 10.4165 9.52702 10.4165H13.1729C13.5324 10.4165 13.8239 10.708 13.8239 11.0675V17.976H14.4749C14.8345 17.976 15.126 18.2675 15.126 18.6271V20.1821C15.126 20.5417 14.8345 20.8332 14.4749 20.8332H9.52702C9.16745 20.8332 8.87598 20.5417 8.87598 20.1821V18.6271C8.87598 18.2675 9.16745 17.976 9.52702 17.976ZM12.001 4.1665C10.7065 4.1665 9.65723 5.21582 9.65723 6.51025C9.65723 7.80469 10.7065 8.854 12.001 8.854C13.2954 8.854 14.3447 7.80469 14.3447 6.51025C14.3447 5.21582 13.2954 4.1665 12.001 4.1665Z", + "Children": [ + { + "Order": 0, + "Title": "认识开发团队", + "FullTitle": "认识开发团队", + "Type": "menuItem", + "Url": "about/meet-the-team", + "Contents": [ + { + "Id": "section-2752060", + "Title": "公司", + "Level": 0 + }, + { + "Id": "section-273179784", + "Title": "核心团队", + "Level": 0 + } + ] + }, + { + "Order": 1, + "Title": "赞助商和支持者", + "FullTitle": "赞助商和支持者", + "Type": "menuItem", + "Url": "about/sponsors-backers", + "Contents": [ + { + "Id": "section-566833907", + "Title": "一次性捐助", + "Level": 0 + }, + { + "Id": "section-1634511342", + "Title": "定期捐助", + "Level": 0 + }, + { + "Id": "section-1774691940", + "Title": "当前项目赞助商", + "Level": 0 + }, + { + "Id": "section-551317378", + "Title": "粗略的", + "Level": 0 + } + ] + }, + { + "Order": 2, + "Title": "安全披露", + "FullTitle": "安全披露", + "Type": "menuItem", + "Url": "about/security-disclosure", + "Contents": [ + { + "Id": "section-1311803195", + "Title": "报告错误", + "Level": 0 + }, + { + "Id": "section-1617616350", + "Title": "披露政策", + "Level": 0 + }, + { + "Id": "section-353316886", + "Title": "对本政策的建议", + "Level": 0 + } + ] + }, + { + "Order": 3, + "Title": "行为准则", + "FullTitle": "行为准则", + "Type": "menuItem", + "Url": "about/code-conduct", + "Contents": [ + { + "Id": "section-481594336", + "Title": "我们的承诺", + "Level": 0 + }, + { + "Id": "section-483008717", + "Title": "我们的责任", + "Level": 0 + }, + { + "Id": "section-4415869", + "Title": "范围", + "Level": 0 + }, + { + "Id": "section-2138638003", + "Title": "具体措施", + "Level": 0 + }, + { + "Id": "section-3220308", + "Title": "归属", + "Level": 0 + } + ] + } + ] + }, + { + "Order": 5, + "Title": "API", + "FullTitle": "API", + "Type": "menuItem", + "Url": "api", + "Icon": "M19.3575 6.02013C17.7718 6.11012 14.6201 6.43767 12.6745 7.62866C12.5402 7.71084 12.4641 7.85696 12.4641 8.00974V18.5386C12.4641 18.8728 12.8296 19.084 13.1378 18.9289C15.1395 17.9214 18.0345 17.6465 19.466 17.5713C19.9547 17.5455 20.3346 17.1537 20.3346 16.6841V6.90845C20.3349 6.396 19.8905 5.99003 19.3575 6.02013ZM11.3281 7.62866C9.38277 6.43767 6.23109 6.11041 4.64542 6.02013C4.11242 5.99003 3.66797 6.396 3.66797 6.90845V16.6844C3.66797 17.1543 4.04789 17.5461 4.53662 17.5715C5.96865 17.6468 8.86511 17.922 10.8669 18.9301C11.1742 19.0849 11.5385 18.8739 11.5385 18.5406V8.00454C11.5385 7.85147 11.4627 7.71113 11.3281 7.62866Z", + "Children": [ + { + "Order": 0, + "Title": "Alert", + "FullTitle": "Alert", + "Type": "menuItem", + "Url": "api/malert", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "AlertDismissButton", + "FullTitle": "AlertDismissButton", + "Type": "menuItem", + "Url": "api/malertdismissbutton", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "AlertIcon", + "FullTitle": "AlertIcon", + "Type": "menuItem", + "Url": "api/malerticon", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "App", + "FullTitle": "App", + "Type": "menuItem", + "Url": "api/mapp", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "AppBar", + "FullTitle": "AppBar", + "Type": "menuItem", + "Url": "api/mappbar", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "AppBarNavIcon", + "FullTitle": "AppBarNavIcon", + "Type": "menuItem", + "Url": "api/mappbarnavicon", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "AppBarTitle", + "FullTitle": "AppBarTitle", + "Type": "menuItem", + "Url": "api/mappbartitle", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Autocomplete", + "FullTitle": "Autocomplete", + "Type": "menuItem", + "Url": "api/mautocomplete", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Avatar", + "FullTitle": "Avatar", + "Type": "menuItem", + "Url": "api/mavatar", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Badge", + "FullTitle": "Badge", + "Type": "menuItem", + "Url": "api/mbadge", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Banner", + "FullTitle": "Banner", + "Type": "menuItem", + "Url": "api/mbanner", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Border", + "FullTitle": "Border", + "Type": "menuItem", + "Url": "api/mborder", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Breadcrumbs", + "FullTitle": "Breadcrumbs", + "Type": "menuItem", + "Url": "api/mbreadcrumbs", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "BreadcrumbsDivider", + "FullTitle": "BreadcrumbsDivider", + "Type": "menuItem", + "Url": "api/mbreadcrumbsdivider", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "BreadcrumbsItem", + "FullTitle": "BreadcrumbsItem", + "Type": "menuItem", + "Url": "api/mbreadcrumbsitem", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Button", + "FullTitle": "Button", + "Type": "menuItem", + "Url": "api/mbutton", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ButtonGroup", + "FullTitle": "ButtonGroup", + "Type": "menuItem", + "Url": "api/mbuttongroup", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Calendar", + "FullTitle": "Calendar", + "Type": "menuItem", + "Url": "api/mcalendar", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "CalendarCategory", + "FullTitle": "CalendarCategory", + "Type": "menuItem", + "Url": "api/mcalendarcategory", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "CalendarDaily", + "FullTitle": "CalendarDaily", + "Type": "menuItem", + "Url": "api/mcalendardaily", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "CalendarMonthly", + "FullTitle": "CalendarMonthly", + "Type": "menuItem", + "Url": "api/mcalendarmonthly", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "CalendarWeekly", + "FullTitle": "CalendarWeekly", + "Type": "menuItem", + "Url": "api/mcalendarweekly", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Card", + "FullTitle": "Card", + "Type": "menuItem", + "Url": "api/mcard", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "CardActions", + "FullTitle": "CardActions", + "Type": "menuItem", + "Url": "api/mcardactions", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "CardSubtitle", + "FullTitle": "CardSubtitle", + "Type": "menuItem", + "Url": "api/mcardsubtitle", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "CardText", + "FullTitle": "CardText", + "Type": "menuItem", + "Url": "api/mcardtext", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "CardTitle", + "FullTitle": "CardTitle", + "Type": "menuItem", + "Url": "api/mcardtitle", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Cascader", + "FullTitle": "Cascader", + "Type": "menuItem", + "Url": "api/mcascader", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "CascaderMenu", + "FullTitle": "CascaderMenu", + "Type": "menuItem", + "Url": "api/mcascadermenu", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "CascaderSelectList", + "FullTitle": "CascaderSelectList", + "Type": "menuItem", + "Url": "api/mcascaderselectlist", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "CascaderSelectOption", + "FullTitle": "CascaderSelectOption", + "Type": "menuItem", + "Url": "api/mcascaderselectoption", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Checkbox", + "FullTitle": "Checkbox", + "Type": "menuItem", + "Url": "api/mcheckbox", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Chip", + "FullTitle": "Chip", + "Type": "menuItem", + "Url": "api/mchip", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ChipGroup", + "FullTitle": "ChipGroup", + "Type": "menuItem", + "Url": "api/mchipgroup", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Col", + "FullTitle": "Col", + "Type": "menuItem", + "Url": "api/mcol", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ColorPicker", + "FullTitle": "ColorPicker", + "Type": "menuItem", + "Url": "api/mcolorpicker", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ColorPickerCanvas", + "FullTitle": "ColorPickerCanvas", + "Type": "menuItem", + "Url": "api/mcolorpickercanvas", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ColorPickerEdit", + "FullTitle": "ColorPickerEdit", + "Type": "menuItem", + "Url": "api/mcolorpickeredit", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ColorPickerPreview", + "FullTitle": "ColorPickerPreview", + "Type": "menuItem", + "Url": "api/mcolorpickerpreview", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Container", + "FullTitle": "Container", + "Type": "menuItem", + "Url": "api/mcontainer", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Counter", + "FullTitle": "Counter", + "Type": "menuItem", + "Url": "api/mcounter", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "DataFooter", + "FullTitle": "DataFooter", + "Type": "menuItem", + "Url": "api/mdatafooter", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "DataIterator", + "FullTitle": "DataIterator", + "Type": "menuItem", + "Url": "api/mdataiterator", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "DataTable", + "FullTitle": "DataTable", + "Type": "menuItem", + "Url": "api/mdatatable", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "DataTableHeader", + "FullTitle": "DataTableHeader", + "Type": "menuItem", + "Url": "api/mdatatableheader", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "DataTableRow", + "FullTitle": "DataTableRow", + "Type": "menuItem", + "Url": "api/mdatatablerow", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "DataTableRowGroup", + "FullTitle": "DataTableRowGroup", + "Type": "menuItem", + "Url": "api/mdatatablerowgroup", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "DatePicker", + "FullTitle": "DatePicker", + "Type": "menuItem", + "Url": "api/mdatepicker", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "DatePickerDateTable", + "FullTitle": "DatePickerDateTable", + "Type": "menuItem", + "Url": "api/mdatepickerdatetable", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "DatePickerHeader", + "FullTitle": "DatePickerHeader", + "Type": "menuItem", + "Url": "api/mdatepickerheader", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "DatePickerMonthTable", + "FullTitle": "DatePickerMonthTable", + "Type": "menuItem", + "Url": "api/mdatepickermonthtable", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "DatePickerTable", + "FullTitle": "DatePickerTable", + "Type": "menuItem", + "Url": "api/mdatepickertable", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "DatePickerTitle", + "FullTitle": "DatePickerTitle", + "Type": "menuItem", + "Url": "api/mdatepickertitle", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "DatePickerYears", + "FullTitle": "DatePickerYears", + "Type": "menuItem", + "Url": "api/mdatepickeryears", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Dialog", + "FullTitle": "Dialog", + "Type": "menuItem", + "Url": "api/mdialog", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Divider", + "FullTitle": "Divider", + "Type": "menuItem", + "Url": "api/mdivider", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ECharts", + "FullTitle": "ECharts", + "Type": "menuItem", + "Url": "api/mecharts", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "enu", + "FullTitle": "enu", + "Type": "menuItem", + "Url": "api/menu", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "essage", + "FullTitle": "essage", + "Type": "menuItem", + "Url": "api/message", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "essages", + "FullTitle": "essages", + "Type": "menuItem", + "Url": "api/messages", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ExpansionPanel", + "FullTitle": "ExpansionPanel", + "Type": "menuItem", + "Url": "api/mexpansionpanel", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ExpansionPanelContent", + "FullTitle": "ExpansionPanelContent", + "Type": "menuItem", + "Url": "api/mexpansionpanelcontent", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ExpansionPanelHeader", + "FullTitle": "ExpansionPanelHeader", + "Type": "menuItem", + "Url": "api/mexpansionpanelheader", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ExpansionPanels", + "FullTitle": "ExpansionPanels", + "Type": "menuItem", + "Url": "api/mexpansionpanels", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "FileInput", + "FullTitle": "FileInput", + "Type": "menuItem", + "Url": "api/mfileinput", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Footer", + "FullTitle": "Footer", + "Type": "menuItem", + "Url": "api/mfooter", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Form", + "FullTitle": "Form", + "Type": "menuItem", + "Url": "api/mform", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "HintMessage", + "FullTitle": "HintMessage", + "Type": "menuItem", + "Url": "api/mhintmessage", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Hover", + "FullTitle": "Hover", + "Type": "menuItem", + "Url": "api/mhover", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Icon", + "FullTitle": "Icon", + "Type": "menuItem", + "Url": "api/micon", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Image", + "FullTitle": "Image", + "Type": "menuItem", + "Url": "api/mimage", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Input", + "FullTitle": "Input", + "Type": "menuItem", + "Url": "api/minput", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Item", + "FullTitle": "Item", + "Type": "menuItem", + "Url": "api/mitem", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ItemGroup", + "FullTitle": "ItemGroup", + "Type": "menuItem", + "Url": "api/mitemgroup", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Label", + "FullTitle": "Label", + "Type": "menuItem", + "Url": "api/mlabel", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "List", + "FullTitle": "List", + "Type": "menuItem", + "Url": "api/mlist", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ListGroup", + "FullTitle": "ListGroup", + "Type": "menuItem", + "Url": "api/mlistgroup", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ListGroupItem", + "FullTitle": "ListGroupItem", + "Type": "menuItem", + "Url": "api/mlistgroupitem", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ListGroupItemIcon", + "FullTitle": "ListGroupItemIcon", + "Type": "menuItem", + "Url": "api/mlistgroupitemicon", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ListItem", + "FullTitle": "ListItem", + "Type": "menuItem", + "Url": "api/mlistitem", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ListItemAction", + "FullTitle": "ListItemAction", + "Type": "menuItem", + "Url": "api/mlistitemaction", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ListItemActionText", + "FullTitle": "ListItemActionText", + "Type": "menuItem", + "Url": "api/mlistitemactiontext", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ListItemAvatar", + "FullTitle": "ListItemAvatar", + "Type": "menuItem", + "Url": "api/mlistitemavatar", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ListItemContent", + "FullTitle": "ListItemContent", + "Type": "menuItem", + "Url": "api/mlistitemcontent", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ListItemGroup", + "FullTitle": "ListItemGroup", + "Type": "menuItem", + "Url": "api/mlistitemgroup", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ListItemIcon", + "FullTitle": "ListItemIcon", + "Type": "menuItem", + "Url": "api/mlistitemicon", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ListItemSubtitle", + "FullTitle": "ListItemSubtitle", + "Type": "menuItem", + "Url": "api/mlistitemsubtitle", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ListItemTitle", + "FullTitle": "ListItemTitle", + "Type": "menuItem", + "Url": "api/mlistitemtitle", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Main", + "FullTitle": "Main", + "Type": "menuItem", + "Url": "api/mmain", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Menu", + "FullTitle": "Menu", + "Type": "menuItem", + "Url": "api/mmenu", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Messages", + "FullTitle": "Messages", + "Type": "menuItem", + "Url": "api/mmessages", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "MSelectOption", + "FullTitle": "MSelectOption", + "Type": "menuItem", + "Url": "api/mselectoption", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "MTabsSlider", + "FullTitle": "MTabsSlider", + "Type": "menuItem", + "Url": "api/mtabsslider", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "NavigationDrawer", + "FullTitle": "NavigationDrawer", + "Type": "menuItem", + "Url": "api/mnavigationdrawer", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "odal", + "FullTitle": "odal", + "Type": "menuItem", + "Url": "api/modal", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Overlay", + "FullTitle": "Overlay", + "Type": "menuItem", + "Url": "api/moverlay", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Pagination", + "FullTitle": "Pagination", + "Type": "menuItem", + "Url": "api/mpagination", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Picker", + "FullTitle": "Picker", + "Type": "menuItem", + "Url": "api/mpicker", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Popover", + "FullTitle": "Popover", + "Type": "menuItem", + "Url": "api/mpopover", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ProgressCircular", + "FullTitle": "ProgressCircular", + "Type": "menuItem", + "Url": "api/mprogresscircular", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ProgressLinear", + "FullTitle": "ProgressLinear", + "Type": "menuItem", + "Url": "api/mprogresslinear", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Radio", + "FullTitle": "Radio", + "Type": "menuItem", + "Url": "api/mradio", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "RadioGroup", + "FullTitle": "RadioGroup", + "Type": "menuItem", + "Url": "api/mradiogroup", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "RangeSlider", + "FullTitle": "RangeSlider", + "Type": "menuItem", + "Url": "api/mrangeslider", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Rating", + "FullTitle": "Rating", + "Type": "menuItem", + "Url": "api/mrating", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Responsive", + "FullTitle": "Responsive", + "Type": "menuItem", + "Url": "api/mresponsive", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Row", + "FullTitle": "Row", + "Type": "menuItem", + "Url": "api/mrow", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Select", + "FullTitle": "Select", + "Type": "menuItem", + "Url": "api/mselect", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "SelectList", + "FullTitle": "SelectList", + "Type": "menuItem", + "Url": "api/mselectlist", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Sheet", + "FullTitle": "Sheet", + "Type": "menuItem", + "Url": "api/msheet", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "SimpleCheckbox", + "FullTitle": "SimpleCheckbox", + "Type": "menuItem", + "Url": "api/msimplecheckbox", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "SimpleTable", + "FullTitle": "SimpleTable", + "Type": "menuItem", + "Url": "api/msimpletable", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "SkeletonLoader", + "FullTitle": "SkeletonLoader", + "Type": "menuItem", + "Url": "api/mskeletonloader", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "SlideGroup", + "FullTitle": "SlideGroup", + "Type": "menuItem", + "Url": "api/mslidegroup", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "SlideItem", + "FullTitle": "SlideItem", + "Type": "menuItem", + "Url": "api/mslideitem", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Slider", + "FullTitle": "Slider", + "Type": "menuItem", + "Url": "api/mslider", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Snackbar", + "FullTitle": "Snackbar", + "Type": "menuItem", + "Url": "api/msnackbar", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Spacer", + "FullTitle": "Spacer", + "Type": "menuItem", + "Url": "api/mspacer", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Stepper", + "FullTitle": "Stepper", + "Type": "menuItem", + "Url": "api/mstepper", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "StepperContent", + "FullTitle": "StepperContent", + "Type": "menuItem", + "Url": "api/msteppercontent", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "StepperHeader", + "FullTitle": "StepperHeader", + "Type": "menuItem", + "Url": "api/mstepperheader", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "StepperItems", + "FullTitle": "StepperItems", + "Type": "menuItem", + "Url": "api/mstepperitems", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "StepperStep", + "FullTitle": "StepperStep", + "Type": "menuItem", + "Url": "api/mstepperstep", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Subheader", + "FullTitle": "Subheader", + "Type": "menuItem", + "Url": "api/msubheader", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Switch", + "FullTitle": "Switch", + "Type": "menuItem", + "Url": "api/mswitch", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "SystemBar", + "FullTitle": "SystemBar", + "Type": "menuItem", + "Url": "api/msystembar", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Tab", + "FullTitle": "Tab", + "Type": "menuItem", + "Url": "api/mtab", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TabItem", + "FullTitle": "TabItem", + "Type": "menuItem", + "Url": "api/mtabitem", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Table", + "FullTitle": "Table", + "Type": "menuItem", + "Url": "api/mtable", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TableCol", + "FullTitle": "TableCol", + "Type": "menuItem", + "Url": "api/mtablecol", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TableFooter", + "FullTitle": "TableFooter", + "Type": "menuItem", + "Url": "api/mtablefooter", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TableFooterButton", + "FullTitle": "TableFooterButton", + "Type": "menuItem", + "Url": "api/mtablefooterbutton", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TableHeader", + "FullTitle": "TableHeader", + "Type": "menuItem", + "Url": "api/mtableheader", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TableLoading", + "FullTitle": "TableLoading", + "Type": "menuItem", + "Url": "api/mtableloading", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Tabs", + "FullTitle": "Tabs", + "Type": "menuItem", + "Url": "api/mtabs", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TabsBar", + "FullTitle": "TabsBar", + "Type": "menuItem", + "Url": "api/mtabsbar", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TabsItems", + "FullTitle": "TabsItems", + "Type": "menuItem", + "Url": "api/mtabsitems", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Textarea", + "FullTitle": "Textarea", + "Type": "menuItem", + "Url": "api/mtextarea", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TextField", + "FullTitle": "TextField", + "Type": "menuItem", + "Url": "api/mtextfield", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Timeline", + "FullTitle": "Timeline", + "Type": "menuItem", + "Url": "api/mtimeline", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TimelineItem", + "FullTitle": "TimelineItem", + "Type": "menuItem", + "Url": "api/mtimelineitem", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TimePicker", + "FullTitle": "TimePicker", + "Type": "menuItem", + "Url": "api/mtimepicker", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TimePickerClock", + "FullTitle": "TimePickerClock", + "Type": "menuItem", + "Url": "api/mtimepickerclock", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TimePickerTitle", + "FullTitle": "TimePickerTitle", + "Type": "menuItem", + "Url": "api/mtimepickertitle", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Toolbar", + "FullTitle": "Toolbar", + "Type": "menuItem", + "Url": "api/mtoolbar", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ToolbarItems", + "FullTitle": "ToolbarItems", + "Type": "menuItem", + "Url": "api/mtoolbaritems", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "ToolbarTitle", + "FullTitle": "ToolbarTitle", + "Type": "menuItem", + "Url": "api/mtoolbartitle", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Tooltip", + "FullTitle": "Tooltip", + "Type": "menuItem", + "Url": "api/mtooltip", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Tree", + "FullTitle": "Tree", + "Type": "menuItem", + "Url": "api/mtree", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TreeItem", + "FullTitle": "TreeItem", + "Type": "menuItem", + "Url": "api/mtreeitem", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Treeview", + "FullTitle": "Treeview", + "Type": "menuItem", + "Url": "api/mtreeview", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "TreeviewNode", + "FullTitle": "TreeviewNode", + "Type": "menuItem", + "Url": "api/mtreeviewnode", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Upload", + "FullTitle": "Upload", + "Type": "menuItem", + "Url": "api/mupload", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "VirtualScroll", + "FullTitle": "VirtualScroll", + "Type": "menuItem", + "Url": "api/mvirtualscroll", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "Window", + "FullTitle": "Window", + "Type": "menuItem", + "Url": "api/mwindow", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + }, + { + "Order": 0, + "Title": "WindowItem", + "FullTitle": "WindowItem", + "Type": "menuItem", + "Url": "api/mwindowitem", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + }, + { + "Id": "section-3374707", + "Title": "插槽", + "Level": 0 + }, + { + "Id": "section-2654231", + "Title": "事件", + "Level": 0 + } + ] + } + ] + }, + { + "Order": 2, + "Title": "特性", + "FullTitle": "特性", + "Type": "menuItem", + "Url": "features", + "Icon": "M17.8171 9.62581L14.8822 6.68473C14.6882 6.49026 14.4249 6.38078 14.1502 6.38035C13.8755 6.37992 13.6119 6.48859 13.4173 6.68245L13.415 6.68473L10.9596 9.14307V17.9686L17.8171 11.0968C18.0118 10.9016 18.1211 10.6371 18.1211 10.3613C18.1211 10.0856 18.0118 9.82108 17.8171 9.62581ZM19.293 14.5832H15.8128L9.74479 20.6545C9.67773 20.7218 9.59831 20.771 9.52734 20.8332H19.293C19.5692 20.8332 19.8342 20.7234 20.0295 20.5281C20.2249 20.3327 20.3346 20.0678 20.3346 19.7915V15.6248C20.3346 15.3486 20.2249 15.0836 20.0295 14.8883C19.8342 14.6929 19.5692 14.5832 19.293 14.5832ZM9.91797 5.20817C9.91797 4.9319 9.80822 4.66695 9.61287 4.4716C9.41752 4.27625 9.15257 4.1665 8.8763 4.1665H4.70964C4.43337 4.1665 4.16842 4.27625 3.97307 4.4716C3.77772 4.66695 3.66797 4.9319 3.66797 5.20817V17.7082C3.66797 18.537 3.99721 19.3318 4.58326 19.9179C5.16931 20.5039 5.96417 20.8332 6.79297 20.8332C7.62177 20.8332 8.41663 20.5039 9.00268 19.9179C9.58873 19.3318 9.91797 18.537 9.91797 17.7082V5.20817ZM6.79297 18.4894C6.63845 18.4894 6.48741 18.4436 6.35893 18.3578C6.23045 18.2719 6.13032 18.1499 6.07119 18.0071C6.01206 17.8644 5.99659 17.7073 6.02673 17.5558C6.05687 17.4042 6.13128 17.265 6.24054 17.1557C6.3498 17.0465 6.48901 16.9721 6.64055 16.9419C6.7921 16.9118 6.94919 16.9273 7.09194 16.9864C7.2347 17.0455 7.35671 17.1457 7.44255 17.2741C7.5284 17.4026 7.57422 17.5537 7.57422 17.7082C7.57422 17.9154 7.49191 18.1141 7.3454 18.2606C7.19888 18.4071 7.00017 18.4894 6.79297 18.4894ZM7.83464 12.4998H5.7513V10.4165H7.83464V12.4998ZM7.83464 8.33317H5.7513V6.24984H7.83464V8.33317Z", + "Children": [ + { + "Order": 2, + "Title": "响应式显示", + "FullTitle": "响应式显示", + "Type": "menuItem", + "Url": "features/breakpoints", + "Contents": [] + }, + { + "Order": 3, + "Title": "全局配置", + "FullTitle": "全局配置", + "Type": "menuItem", + "Url": "features/gloabl-config", + "Contents": [ + { + "Id": "section-3122241", + "Title": "属性", + "Level": 0 + } + ] + }, + { + "Order": 4, + "Title": "图标字体", + "FullTitle": "图标字体", + "Type": "menuItem", + "Url": "features/icon-fonts", + "Contents": [ + { + "Id": "section-2695973", + "Title": "使用", + "Level": 0 + } + ] + }, + { + "Order": 5, + "Title": "国际化多语言 (i18n)", + "FullTitle": "国际化多语言 (i18n)", + "Type": "menuItem", + "Url": "features/internationalization", + "Contents": [ + { + "Id": "section-1681655181", + "Title": "语言支持", + "Level": 0 + } + ] + }, + { + "Order": 6, + "Title": "布局", + "FullTitle": "布局", + "Type": "menuItem", + "Url": "features/layouts", + "Contents": [ + { + "Id": "section-2695973", + "Title": "使用", + "Level": 0 + }, + { + "Id": "section-1811653351", + "Title": "组合布局组件", + "Level": 0 + }, + { + "Id": "section-749907594", + "Title": "动态布局", + "Level": 0 + } + ] + } + ] + }, + { + "Order": 1, + "Title": "快速入门", + "FullTitle": "快速入门", + "Type": "menuItem", + "Url": "getting-started", + "Icon": "M11.993 4.1665C7.39297 4.1665 3.66797 7.89984 3.66797 12.4998C3.66797 17.0998 7.39297 20.8332 11.993 20.8332C16.6013 20.8332 20.3346 17.0998 20.3346 12.4998C20.3346 7.89984 16.6013 4.1665 11.993 4.1665ZM12.0013 19.1665C8.31797 19.1665 5.33464 16.1832 5.33464 12.4998C5.33464 8.8165 8.31797 5.83317 12.0013 5.83317C15.6846 5.83317 18.668 8.8165 18.668 12.4998C18.668 16.1832 15.6846 19.1665 12.0013 19.1665ZM12.418 8.33317H11.168V13.3332L15.543 15.9582L16.168 14.9332L12.418 12.7082V8.33317Z", + "Children": [ + { + "Order": 0, + "Title": "安装", + "FullTitle": "安装", + "Type": "menuItem", + "Url": "getting-started/installation", + "Contents": [ + { + "Id": "section-1739819480", + "Title": "安装 Masa.Template 模板", + "Level": 0 + }, + { + "Id": "section-430380796", + "Title": "创建项目", + "Level": 0 + }, + { + "Id": "section-1572239414", + "Title": "启动项目", + "Level": 0 + }, + { + "Id": "section-324942799", + "Title": "创建一个 Blazor Server 项目", + "Level": 0 + }, + { + "Id": "section-1125899332", + "Title": "安装 NuGet 包", + "Level": 0 + }, + { + "Id": "section-141901483", + "Title": "引入资源文件", + "Level": 0 + }, + { + "Id": "section-165353384", + "Title": "注入相关服务", + "Level": 0 + }, + { + "Id": "section-14069023", + "Title": "全局引用", + "Level": 0 + }, + { + "Id": "section-2695973", + "Title": "使用", + "Level": 0 + } + ] + }, + { + "Order": 1, + "Title": "浏览器支持", + "FullTitle": "浏览器支持", + "Type": "menuItem", + "Url": "getting-started/browser-support", + "Contents": [ + { + "Id": "section-484859015", + "Title": "浏览器", + "Level": 0 + } + ] + }, + { + "Order": 5, + "Title": "发行说明", + "FullTitle": "发行说明", + "Type": "menuItem", + "Url": "getting-started/release-notes", + "Contents": [] + }, + { + "Order": 6, + "Title": "贡献", + "FullTitle": "贡献", + "Type": "menuItem", + "Url": "getting-started/contributing", + "Contents": [ + { + "Id": "section-1311834339", + "Title": "报告问题", + "Level": 0 + } + ] + } + ] + }, + { + "Order": 0, + "Title": "介绍", + "FullTitle": "介绍", + "Type": "menuItem", + "Url": "introduction", + "Icon": "M6.25098 20.3332V5.229C6.25098 4.36605 6.95052 3.6665 7.81348 3.6665H17.1885C18.0514 3.6665 18.751 4.36605 18.751 5.229V20.3332L12.501 16.6873L6.25098 20.3332Z", + "Children": [ + { + "Order": 0, + "Title": "为什么选择 MASA Blazor?", + "FullTitle": "为什么选择 MASA Blazor?", + "Type": "menuItem", + "Url": "introduction/why", + "Contents": [ + { + "Id": "section-1946702414", + "Title": "Blazor 是什么?", + "Level": 0 + }, + { + "Id": "section-1967431728", + "Title": "MASA Blazor 是什么?", + "Level": 0 + }, + { + "Id": "section-1421632437", + "Title": "为什么选择 MASA Blazor?", + "Level": 0 + }, + { + "Id": "section-350316207", + "Title": "优势:", + "Level": 0 + } + ] + } + ] + }, + { + "Order": 3, + "Title": "样式和动画", + "FullTitle": "样式和动画", + "Type": "menuItem", + "Url": "styles-and-animations", + "Icon": "M19.481 9.873L14.9298 9.21038L12.8959 5.09383C12.7131 4.72598 12.3564 4.54004 11.9998 4.54004C11.6453 4.54004 11.2912 4.72349 11.1077 5.09383L9.07321 9.21007L4.52164 9.87207C3.70542 9.99023 3.37831 10.9943 3.97003 11.5695L7.26259 14.7722L6.48337 19.2958C6.37268 19.9419 6.88853 20.4603 7.46626 20.4603C7.61955 20.4603 7.7772 20.4239 7.92863 20.3437L12.0004 18.2081L16.0719 20.3443C16.223 20.4236 16.3803 20.4596 16.533 20.4596C17.1114 20.4596 17.6281 19.9432 17.5175 19.2967L16.7392 14.7728L20.0323 11.5707C20.6244 10.9955 20.2973 9.99116 19.481 9.873ZM15.6956 13.7038L15.1322 14.2517L15.2653 15.0253L15.8723 18.5529L12.6966 16.8866L12.0007 16.5216L12.0017 6.6588L13.5884 9.87051L13.936 10.5742L14.7137 10.6874L18.2656 11.2045L15.6956 13.7038Z", + "Children": [ + { + "Order": 0, + "Title": "Border radius", + "SubTitle": "边框半径", + "FullTitle": "Border radius (边框半径)", + "Type": "menuItem", + "Url": "stylesandanimations/border-radius", + "Children": [] + }, + { + "Order": 0, + "Title": "Colors", + "SubTitle": "颜色", + "FullTitle": "Colors (颜色)", + "Type": "menuItem", + "Url": "stylesandanimations/colors", + "Children": [] + }, + { + "Order": 0, + "Title": "Display helpers", + "SubTitle": "显示辅助", + "FullTitle": "Display helpers (显示辅助)", + "Type": "menuItem", + "Url": "stylesandanimations/display-helpers", + "Children": [] + }, + { + "Order": 0, + "Title": "Elevation", + "SubTitle": "海拔", + "FullTitle": "Elevation (海拔)", + "Type": "menuItem", + "Url": "stylesandanimations/elevation", + "Children": [] + }, + { + "Order": 0, + "Title": "Flex", + "SubTitle": "弹性布局", + "FullTitle": "Flex (弹性布局)", + "Type": "menuItem", + "Url": "stylesandanimations/flex", + "Children": [] + }, + { + "Order": 0, + "Title": "Float", + "SubTitle": "浮动", + "FullTitle": "Float (浮动)", + "Type": "menuItem", + "Url": "stylesandanimations/float", + "Children": [] + }, + { + "Order": 0, + "Title": "Overflow", + "SubTitle": "溢出", + "FullTitle": "Overflow (溢出)", + "Type": "menuItem", + "Url": "stylesandanimations/overflow", + "Children": [] + }, + { + "Order": 0, + "Title": "Spacing", + "SubTitle": "间距", + "FullTitle": "Spacing (间距)", + "Type": "menuItem", + "Url": "stylesandanimations/spacing", + "Children": [] + }, + { + "Order": 0, + "Title": "Text and typography", + "SubTitle": "文本和排版", + "FullTitle": "Text and typography (文本和排版)", + "Type": "menuItem", + "Url": "stylesandanimations/text-and-typography", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Transitions", + "SubTitle": "过渡动画", + "FullTitle": "Transitions (过渡动画)", + "Type": "menuItem", + "Url": "stylesandanimations/transitions", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Children": [] + } + ] + }, + { + "Order": 4, + "Title": "UI 组件", + "FullTitle": "UI 组件", + "Type": "menuItem", + "Icon": "M4.07202 8.98504L11.6546 12.4248C11.8759 12.5253 12.1263 12.5253 12.3476 12.4248L19.9302 8.98504C20.4689 8.74057 20.4689 7.92646 19.9302 7.682L12.3479 4.24194C12.2392 4.19223 12.121 4.1665 12.0014 4.1665C11.8818 4.1665 11.7637 4.19223 11.6549 4.24194L4.07202 7.68167C3.53329 7.92613 3.53329 8.74057 4.07202 8.98504ZM19.9305 11.8587L18.0396 11.0016L12.7779 13.3867C12.5319 13.4983 12.2705 13.555 12.0013 13.555C11.7321 13.555 11.471 13.4983 11.2246 13.3867L5.96326 11.0016L4.07202 11.8587C3.53329 12.1028 3.53329 12.9166 4.07202 13.1608L11.6546 16.5979C11.8759 16.6981 12.1263 16.6981 12.3476 16.5979L19.9305 13.1608C20.4692 12.9166 20.4692 12.1028 19.9305 11.8587ZM19.9305 16.0188L18.0467 15.165L12.7779 17.5533C12.5319 17.6649 12.2705 17.7216 12.0013 17.7216C11.7321 17.7216 11.471 17.6649 11.2246 17.5533L5.9561 15.165L4.07202 16.0188C3.53329 16.2629 3.53329 17.0767 4.07202 17.3209L11.6546 20.758C11.8759 20.8582 12.1263 20.8582 12.3476 20.758L19.9305 17.3209C20.4692 17.0767 20.4692 16.2629 19.9305 16.0188Z", + "Children": [ + { + "Order": 0, + "Title": "Alerts", + "SubTitle": "提示框", + "FullTitle": "Alerts (提示框)", + "Type": "menuItem", + "Url": "components/alerts", + "Children": [] + }, + { + "Order": 0, + "Title": "Application", + "SubTitle": "应用程序", + "FullTitle": "Application (应用程序)", + "Type": "menuItem", + "Url": "components/application", + "Children": [] + }, + { + "Order": 0, + "Title": "Aspect ratios", + "SubTitle": "长宽比", + "FullTitle": "Aspect ratios (长宽比)", + "Type": "menuItem", + "Url": "components/aspect-ratios", + "Children": [] + }, + { + "Order": 0, + "Title": "Avatars", + "SubTitle": "头像", + "FullTitle": "Avatars (头像)", + "Type": "menuItem", + "Url": "components/avatars", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Avatars.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Badges", + "SubTitle": "徽章", + "FullTitle": "Badges (徽章)", + "Type": "menuItem", + "Url": "components/badges", + "Children": [] + }, + { + "Order": 0, + "Title": "Banners", + "SubTitle": "横幅", + "FullTitle": "Banners (横幅)", + "Type": "menuItem", + "Url": "components/banners", + "Children": [] + }, + { + "Order": 0, + "Title": "Bars", + "SubTitle": "栏", + "FullTitle": "Bars (栏)", + "Type": "menuItem", + "Children": [ + { + "Order": 0, + "Title": "App bars", + "SubTitle": "应用栏", + "FullTitle": "App bars (应用栏)", + "Type": "menuItem", + "Url": "components/app-bars", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/AppBars.svg" + }, + { + "Order": 0, + "Title": "System bars", + "SubTitle": "系统栏", + "FullTitle": "System bars (系统栏)", + "Type": "menuItem", + "Url": "components/system-bars" + }, + { + "Order": 0, + "Title": "Toolbars", + "SubTitle": "工具栏", + "FullTitle": "Toolbars (工具栏)", + "Type": "menuItem", + "Url": "components/toolbars" + } + ] + }, + { + "Order": 0, + "Title": "Borders", + "SubTitle": "边框", + "FullTitle": "Borders (边框)", + "Type": "menuItem", + "Url": "components/borders", + "Children": [] + }, + { + "Order": 0, + "Title": "Breadcrumbs", + "SubTitle": "面包屑导航", + "FullTitle": "Breadcrumbs (面包屑导航)", + "Type": "menuItem", + "Url": "components/breadcrumbs", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Buttons", + "SubTitle": "按钮", + "FullTitle": "Buttons (按钮)", + "Type": "menuItem", + "Url": "components/buttons", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/fNUKzY1sk/Buttons.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Cards", + "SubTitle": "卡片", + "FullTitle": "Cards (卡片)", + "Type": "menuItem", + "Url": "components/cards", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Cards.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Chips", + "SubTitle": "纸片", + "FullTitle": "Chips (纸片)", + "Type": "menuItem", + "Url": "components/chips", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Chips.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Dialogs", + "SubTitle": "对话框", + "FullTitle": "Dialogs (对话框)", + "Type": "menuItem", + "Url": "components/dialogs", + "Children": [] + }, + { + "Order": 0, + "Title": "Dividers", + "SubTitle": "分隔线", + "FullTitle": "Dividers (分隔线)", + "Type": "menuItem", + "Url": "components/dividers", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Dividers.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "ECharts", + "SubTitle": "图表", + "FullTitle": "ECharts (图表)", + "Type": "menuItem", + "Url": "components/echarts", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ECharts.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Expansion panels", + "SubTitle": "扩展面板", + "FullTitle": "Expansion panels (扩展面板)", + "Type": "menuItem", + "Url": "components/expansion-panels", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Footers", + "SubTitle": "页脚", + "FullTitle": "Footers (页脚)", + "Type": "menuItem", + "Url": "components/footers", + "Children": [] + }, + { + "Order": 0, + "Title": "Form inputs & controls", + "SubTitle": "表单和控制", + "FullTitle": "Form inputs & controls (表单和控制)", + "Type": "menuItem", + "Children": [ + { + "Order": 0, + "Title": "Autocompletes", + "SubTitle": "自动补全", + "FullTitle": "Autocompletes (自动补全)", + "Type": "menuItem", + "Url": "components/autocompletes", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Autocomplete.svg" + }, + { + "Order": 0, + "Title": "Cascaders", + "SubTitle": "级联菜单", + "FullTitle": "Cascaders (级联菜单)", + "Type": "menuItem", + "Url": "components/cascaders" + }, + { + "Order": 0, + "Title": "Checkboxes", + "SubTitle": "复选框", + "FullTitle": "Checkboxes (复选框)", + "Type": "menuItem", + "Url": "components/checkboxes" + }, + { + "Order": 0, + "Title": "File inputs", + "SubTitle": "文件上传", + "FullTitle": "File inputs (文件上传)", + "Type": "menuItem", + "Url": "components/file-inputs", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/FileInput.svg" + }, + { + "Order": 0, + "Title": "Forms", + "SubTitle": "表单", + "FullTitle": "Forms (表单)", + "Type": "menuItem", + "Url": "components/forms", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Form.svg" + }, + { + "Order": 0, + "Title": "Radio", + "SubTitle": "单选按钮", + "FullTitle": "Radio (单选按钮)", + "Type": "menuItem", + "Url": "components/radio", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Radio.svg" + }, + { + "Order": 0, + "Title": "Range sliders", + "SubTitle": "范围滑块", + "FullTitle": "Range sliders (范围滑块)", + "Type": "menuItem", + "Url": "components/range-sliders", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/RangeSliders.svg" + }, + { + "Order": 0, + "Title": "Selects", + "SubTitle": "下拉框", + "FullTitle": "Selects (下拉框)", + "Type": "menuItem", + "Url": "components/selects" + }, + { + "Order": 0, + "Title": "Sliders", + "SubTitle": "滑块", + "FullTitle": "Sliders (滑块)", + "Type": "menuItem", + "Url": "components/sliders", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Sliders.svg" + }, + { + "Order": 0, + "Title": "Switches", + "SubTitle": "开关", + "FullTitle": "Switches (开关)", + "Type": "menuItem", + "Url": "components/switches", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Switch.svg" + }, + { + "Order": 0, + "Title": "Textareas", + "SubTitle": "多行文本框", + "FullTitle": "Textareas (多行文本框)", + "Type": "menuItem", + "Url": "components/textareas", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Textareas.svg" + }, + { + "Order": 0, + "Title": "Text fields", + "SubTitle": "文本框", + "FullTitle": "Text fields (文本框)", + "Type": "menuItem", + "Url": "components/text-fields", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/TextField.svg" + } + ] + }, + { + "Order": 0, + "Title": "Grid system", + "SubTitle": "网格", + "FullTitle": "Grid system (网格)", + "Type": "menuItem", + "Url": "components/grid-system", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Grid.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Groups", + "SubTitle": "组", + "FullTitle": "Groups (组)", + "Type": "menuItem", + "Children": [ + { + "Order": 0, + "Title": "Button groups", + "SubTitle": "按钮组", + "FullTitle": "Button groups (按钮组)", + "Type": "menuItem", + "Url": "components/button-groups", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ButtonGroup.svg" + }, + { + "Order": 0, + "Title": "Chip groups", + "SubTitle": "纸片组", + "FullTitle": "Chip groups (纸片组)", + "Type": "menuItem", + "Url": "components/chip-groups", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Chip.svg" + }, + { + "Order": 0, + "Title": "Item groups", + "SubTitle": "项目组", + "FullTitle": "Item groups (项目组)", + "Type": "menuItem", + "Url": "components/item-groups", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ItemGroup.svg" + }, + { + "Order": 0, + "Title": "List item groups", + "SubTitle": "列表项目组", + "FullTitle": "List item groups (列表项目组)", + "Type": "menuItem", + "Url": "components/list-item-groups" + }, + { + "Order": 0, + "Title": "Slide groups", + "SubTitle": "幻灯片组", + "FullTitle": "Slide groups (幻灯片组)", + "Type": "menuItem", + "Url": "components/slide-groups" + }, + { + "Order": 0, + "Title": "Windows", + "SubTitle": "窗口", + "FullTitle": "Windows (窗口)", + "Type": "menuItem", + "Url": "components/windows" + } + ] + }, + { + "Order": 0, + "Title": "Hover", + "SubTitle": "悬停", + "FullTitle": "Hover (悬停)", + "Type": "menuItem", + "Url": "components/hover", + "Children": [] + }, + { + "Order": 0, + "Title": "Icons", + "SubTitle": "图标", + "FullTitle": "Icons (图标)", + "Type": "menuItem", + "Url": "components/icons", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Images", + "SubTitle": "图像", + "FullTitle": "Images (图像)", + "Type": "menuItem", + "Url": "components/images", + "Children": [] + }, + { + "Order": 0, + "Title": "Lists", + "SubTitle": "列表", + "FullTitle": "Lists (列表)", + "Type": "menuItem", + "Url": "components/lists", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/List.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Menus", + "SubTitle": "菜单", + "FullTitle": "Menus (菜单)", + "Type": "menuItem", + "Url": "components/menus", + "Children": [] + }, + { + "Order": 0, + "Title": "Navigation drawers", + "SubTitle": "导航抽屉", + "FullTitle": "Navigation drawers (导航抽屉)", + "Type": "menuItem", + "Url": "components/navigation-drawers", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/NavigationDrawer.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Overlays", + "SubTitle": "遮罩层", + "FullTitle": "Overlays (遮罩层)", + "Type": "menuItem", + "Url": "components/overlays", + "Children": [] + }, + { + "Order": 0, + "Title": "Pagination", + "SubTitle": "分页", + "FullTitle": "Pagination (分页)", + "Type": "menuItem", + "Url": "components/pagination", + "Children": [] + }, + { + "Order": 0, + "Title": "Pickers", + "SubTitle": "选择器", + "FullTitle": "Pickers (选择器)", + "Type": "menuItem", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Pickers.svg", + "Children": [ + { + "Order": 0, + "Title": "Color pickers", + "SubTitle": "颜色选择器", + "FullTitle": "Color pickers (颜色选择器)", + "Type": "menuItem", + "Url": "components/color-pickers", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/ColorPicker.svg" + }, + { + "Order": 0, + "Title": "Date pickers", + "SubTitle": "日期选择器", + "FullTitle": "Date pickers (日期选择器)", + "Type": "menuItem", + "Url": "components/date-pickers", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/DatePickers.svg" + }, + { + "Order": 0, + "Title": "Date pickers month", + "SubTitle": "月份选择器", + "FullTitle": "Date pickers month (月份选择器)", + "Type": "menuItem", + "Url": "components/date-pickers-month", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/DatePickersMonth.svg" + }, + { + "Order": 0, + "Title": "Time pickers", + "SubTitle": "时间选择器", + "FullTitle": "Time pickers (时间选择器)", + "Type": "menuItem", + "Url": "components/time-pickers", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/TimePickers.svg" + } + ] + }, + { + "Order": 0, + "Title": "Presets", + "SubTitle": "预置组件", + "FullTitle": "Presets (预置组件)", + "Type": "menuItem", + "Url": "components/presets", + "Children": [] + }, + { + "Order": 0, + "Title": "Progress", + "SubTitle": "进度条", + "FullTitle": "Progress (进度条)", + "Type": "menuItem", + "Children": [ + { + "Order": 0, + "Title": "Progress circular", + "SubTitle": "进度环", + "FullTitle": "Progress circular (进度环)", + "Type": "menuItem", + "Url": "components/progress-circular" + }, + { + "Order": 0, + "Title": "Progress linear", + "SubTitle": "进度条", + "FullTitle": "Progress linear (进度条)", + "Type": "menuItem", + "Url": "components/progress-linear" + } + ] + }, + { + "Order": 0, + "Title": "Ratings", + "SubTitle": "评级", + "FullTitle": "Ratings (评级)", + "Type": "menuItem", + "Url": "components/ratings", + "Children": [] + }, + { + "Order": 0, + "Title": "Sheets", + "SubTitle": "工作表", + "FullTitle": "Sheets (工作表)", + "Type": "menuItem", + "Url": "components/sheets", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Sheet.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Skeleton loaders", + "SubTitle": "骨架装载器", + "FullTitle": "Skeleton loaders (骨架装载器)", + "Type": "menuItem", + "Url": "components/skeleton-loaders", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/SkeletonLoader.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Snackbars", + "SubTitle": "消息条", + "FullTitle": "Snackbars (消息条)", + "Type": "menuItem", + "Url": "components/snackbars", + "Children": [] + }, + { + "Order": 0, + "Title": "Steppers", + "SubTitle": "步骤条", + "FullTitle": "Steppers (步骤条)", + "Type": "menuItem", + "Url": "components/steppers", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Stepper.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Subheaders", + "SubTitle": "副标题", + "FullTitle": "Subheaders (副标题)", + "Type": "menuItem", + "Url": "components/subheaders", + "Children": [] + }, + { + "Order": 0, + "Title": "Tables", + "SubTitle": "表格", + "FullTitle": "Tables (表格)", + "Type": "menuItem", + "Children": [ + { + "Order": 0, + "Title": "Data iterators", + "SubTitle": "数据迭代器", + "FullTitle": "Data iterators (数据迭代器)", + "Type": "menuItem", + "Url": "components/data-iterators", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/DataIterators.svg" + }, + { + "Order": 0, + "Title": "Data tables", + "SubTitle": "数据表格", + "FullTitle": "Data tables (数据表格)", + "Type": "menuItem", + "Url": "components/data-tables", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/DataTable.svg" + }, + { + "Order": 0, + "Title": "Simple tables", + "SubTitle": "简单表格", + "FullTitle": "Simple tables (简单表格)", + "Type": "menuItem", + "Url": "components/simple-tables", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/SimpleTables.svg" + } + ] + }, + { + "Order": 0, + "Title": "Tabs", + "SubTitle": "选项卡", + "FullTitle": "Tabs (选项卡)", + "Type": "menuItem", + "Url": "components/tabs", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Tabs.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Timelines", + "SubTitle": "时间轴", + "FullTitle": "Timelines (时间轴)", + "Type": "menuItem", + "Url": "components/timelines", + "Children": [] + }, + { + "Order": 0, + "Title": "Tooltips", + "SubTitle": "工具提示", + "FullTitle": "Tooltips (工具提示)", + "Type": "menuItem", + "Url": "components/tooltips", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/5rWLU27so/Tooltip.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Treeview", + "SubTitle": "树形视图", + "FullTitle": "Treeview (树形视图)", + "Type": "menuItem", + "Url": "components/treeview", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Treeview.svg", + "Children": [] + }, + { + "Order": 0, + "Title": "Uploads", + "SubTitle": "上传文件", + "FullTitle": "Uploads (上传文件)", + "Type": "menuItem", + "Url": "components/uploads", + "Children": [] + }, + { + "Order": 0, + "Title": "Virtual scroller", + "SubTitle": "虚拟滚动条", + "FullTitle": "Virtual scroller (虚拟滚动条)", + "Type": "menuItem", + "Url": "components/virtual-scroller", + "Cover": "https://gw.alipayobjects.com/zos/alicdn/rrwbSt3FQ/Icon.svg", + "Children": [] + } + ] + } +] \ No newline at end of file From cd3b5983ed8243cf23c420463e92e22cad994c6d Mon Sep 17 00:00:00 2001 From: masastack-opensource <82495610+masastack-opensource@users.noreply.github.com> Date: Wed, 8 Dec 2021 12:38:01 +0800 Subject: [PATCH 169/191] New translations installation.zh-CN.json (English) --- en/en/installation.zh-CN.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 en/en/installation.zh-CN.json diff --git a/en/en/installation.zh-CN.json b/en/en/installation.zh-CN.json new file mode 100644 index 0000000000..57ffeabdca --- /dev/null +++ b/en/en/installation.zh-CN.json @@ -0,0 +1,5 @@ +{ + "Order": 0, + "Title": "安装", + "Html": "\r\n

\r\n #\r\n 安装\r\n

\n

让我们从 MASA Blazor 开始吧,这是 .NET Core Blazor 框架的 UI 组件库,用于构建功能丰富、快速的应用程序。

\n
\n

MASA 系列所有产品均基于.Net 6.0 开发,请确保已安装 .NET 6.0

\n
\n