我正在创建 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(带有新记录页面)并且按钮更改为“已复制!” 但它不是选择和复制新的 URL。
有没有人有类似的问题或想法来解决这个问题?