Word.ComboBoxContentControl class
Os dados específicos dos controlos de conteúdo do tipo "Caixa de Combinação".
- Extends
Comentários
[ Conjunto de API: WordApi 1.9 ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/insert-and-change-combo-box-content-control.yaml
// Places a combo box content control at the end of the selection.
await Word.run(async (context) => {
let selection = context.document.getSelection();
selection.getRange(Word.RangeLocation.end).insertContentControl(Word.ContentControlType.comboBox);
await context.sync();
console.log("Combo box content control inserted at the end of the selection.");
});
Propriedades
context | O contexto do pedido associado ao objeto . Esta ação liga o processo do suplemento ao processo da aplicação anfitriã do Office. |
list |
Obtém a coleção de itens de lista no controlo de conteúdo da caixa de combinação. |
Métodos
add |
Adiciona um novo item de lista a este controlo de conteúdo de caixa de combinação e devolve um Word. Objeto ContentControlListItem. |
delete |
Elimina todos os itens de lista neste controlo de conteúdo da caixa de combinação. |
load(property |
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
load(property |
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
toJSON() | Substitui o método JavaScript |
track() | Acompanha o objeto para ajuste automático com base nas alterações adjacentes no documento. Esta chamada é uma abreviatura de context.trackedObjects.add(thisObject). Se estiver a utilizar este objeto entre |
untrack() | Libere a memória associada a este objeto, se ele já tiver sido rastreado anteriormente. Esta chamada é abreviada para context.trackedObjects.remove(thisObject). Ter muitos objetos rastreados desacelera o aplicativo host, por isso, lembre-se de liberar todos os objetos adicionados após usá-los. Terá de chamar |
Detalhes da propriedade
context
O contexto do pedido associado ao objeto . Esta ação liga o processo do suplemento ao processo da aplicação anfitriã do Office.
context: RequestContext;
Valor da propriedade
listItems
Obtém a coleção de itens de lista no controlo de conteúdo da caixa de combinação.
readonly listItems: Word.ContentControlListItemCollection;
Valor da propriedade
Comentários
[ Conjunto de API: WordApi 1.9 ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/insert-and-change-combo-box-content-control.yaml
// Deletes the provided list item from the first combo box content control in the selection.
await Word.run(async (context) => {
const listItemText = $("#item-to-delete")
.val()
.toString()
.trim();
const selectedRange: Word.Range = context.document.getSelection();
let selectedContentControl = selectedRange
.getContentControls({
types: [Word.ContentControlType.comboBox]
})
.getFirstOrNullObject();
selectedContentControl.load("id,comboBoxContentControl");
await context.sync();
if (selectedContentControl.isNullObject) {
const parentContentControl: Word.ContentControl = selectedRange.parentContentControl;
parentContentControl.load("id,type,comboBoxContentControl");
await context.sync();
if (parentContentControl.isNullObject || parentContentControl.type !== Word.ContentControlType.comboBox) {
console.warn("No combo box content control is currently selected.");
return;
} else {
selectedContentControl = parentContentControl;
}
}
let selectedComboBox: Word.ComboBoxContentControl = selectedContentControl.comboBoxContentControl;
selectedComboBox.listItems.load("items/*");
await context.sync();
let listItems: Word.ContentControlListItemCollection = selectedContentControl.comboBoxContentControl.listItems;
let itemToDelete: Word.ContentControlListItem = listItems.items.find((item) => item.displayText === listItemText);
if (!itemToDelete) {
console.warn(`List item doesn't exist in control with ID ${selectedContentControl.id}: ${listItemText}`);
return;
}
itemToDelete.delete();
await context.sync();
console.log(`List item deleted from control with ID ${selectedContentControl.id}: ${listItemText}`);
});
Detalhes do método
addListItem(displayText, value, index)
Adiciona um novo item de lista a este controlo de conteúdo de caixa de combinação e devolve um Word. Objeto ContentControlListItem.
addListItem(displayText: string, value?: string, index?: number): Word.ContentControlListItem;
Parâmetros
- displayText
-
string
Obrigatório. Apresentar texto do item de lista.
- value
-
string
Opcional. Valor do item de lista.
- index
-
number
Opcional. Localização do índice do novo item na lista. Se existir um item na posição especificada, o item existente será colocado em uma posição posterior na lista. Se for omitido, o novo item será adicionado ao final da lista.
Retornos
Comentários
[ Conjunto de API: WordApi 1.9 ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/insert-and-change-combo-box-content-control.yaml
// Adds the provided list item to the first combo box content control in the selection.
await Word.run(async (context) => {
const listItemText = $("#item-to-add")
.val()
.toString()
.trim();
const selectedRange: Word.Range = context.document.getSelection();
let selectedContentControl = selectedRange
.getContentControls({
types: [Word.ContentControlType.comboBox]
})
.getFirstOrNullObject();
selectedContentControl.load("id,comboBoxContentControl");
await context.sync();
if (selectedContentControl.isNullObject) {
const parentContentControl: Word.ContentControl = selectedRange.parentContentControl;
parentContentControl.load("id,type,comboBoxContentControl");
await context.sync();
if (parentContentControl.isNullObject || parentContentControl.type !== Word.ContentControlType.comboBox) {
console.warn("No combo box content control is currently selected.");
return;
} else {
selectedContentControl = parentContentControl;
}
}
selectedContentControl.comboBoxContentControl.addListItem(listItemText);
await context.sync();
console.log(`List item added to control with ID ${selectedContentControl.id}: ${listItemText}`);
});
deleteAllListItems()
Elimina todos os itens de lista neste controlo de conteúdo da caixa de combinação.
deleteAllListItems(): void;
Retornos
void
Comentários
[ Conjunto de API: WordApi 1.9 ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/insert-and-change-combo-box-content-control.yaml
// Deletes the list items from first combo box content control found in the selection.
await Word.run(async (context) => {
const selectedRange: Word.Range = context.document.getSelection();
let selectedContentControl = selectedRange
.getContentControls({
types: [Word.ContentControlType.comboBox]
})
.getFirstOrNullObject();
selectedContentControl.load("id,comboBoxContentControl");
await context.sync();
if (selectedContentControl.isNullObject) {
const parentContentControl: Word.ContentControl = selectedRange.parentContentControl;
parentContentControl.load("id,type,comboBoxContentControl");
await context.sync();
if (parentContentControl.isNullObject || parentContentControl.type !== Word.ContentControlType.comboBox) {
console.warn("No combo box content control is currently selected.");
return;
} else {
selectedContentControl = parentContentControl;
}
}
console.log(`About to delete the list from the combo box content control with ID ${selectedContentControl.id}`);
selectedContentControl.comboBoxContentControl.deleteAllListItems();
await context.sync();
console.log("Deleted the list from the combo box content control.");
});
load(propertyNames)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync()
antes de ler as propriedades.
load(propertyNames?: string | string[]): Word.ComboBoxContentControl;
Parâmetros
- propertyNames
-
string | string[]
Uma cadeia delimitada por vírgulas ou uma matriz de cadeias que especificam as propriedades a carregar.
Retornos
load(propertyNamesAndPaths)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync()
antes de ler as propriedades.
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): Word.ComboBoxContentControl;
Parâmetros
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select
é uma cadeia delimitada por vírgulas que especifica as propriedades a carregar e propertyNamesAndPaths.expand
é uma cadeia delimitada por vírgulas que especifica as propriedades de navegação a carregar.
Retornos
toJSON()
Substitui o método JavaScript toJSON()
para fornecer uma saída mais útil quando um objeto de API é transmitido para JSON.stringify()
. (JSON.stringify
por sua vez, chama o toJSON
método do objeto que lhe é transmitido.) Enquanto o objeto original Word.ComboBoxContentControl
é um objeto de API, o toJSON
método devolve um objeto JavaScript simples (escrito como Word.Interfaces.ComboBoxContentControlData
) que contém cópias rasas de quaisquer propriedades subordinadas carregadas do objeto original.
toJSON(): Word.Interfaces.ComboBoxContentControlData;
Retornos
track()
Acompanha o objeto para ajuste automático com base nas alterações adjacentes no documento. Esta chamada é uma abreviatura de context.trackedObjects.add(thisObject). Se estiver a utilizar este objeto entre .sync
chamadas e fora da execução sequencial de um lote ".run" e receber um erro "InvalidObjectPath" ao definir uma propriedade ou invocar um método no objeto, terá de adicionar o objeto à coleção de objetos controlados quando o objeto foi criado pela primeira vez. Se este objeto fizer parte de uma coleção, também deve controlar a coleção principal.
track(): Word.ComboBoxContentControl;
Retornos
untrack()
Libere a memória associada a este objeto, se ele já tiver sido rastreado anteriormente. Esta chamada é abreviada para context.trackedObjects.remove(thisObject). Ter muitos objetos rastreados desacelera o aplicativo host, por isso, lembre-se de liberar todos os objetos adicionados após usá-los. Terá de chamar context.sync()
antes de a libertação da memória ser aplicada.
untrack(): Word.ComboBoxContentControl;