Получение выбора из объекта списка - PullRequest
0 голосов
/ 26 января 2019

У меня есть таблица внутри appmaker, в которую я добавил флажки, например:

app screenshot showing checkbox in list

Я хотел бы получить списокэлектронные письма от пользователей, которые проверяет пользователь.На данный момент я даже не могу получить доступ к статусу одного флажка.Это текущий фрагмент кода, который я пытался добавить к кнопке:

console.log(widget.parent.parent.parent.children.Panel1.children.Table3Panel.children.Table3.children.Table3Body.children.Table3Row.children.UserSelectionCheckbox.value);

Я получаю сообщение об ошибке:

Cannot read property 'children' of undefined at Home.Panel1.OuSelectPanel1.Button6.onClick:1:133

Я былв состоянии использовать автозаполнение, чтобы написать весь этот оператор, почему он не может найти дочерний объект?Есть ли способ ссылаться на этот список напрямую, не спускаясь по дереву из виджета или корня приложения?

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Для этого типа функций автозаполнение (intellisense) не будет работать для вас. Вам нужно по-разному обращаться к дочерним элементам, когда вы пытаетесь получить набор строк из таблицы. Я бы предложил код, похожий на этот, для события кнопки onClick:

var rows = widget.root.descendants.Table3Body.children._values;
var emails = [];
for (var i in rows) {
  var value = rows[i].children.Checkbox1.value;  
  if (value) {
    emails.push(rows[i].datasource.item.Email);
  }
}
console.log(emails);

Опять же, функция автозаполнения кода просто не будет работать после того, как вы выберете _values, который вернет всех непосредственных потомков вашего тела таблицы, что вам и нужно.

0 голосов
/ 28 января 2019

на основе 1: 133, кажется, говорится, что у Table3Row нет детей. Интересно, может ли использование widget.root.descendants.Table3Row быть другим способом обращения к конкретной таблице.

...