Word.ComboBoxContentControl class
Представляет данные, относящиеся к элементам управления содержимым типа comboBox.
- Extends
Комментарии
Используется
Примеры
// 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.");
});
Свойства
| context | Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office. |
| list |
Получает коллекцию элементов списка в элементе управления содержимым поля со списком. |
Методы
| add |
Добавляет новый элемент списка в элемент управления содержимым этого поля со списком и возвращает Word. ContentControlListItem. |
| delete |
Удаляет все элементы списка в этом элементе управления содержимым поля со списком. |
| load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
| load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
| toJSON() | Переопределяет метод JavaScript |
| track() | Отслеживает объект для автоматической корректировки с учетом окружающих изменений в документе. Этот вызов является сокращением от context.trackedObjects.add(thisObject). Если вы используете этот объект во всех |
| untrack() | Освобождает память, связанную с этим объектом, если он ранее отслеживался. Этот вызов является сокращением от context.trackedObjects.remove(thisObject). Наличие большого количества отслеживаемых объектов замедляет ведущее приложение, поэтому не забывайте освобождать любые добавленные объекты после завершения их использования. Вам нужно позвонить |
Сведения о свойстве
context
Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office.
context: RequestContext;
Значение свойства
listItems
Получает коллекцию элементов списка в элементе управления содержимым поля со списком.
readonly listItems: Word.ContentControlListItemCollection;
Значение свойства
Комментарии
Примеры
// 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 = (document.getElementById("item-to-delete") as HTMLInputElement).value.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}`);
});
Сведения о методе
addListItem(displayText, value, index)
Добавляет новый элемент списка в элемент управления содержимым этого поля со списком и возвращает Word. ContentControlListItem.
addListItem(displayText: string, value?: string, index?: number): Word.ContentControlListItem;
Параметры
- displayText
-
string
Отображение текста элемента списка.
- value
-
string
Необязательный параметр. Значение элемента списка.
- index
-
number
Необязательный параметр. Индексация расположения нового элемента в списке. Если элемент существует в указанной позиции, существующий элемент перемещается вниз в списке. Если этот параметр опущен, новый элемент добавляется в конец списка.
Возвращаемое значение
Комментарии
Примеры
// 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 = (document.getElementById("item-to-add") as HTMLInputElement).value.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()
Удаляет все элементы списка в этом элементе управления содержимым поля со списком.
deleteAllListItems(): void;
Возвращаемое значение
void
Комментарии
Примеры
// 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)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().
load(propertyNames?: string | string[]): Word.ComboBoxContentControl;
Параметры
- propertyNames
-
string | string[]
Строка с разделителями-запятыми или массив строк, которые определяют свойства для загрузки.
Возвращаемое значение
load(propertyNamesAndPaths)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): Word.ComboBoxContentControl;
Параметры
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select — это строка с разделителями-запятыми, указывающая загружаемые свойства, и строка propertyNamesAndPaths.expand через запятую, указывающая свойства навигации для загрузки.
Возвращаемое значение
toJSON()
Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringify, в свою очередь, вызывает toJSON метод переданного ему объекта.) В то время как исходный Word.ComboBoxContentControl объект является объектом API, toJSON метод возвращает простой объект JavaScript (типизированный как Word.Interfaces.ComboBoxContentControlData), который содержит неглубокие копии любых загруженных дочерних свойств исходного объекта.
toJSON(): Word.Interfaces.ComboBoxContentControlData;
Возвращаемое значение
track()
Отслеживает объект для автоматической корректировки с учетом окружающих изменений в документе. Этот вызов является сокращением от context.trackedObjects.add(thisObject). Если вы используете этот объект во всех .sync вызовах и вне последовательного выполнения пакета ".run" и получаете сообщение об ошибке "InvalidObjectPath" при установке свойства или вызове метода объекта, необходимо добавить объект в коллекцию отслеживаемых объектов при его первом создании. Если этот объект является частью семейства, следует также отслеживать родительскую коллекцию.
track(): Word.ComboBoxContentControl;
Возвращаемое значение
untrack()
Освобождает память, связанную с этим объектом, если он ранее отслеживался. Этот вызов является сокращением от context.trackedObjects.remove(thisObject). Наличие большого количества отслеживаемых объектов замедляет ведущее приложение, поэтому не забывайте освобождать любые добавленные объекты после завершения их использования. Вам нужно позвонить context.sync() , прежде чем освобождение памяти вступит в силу.
untrack(): Word.ComboBoxContentControl;