Копировать в буфер обмена в компоненте Lightning - PullRequest
0 голосов
/ 25 июня 2018

Я создаю компонент Lightning, который отображает классическую версию страницы записи текущего URL-адреса с помощью кнопки, которая нажимает кнопку «копировать» в буфер обмена этого URL-адреса.

Простая функциональность, которая экономит время для пользователей Lightning, когда им необходимо отправить URL-адрес записи пользователям, не являющимся Lightning.

Cmp:

<lightning:button class="slds-align_right slds-button slds-button_neutral" iconName="utility:copy_to_clipboard" variant="border-filled" label="Copy" onclick="{! c.copyClassic }"/>
<textarea readonly="true" id="urlClassic">https://name.my.salesforce.com/{!v.recordId}</textarea>

Контроллер:

({
copyClassic : function(cmp, event){
  var urlClassic = document.getElementById('urlClassic');
  urlClassic.select();
    document.queryCommandSupported('copy');
    document.execCommand('copy');
    var source = event.getSource();
    source.set('v.label', 'COPIED!');
    setTimeout(function(){
        source.set('v.label', 'Copy');
    }, 2000);
} })

Он работает на первой скопированной странице, но если я открою в этом же окне новую запись, Textarea отобразит новый URL (с новой страницей записи) и кнопка изменится на «COPIED!»но это не выбор и копирование нового URL.

У кого-нибудь есть похожая проблема или идея для решения этой проблемы?

...