В Google App Maker виджет TextArea - это объект, состоящий из двух элементов HTML; Метка и вход . Когда вы выполните эту строку:
var copyCo = app.pages.NewPage.children.Panel2.children.tao;
Вы фактически выбираете объект appmaker, а не элемент HTML, содержащий текст; Поэтому, когда эта строка кода выполняется:
copyCo.focus();
Вы не фокусируете текст, который хотите скопировать, и в результате document.execCommand("copy");
не работает.
Чтобы достичь того, что вам нужно, выполните следующие действия:
Сначала на тестовой странице вставьте виджет TextArea , а под ним - виджет Button .
Это должно выглядеть примерно так:
![enter image description here](https://i.stack.imgur.com/5lG6o.png)
Затем добавьте следующий код в обработчик события onClick кнопки:
var textField = widget.parent.descendants.TextArea1.getElement().children[1];
textField.select();
document.execCommand('copy');
window.getSelection().removeAllRanges();
Обратите внимание:
В строке var textField = widget.parent.descendants.TextArea1.getElement().children[1];
деталь widget.parent.descendants.TextArea1
представляет путь к виджету TextArea, поэтому в зависимости от того, как вы это делаете, он может отличаться для вас.
Это должно быть все. Предварительный просмотр вашего приложения и текст должен быть скопирован в буфер обмена. Надеюсь, это поможет!