命令栏自定义语法参考

命令栏自定义可帮助个性化列表以满足特定要求。 基于 JSON 的功能允许对命令栏进行基本更改,包括修改图标和/或文本、隐藏现有选项或重新定位命令。

commandBarProps

命令栏自定义的属性。 在所有类型的布局中有效。

命令

用于指定自定义命令的 JSON 对象数组。

注册表项

用于唯一标识命令栏中命令的必需属性。 有效密钥包括:

'new'
'newFolder'
'newWordDocument'
'newExcelWorkbook'
'newPowerPointPresentation'
'newOneNoteNotebook'
'newFormsForExcel'
'newVisioDrawing'
'upload'
'uploadFile'
'uploadFolder'
'open'
'share'
'copyLink'
'download'
'rename'
'copyTo'
'moveTo'
'delete'
'edit'
'comment'
'editNewMenu'
'powerBI'
'powerBIVisualizeList'
'automate'
'automateCreateRule'
'automateManageRules'
'powerAutomate'
'powerAutomateCreateFlow'
'powerAutomateSeeFlows'
'powerAutomateConfigureFlows'
'aiBuilderCreate'
'aiBuilderGoto'
'aiBuilder'
'alertMe'
'newLink'
'integrate'
'manageAlert'
'powerApps'
'powerAppsCreateApp'
'powerAppsSeeAllApps'
'powerAppsCustomizeForms'
'viewDocumentUnderstandingModels'
'versionHistory'
'openInImmersiveReader'
'classifyAndExtract'
'checkOut'
'checkIn'
'undoCheckOut'
'properties'
'pinItem'
'exportExcel'
'exportCSV'
'export'
'editInGridView'
'exitGridView'
'sync'
'uploadTemplate'
'addTemplate'
'openInOfficeOnline'
'openInOfficeClient'
'addShortcut'
'pinToQuickAccess'
'unpinFromQuickAccess'
'manageForms'

隐藏

一个可选属性,用于指定隐藏特定命令的条件。 此属性的值可以是布尔值、字符串或表达式对象。 false 是默认行为(表示命令可见)。 true 表示将隐藏该命令。

text

一个可选属性,永不指定要显示为命令名称的文本。 此属性的值可以是字符串或表达式对象。 如果未提供该值,则将显示命令的默认名称。

title

一个可选属性,用于指定要在命令中显示的工具提示文本。 此属性的值可以是字符串或表达式对象。 如果未提供该值,则将显示命令的默认工具提示。

iconName

一个可选属性,用于指定要在命令中显示的 Fluent UI 图标。 此属性的值可以是字符串或表达式对象。 如果未提供该值,则将显示命令的默认图标。

主要

一个可选属性,用于指定将主按钮样式应用于命令的条件。 此属性的值可以是布尔值、字符串或表达式对象。 false 是默认行为(表示将应用默认样式)。 true 表示仅在将命令放置在命令栏中的第 0 个位置时,主按钮样式才会应用于命令。

以下示例演示了要执行以下操作的设置为示例命令栏格式的 JSON:

  • 隐藏“新建”命令。
  • 更新“在网格视图中编辑”命令的文本和图标,并向其添加主按钮样式。
  • 从“共享”命令中删除图标并更新其工具提示文本。
{
  "commandBarProps" : {
    "commands": [
      {
        "key": "new",
        "hide": true
      },
      {
        "key": "editInGridView",
        "text": "Quick edit",
        "iconName": "EditTable",
        "primary": true
      },
      {
        "key": "share",
        "iconName": "",
        "title": "Share this List"
      }
    ]
  }
}

position

一个可选属性,用于指定命令将放置在命令栏中的位置。 此属性的值可以是数字、字符串或表达式对象。 如果未提供该值,则命令将放置于其默认位置中。 此属性遵循从零开始的索引。

sectionType

一个可选属性,用于指定自定义命令将放置在命令栏中的部分。 以下字符串是此属性的有效值:

  • 溢出

以下示例演示了要执行以下操作的设置为示例命令栏格式的 JSON:

  • 将“新建”命令置于命令栏主要部分的第三个位置。
  • 将“共享”命令置于命令栏溢出菜单中的第二个位置。
  • 将“向我报警”命令置于命令栏主部分的第四个位置。
{
  "commandBarProps" : {
    "commands": [
      {
        "key": "new",
        "position": 2
      },
       {
        "key": "share",
        "position": 1,
        "sectionType": "Overflow"
      },
      {
        "key": "alertMe",
        "position": 3,
        "sectionType": "Primary"
      }
    ]
  }
}

selectionModes

一个可选属性,用于指定将应用命令自定义项的选择模式。 如果未提供该值,则将在命令可用的所有选择模式下应用自定义。 此属性的值可以是允许使用以下字符串的字符串数组:

  • NoSelection
  • SingleSelection
  • MultiSelection

以下示例演示了要执行以下操作的设置为示例命令栏格式的 JSON:

  • 如果所选项的“NumberField”列的值为 3,则更新“共享”命令的文本
  • 仅当选择多个项时,才更新“删除”命令的文本。
{
  "commandBarProps": {
    "commands": [
      {
        "key": "share",
        "selectionModes": [
          "SingleSelection"
        ],
        "text": "=if([$NumberField] == 3, 'Share item 3', 'Share')"
      },
      {
        "key": "delete",
         "selectionModes": [
          "MultiSelection"
        ],
        "text": "Delete multiple items"
      }
    ]
  }
}