初始化

This commit is contained in:
2024-12-06 16:18:22 +08:00
commit 884dd70d83
751 changed files with 60883 additions and 0 deletions
@@ -0,0 +1,64 @@
Component({
/**
* 组件的属性列表
*/
properties: {
space: {
type: String,
value: ''
},
decode: {
type: Boolean,
value: false
},
placement: {
type: String,
value: 'top'
},
showCopyBtn: {
type: Boolean,
value: false
},
value: {
type: String,
value: ''
}
},
observers: {
onDocumentTap() {
this.setData({
showToolTip: false
})
}
},
/**
* 组件的初始数据
*/
data: {
showToolTip: false
},
/**
* 组件的方法列表
*/
methods: {
handleLongPress() {
if (!this.data.showCopyBtn) return
this.setData({
showToolTip: true,
})
},
handleCopy() {
this.setData({
showToolTip: false
})
wx.setClipboardData({
data: this.data.value,
})
this.triggerEvent('copy', {})
},
stopPropagation: function stopPropagation(e) {}
}
})
@@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}
@@ -0,0 +1,22 @@
<wxs src="./select-text.wxs" module="computed" />
<view
class="weui-select-text"
style="{{computed.containerStyle({showToolTip, showCopyBtn, activeBgColor})}}"
catch:tap="stopPropagation"
>
<text
selectable="{{!showCopyBtn}}"
space="{{space}}"
decode="{{decode}}"
catch:longpress="handleLongPress"
>{{value}}</text>
<view
wx:if="{{showToolTip}}"
class="weui-tooltip weui-tooltip__{{placement}}"
style="z-index: {{zIndex}};"
catch:tap="handleCopy"
>
复制
</view>
</view>
@@ -0,0 +1,10 @@
function containerStyle(data) {
if (data.showToolTip && data.showCopyBtn) {
return 'background-color: ' + data.activeBgColor
}
return ''
}
module.exports = {
containerStyle: containerStyle,
}
@@ -0,0 +1,91 @@
.weui-select-text {
display: inline;
position: relative
}
.weui-tooltip {
box-sizing: border-box;
width: 60px;
background-color: #000000;
color: #ffffff;
text-align: center;
padding: 5px 0;
border-radius: 6px;
position: absolute;
font-size: 14px
}
.weui-tooltip__top {
left: 50%;
top: 0;
transform: translate(-50%, -100%);
margin-top: -10px
}
.weui-tooltip__top::after {
content: " ";
position: absolute;
top: 100%;
left: 50%;
transform: translate(-50%, 0);
border-width: 5px;
border-style: solid;
border-color: black transparent transparent transparent
}
.weui-tooltip__bottom {
left: 50%;
top: 100%;
transform: translate(-50%, 0);
margin-top: 10px
}
.weui-tooltip__bottom::after {
content: " ";
position: absolute;
top: 0;
left: 50%;
transform: translate(-50%, -100%);
border-width: 5px;
border-style: solid;
border-color: transparent transparent black transparent
}
.weui-tooltip__left {
left: 0;
top: 50%;
transform: translate(-100%, -50%);
margin-left: -10px
}
.weui-tooltip__left::after {
content: " ";
position: absolute;
top: 50%;
left: 100%;
transform: translate(0, -50%);
border-width: 5px;
border-style: solid;
border-color: transparent transparent transparent black
}
.weui-tooltip__right {
left: 100%;
top: 50%;
transform: translate(0, -50%);
margin-left: 10px
}
.weui-tooltip__right::after {
content: " ";
position: absolute;
top: 50%;
left: 0;
transform: translate(-100%, -50%);
border-width: 5px;
border-style: solid;
border-color: transparent black transparent transparent
}
textarea {
height: 16px;
}