| New file | 
|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <view class="uni-popup-message"> | 
|---|
|  |  |  | <view class="uni-popup-message__box fixforpc-width" :class="'uni-popup__'+type"> | 
|---|
|  |  |  | <slot> | 
|---|
|  |  |  | <text class="uni-popup-message-text" :class="'uni-popup__'+type+'-text'">{{message}}</text> | 
|---|
|  |  |  | </slot> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import popup from '../uni-popup/popup.js' | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * PopUp 弹出层-消息提示 | 
|---|
|  |  |  | * @description 弹出层-消息提示 | 
|---|
|  |  |  | * @tutorial https://ext.dcloud.net.cn/plugin?id=329 | 
|---|
|  |  |  | * @property {String} type = [success|warning|info|error] 主题样式 | 
|---|
|  |  |  | *  @value success 成功 | 
|---|
|  |  |  | *    @value warning 提示 | 
|---|
|  |  |  | *    @value info 消息 | 
|---|
|  |  |  | *    @value error 错误 | 
|---|
|  |  |  | * @property {String} message 消息提示文字 | 
|---|
|  |  |  | * @property {String} duration 显示时间,设置为 0 则不会自动关闭 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: 'uniPopupMessage', | 
|---|
|  |  |  | mixins:[popup], | 
|---|
|  |  |  | props: { | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 主题 success/warning/info/error     默认 success | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | type: { | 
|---|
|  |  |  | type: String, | 
|---|
|  |  |  | default: 'success' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 消息文字 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | message: { | 
|---|
|  |  |  | type: String, | 
|---|
|  |  |  | default: '' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 显示时间,设置为 0 则不会自动关闭 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | duration: { | 
|---|
|  |  |  | type: Number, | 
|---|
|  |  |  | default: 3000 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | maskShow:{ | 
|---|
|  |  |  | type:Boolean, | 
|---|
|  |  |  | default:false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return {} | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | this.popup.maskShow = this.maskShow | 
|---|
|  |  |  | this.popup.messageChild = this | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | timerClose(){ | 
|---|
|  |  |  | if(this.duration === 0) return | 
|---|
|  |  |  | clearTimeout(this.timer) | 
|---|
|  |  |  | this.timer = setTimeout(()=>{ | 
|---|
|  |  |  | this.popup.close() | 
|---|
|  |  |  | },this.duration) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <style lang="scss" > | 
|---|
|  |  |  | .uni-popup-message { | 
|---|
|  |  |  | /* #ifndef APP-NVUE */ | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | /* #endif */ | 
|---|
|  |  |  | flex-direction: row; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .uni-popup-message__box { | 
|---|
|  |  |  | background-color: #e1f3d8; | 
|---|
|  |  |  | padding: 10px 15px; | 
|---|
|  |  |  | border-color: #eee; | 
|---|
|  |  |  | border-style: solid; | 
|---|
|  |  |  | border-width: 1px; | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @media screen and (min-width: 500px) { | 
|---|
|  |  |  | .fixforpc-width { | 
|---|
|  |  |  | margin-top: 20px; | 
|---|
|  |  |  | border-radius: 4px; | 
|---|
|  |  |  | flex: none; | 
|---|
|  |  |  | min-width: 380px; | 
|---|
|  |  |  | /* #ifndef APP-NVUE */ | 
|---|
|  |  |  | max-width: 50%; | 
|---|
|  |  |  | /* #endif */ | 
|---|
|  |  |  | /* #ifdef APP-NVUE */ | 
|---|
|  |  |  | max-width: 500px; | 
|---|
|  |  |  | /* #endif */ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .uni-popup-message-text { | 
|---|
|  |  |  | font-size: 14px; | 
|---|
|  |  |  | padding: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .uni-popup__success { | 
|---|
|  |  |  | background-color: #e1f3d8; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .uni-popup__success-text { | 
|---|
|  |  |  | color: #67C23A; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .uni-popup__warn { | 
|---|
|  |  |  | background-color: #faecd8; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .uni-popup__warn-text { | 
|---|
|  |  |  | color: #E6A23C; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .uni-popup__error { | 
|---|
|  |  |  | background-color: #fde2e2; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .uni-popup__error-text { | 
|---|
|  |  |  | color: #F56C6C; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .uni-popup__info { | 
|---|
|  |  |  | background-color: #F2F6FC; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .uni-popup__info-text { | 
|---|
|  |  |  | color: #909399; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|