mirror of https://github.com/layui/layui
feat(code): 支持获取复制状态,阻止默认提示 (#2419)
* feat(code): 新增 onCopy(code, copied) 函数签名 * update codepull/2428/head^2
parent
34d00e9c40
commit
e1aef65c4f
|
@ -384,9 +384,13 @@ done: function(obj){
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
```
|
```
|
||||||
onCopy: function(code){
|
onCopy: function(code, copied){
|
||||||
console.log(code); // 得到当前 code 内容
|
console.log(code); // 得到当前 code 内容
|
||||||
|
console.log(copied); // 是否复制成功(2.9.21+)
|
||||||
|
|
||||||
|
return false; // 返回 false 阻止内置提示(2.9.21+)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
|
|
|
@ -203,19 +203,27 @@ layui.define(['lay', 'util', 'element', 'form'], function(exports){
|
||||||
title: ['复制代码'],
|
title: ['复制代码'],
|
||||||
event: function(obj){
|
event: function(obj){
|
||||||
var code = util.unescape(finalCode(options.code));
|
var code = util.unescape(finalCode(options.code));
|
||||||
|
var hasOnCopy = typeof options.onCopy === 'function';
|
||||||
|
|
||||||
// 写入剪切板
|
// 写入剪切板
|
||||||
lay.clipboard.writeText({
|
lay.clipboard.writeText({
|
||||||
text: code,
|
text: code,
|
||||||
done: function() {
|
done: function() {
|
||||||
|
if(hasOnCopy){
|
||||||
|
var ret = options.onCopy(code, true);
|
||||||
|
if(ret === false) return;
|
||||||
|
}
|
||||||
|
|
||||||
layer.msg('已复制', {icon: 1});
|
layer.msg('已复制', {icon: 1});
|
||||||
},
|
},
|
||||||
error: function() {
|
error: function() {
|
||||||
|
if(hasOnCopy){
|
||||||
|
var ret = options.onCopy(code, false);
|
||||||
|
if(ret === false) return;
|
||||||
|
}
|
||||||
layer.msg('复制失败', {icon: 2});
|
layer.msg('复制失败', {icon: 2});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
typeof options.onCopy === 'function' && options.onCopy(code);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue