Я создаю компонент 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.
У кого-нибудь есть похожая проблема или идея для решения этой проблемы?