u-toolbar.vue 2.01 KB
   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
<template>
<view
class="u-toolbar"
@touchmove.stop.prevent="noop"
v-if="show"
>
<view
class="u-toolbar__cancel__wrapper"
hover-class="u-hover-class"
>
<text
class="u-toolbar__wrapper__cancel"
@tap="cancel"
:style="{
color: cancelColor
}"
>{{ cancelText }}</text>
</view>
<text
class="u-toolbar__title u-line-1"
v-if="title"
>{{ title }}</text>
<view
class="u-toolbar__confirm__wrapper"
hover-class="u-hover-class"
>
<text
class="u-toolbar__wrapper__confirm"
@tap="confirm"
:style="{
color: confirmColor
}"
>{{ confirmText }}</text>
</view>
</view>
</template>

<script>
import props from './props.js';
/**
* Toolbar 工具条
* @description
* @tutorial https://www.uviewui.com/components/toolbar.html
* @property {Boolean} show 是否展示工具条(默认 true )
* @property {String} cancelText 取消按钮的文字(默认 '取消' )
* @property {String} confirmText 确认按钮的文字(默认 '确认' )
* @property {String} cancelColor 取消按钮的颜色(默认 '#909193' )
* @property {String} confirmColor 确认按钮的颜色(默认 '#3c9cff' )
* @property {String} title 标题文字
* @event {Function}
* @example
*/
export default {
name: 'u-toolbar',
mixins: [uni.$u.mpMixin, uni.$u.mixin,props],
methods: {
// 点击取消按钮
cancel() {
this.$emit('cancel')
},
// 点击确定按钮
confirm() {
this.$emit('confirm')
}
},
}
</script>

<style lang="scss" scoped>
@import "../../libs/css/components.scss";

.u-toolbar {
height: 42px;
@include flex;
justify-content: space-between;
align-items: center;

&__wrapper {
&__cancel {
color: $u-tips-color;
font-size: 15px;
padding: 0 15px;
}
}

&__title {
color: $u-main-color;
padding: 0 60rpx;
font-size: 16px;
flex: 1;
text-align: center;
}

&__wrapper {
&__confirm {
color: $u-primary;
font-size: 15px;
padding: 0 15px;
}
}
}
</style>