|
|
@ -4,12 +4,17 @@ |
|
|
|
<text class="uni-dialog-title-text" :class="['uni-popup__'+dialogType]">{{titleText}}</text> |
|
|
|
</view> |
|
|
|
<view v-if="mode === 'base'" class="uni-dialog-content"> |
|
|
|
<slot> |
|
|
|
<text class="uni-dialog-content-text">{{content}}</text> |
|
|
|
</slot> |
|
|
|
</view> |
|
|
|
<view v-if="mode === 'more'" class="uni-dialog-content"> |
|
|
|
<slot> |
|
|
|
<textarea class="uni-dialog-content-text" :value="content" :auto-height="false" |
|
|
|
:maxlength="10000"></textarea> |
|
|
|
:style="{'height':contentHeight}" :maxlength="10000"></textarea> |
|
|
|
</slot> |
|
|
|
</view> |
|
|
|
<view v-else class="uni-dialog-content"> |
|
|
|
<view v-if="mode === 'input'" class="uni-dialog-content"> |
|
|
|
<slot> |
|
|
|
<input class="uni-dialog-input" v-model="val" :type="inputType" :placeholder="placeholderText" |
|
|
|
:focus="focus"> |
|
|
@ -117,7 +122,8 @@ |
|
|
|
return { |
|
|
|
dialogType: 'warn', |
|
|
|
focus: false, |
|
|
|
val: "" |
|
|
|
val: "", |
|
|
|
contentHeight: '135px' |
|
|
|
} |
|
|
|
}, |
|
|
|
computed: { |
|
|
@ -146,6 +152,9 @@ |
|
|
|
}, |
|
|
|
value(val) { |
|
|
|
this.val = val |
|
|
|
}, |
|
|
|
content() { |
|
|
|
this.getHeight() |
|
|
|
} |
|
|
|
}, |
|
|
|
created() { |
|
|
@ -185,6 +194,42 @@ |
|
|
|
}, |
|
|
|
close() { |
|
|
|
this.popup.close() |
|
|
|
}, |
|
|
|
getHeight() { |
|
|
|
|
|
|
|
|
|
|
|
let height = '135px' |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
if (this.mode != 'more') { |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
const count = (this.content.match(/\n/g) || []).length; |
|
|
|
// 粗略高度 |
|
|
|
let temp = this.content.replaceAll("\n", ""); |
|
|
|
|
|
|
|
let col = temp.length / 18 + 1 |
|
|
|
let totalHeight = (col + count) * 15 |
|
|
|
// 568 |
|
|
|
let height2 = getApp().globalData.navInfo.window.height |
|
|
|
|
|
|
|
let maxHeight = (height2 - 170) / 3 |
|
|
|
|
|
|
|
if (totalHeight > maxHeight) { |
|
|
|
height = maxHeight + 'px' |
|
|
|
} else { |
|
|
|
height = totalHeight + 'px' |
|
|
|
} |
|
|
|
|
|
|
|
} catch (e) { |
|
|
|
//TODO handle the exception |
|
|
|
} |
|
|
|
|
|
|
|
this.contentHeight = height |
|
|
|
|
|
|
|
console.log("======", this.contentHeight); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|