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> |