備註
你正在建立由 Adaptive Cards 驅動的 Copilot、Teams 或 Outlook 應用場景嗎? 造訪 Adaptive Card Documentation Hub,這個全新的一站式平台,滿足您所有 Adaptive Card 的需求! 它擁有你所需的所有資源,包括許多新功能的完整文件,例如響應式版面、圖示、徽章、旋轉木馬、圖表等等!
關於無障礙的重要說明: 在結構的 1.3 版本中,我們在 Inputs 上引入 了標籤 屬性以提升可及性。 如果你目標的 主機應用程式 支援 v1.3,建議使用 label 而非 TextBlock ,如下方範例所示。 當大多數 Host 應用程式更新到最新版本後,我們會相應更新樣本。
輸入選擇集
允許使用者輸入選擇。
Input.ChoiceSet 屬性
| 房產 | 類型 | 為必填項目 | Description | 版本 |
|---|---|---|---|---|
| type | "Input.ChoiceSet" |
Yes | 必須是 "Input.ChoiceSet"。 |
1.0 |
| 識別碼 | string |
Yes | 該值的唯一識別碼。 用於在執行提交動作時識別收集到的輸入。 | 1.0 |
| 選項 | Input.Choice[] |
否 |
Choice 選項。 |
1.0 |
| choices.data | Data.Query |
否 | 允許在使用者輸入輸入欄位時,動態從機器人擷取選項,顯示為下拉選單中的建議。 | 1.6 |
| isMultiSelect | boolean |
否 | 允許選取多個選項。 | 1.0 |
| style | ChoiceInputStyle |
否 | 1.0 | |
| value | string |
否 | 應該選擇的初始選擇(或一組選擇)。 多選時,指定一串逗號分隔的數值。 | 1.0 |
| 預留位置 | string |
否 | 描述所需輸入。 只有在未做出選擇時才可見,style 是 compact 且 isMultiSelect 是 false |
1.0 |
| 封裝 | boolean |
否 | 如果 true,允許文字進行換行。 否則文字會被剪裁。 |
1.2 |
繼承屬性
| 房產 | 類型 | 為必填項目 | Description | 版本 |
|---|---|---|---|---|
| errorMessage | string |
否 | 用戶輸入無效時顯示的錯誤訊息 | 1.3 |
| 是必填 | boolean |
否 | 是否需要這樣的輸入 | 1.3 |
| 標籤 | string |
否 | 此輸入的標籤 | 1.3 |
| 標籤位置 | InputLabelPosition |
否 | [僅支援 JAVASCRIPT SDK]決定標籤的位置。 它可以接受「inline」和「above」的屬性值。 預設情況下,當標籤位置未指定時,標籤會放在「上方」。 | 1.6 |
| labelWidth |
string、number |
否 | [僅支援 JAVASCRIPT SDK] 當標籤與輸入字段對齊時,它會以百分比(例如 40)或具體像素寬度(例如「40px」)來決定標籤的寬度。 當標籤顯示在輸入上方時,labelWidth 會被忽略。 | 1.6 |
| 輸入風格 | InputStyle |
否 | [僅支援 JAVASCRIPT SDK]輸入欄位的樣式提示。 允許輸入欄位顯示為唯讀,但當使用者點擊或聚焦該欄位時,可以更新這些欄位。 | 1.6 |
| 後備方案 |
Element、FallbackOption |
否 | 描述遇到未知元素或無法滿足該元素或任何孩子需求時該怎麼做。 | 1.2 |
| height | BlockElementHeight |
否 | 指定元素的高度。 | 1.1 |
| separator | boolean |
否 | 當 true時,在元素頂部畫一條分隔線。 |
1.0 |
| 間距 | Spacing |
否 | 控制此元素與前一個元素之間的間距。 | 1.0 |
| 是可見的 | boolean |
不,預設: true |
若 false,則該項目將從視覺樹中移除。 |
1.2 |
| 要求 | Dictionary<string> |
否 | 一系列鍵值對,表示該項目所需的功能及其相應的最低版本。 當功能缺失或版本不足時,會觸發備援。 | 1.2 |
Example
範例 1:示範 ChoiceSet 樣式與多重選擇
| JSON | 最適化卡片 |
|---|---|
json { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.3", "body": [ { "type": "Input.ChoiceSet", "id": "myColor", "style": "compact", "label": "What color do you want? (isMultiSelect:false, style:compact)", "isMultiSelect": false, "value": "1", "choices": [ { "title": "Red", "value": "1" }, { "title": "Green", "value": "2" }, { "title": "Blue", "value": "3" } ] }, { "type": "Input.ChoiceSet", "id": "myColor2", "style": "expanded", "label": "What color do you want? (isMultiSelect:false, style:expanded)", "isMultiSelect": false, "value": "1", "choices": [ { "title": "Red", "value": "1" }, { "title": "Green", "value": "2" }, { "title": "Blue", "value": "3" } ] }, { "type": "Input.ChoiceSet", "id": "myColor3", "isMultiSelect": true, "value": "1,3", "style": "compact", "label": "What colors do you want? (isMultiSelect:true, style:compact)", "choices": [ { "title": "Red", "value": "1" }, { "title": "Green", "value": "2" }, { "title": "Blue", "value": "3" } ] }, { "type": "Input.ChoiceSet", "id": "myColor4", "isMultiSelect": true, "value": "1", "style": "expanded", "label": "What colors do you want? (isMultiSelect:true, style:expanded)", "choices": [ { "title": "Red", "value": "1" }, { "title": "Green", "value": "2" }, { "title": "Blue", "value": "3" } ] } ], "actions": [ { "type": "Action.Submit", "title": "OK" } ] } |
屬性
選擇(版本 1.0)
Choice 選項。
-
類型:
Input.Choice[] - 必要條件:不
-
允許的值:
Input.Choice
choices.data(版本 1.6)
允許在使用者輸入輸入欄位時,動態從機器人擷取選項,顯示為下拉選單中的建議。
-
類型:
Data.Query - 版本 :1.6
- 必要條件:不
-
允許的值:
Data.Query
isMultiSelect(版本 1.0)
允許選取多個選項。
-
類型:
boolean - 必要條件:不
風格(版本 1.0)
-
類型:
ChoiceInputStyle - 必要條件:不
-
允許的值:
"compact""expanded"-
"filtered":於版本 1.5 新增。 允許使用者對選擇集中的選項進行篩選。
值(版本 1.0)
應該選擇的初始選擇(或一組選擇)。 多選時,指定一串逗號分隔的數值。
-
類型:
string - 必要條件:不
佔位符(版本 1.0)
描述所需輸入。 當未做出選擇時,只顯示style為compact且isMultiSelect為false
-
類型:
string - 必要條件:不
| JSON | 最適化卡片 |
|---|---|
json { "type": "AdaptiveCard", "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "version": "1.3", "body": [ { "type": "Input.ChoiceSet", "id": "CompactSelectVal", "label": "What color do you want? (compact)", "style": "compact", "isRequired": true, "errorMessage": "This is a required input", "placeholder": "Please choose", "choices": [ { "title": "Red", "value": "1" }, { "title": "Green", "value": "2" }, { "title": "Blue", "value": "3" } ] } ], "actions": [ { "type": "Action.Submit", "title": "OK" } ] } |
wrap(版本 1.2)
如果 true,允許文字進行換行。 否則文字會被剪裁。
-
類型:
boolean - 版本 :1.2
- 必要條件:不
識別碼(版本 1.0)
該值的唯一識別碼。 用於在執行提交動作時識別收集到的輸入。
-
類型:
string - 必修條件:是
errorMessage(版本 1.3)
用戶輸入無效時顯示的錯誤訊息
-
類型:
string - 版本 :1.3
- 必要條件:不
isRequired(版本 1.3)
是否需要這樣的輸入
-
類型:
boolean - 版本 :1.3
- 必要條件:不
標籤(版本 1.3)
此輸入的標籤
-
類型:
string - 版本 :1.3
- 必要條件:不
labelPosition(版本 1.6)
[僅支援 JAVASCRIPT SDK]決定標籤的位置。 它可以接受「行內」和「上方」的設定。 預設情況下,當標籤位置未指定時,標籤會放在「上方」。
-
類型:
InputLabelPosition - 版本 :1.6
- 必要條件:不
-
允許的值:
"inline""above"
labelWidth(版本 1.6)
[僅支援 JAVASCRIPT SDK] 決定標籤的寬度,當標籤與輸入框內聯放置時,可以設定為百分比(例如 40%)或特定像素寬度(如 '40px')。
labelWidth 當標籤顯示在輸入上方時,會被忽略。
-
類型:
string,number - 版本 :1.6
- 必要條件:不
inputStyle(版本 1.6)
[僅支援 JAVASCRIPT SDK]輸入欄位的樣式提示。 允許輸入欄位顯示為唯讀,但當使用者點擊或聚焦該欄位時,可以更新這些欄位。
-
類型:
InputStyle - 版本 :1.6
- 必要條件:不
-
允許的值:
"revealOnHover""default"
備用(版本 1.2)
描述遇到未知元素或無法滿足該元素或任何孩子需求時該怎麼做。
-
類型:
Element,FallbackOption - 版本 :1.2
- 必要條件:不
-
允許的值:
ActionSetColumnSetContainerFactSetImageImageSetInput.ChoiceSetInput.DateInput.NumberInput.TextInput.TimeInput.ToggleMediaRichTextBlockTableTextBlock-
"drop":當遇到未知元素時,此元素會立即被丟棄。 未知元素無法上升到更高層級。
高度(版本 1.1)
指定元素的高度。
-
類型:
BlockElementHeight - 版本 :1.1
- 必要條件:不
-
允許的值:
-
"auto"容器的高度將由其內容物的高度決定。 -
"stretch":容器會將其高度拉伸至母容器剩餘的可用高度。
-
分離器(版本 1.0)
當 true時,在元素頂部畫一條分隔線。
-
類型:
boolean - 必要條件:不
間距(版本 1.0)
控制此元素與前一個元素之間的間距。
-
類型:
Spacing - 必要條件:不
-
允許的值:
"default""none""small""medium""large""extraLarge""padding"
isVisible(版本 1.2)
若 false,則該項目將從視覺樹中移除。
-
類型:
boolean - 版本 :1.2
-
必修條件:否,預設:
true
需要(版本 1.2)
一系列鍵值對,表示該項目所需的功能及其相應的最低版本。 當功能缺失或版本不足時,會觸發備援。
-
類型:
Dictionary<string> - 版本 :1.2
- 必要條件:不