jsy-app/uni_modules/uview-plus/components/u-toolbar/u-toolbar.vue

105 lines
2.1 KiB
Vue
Raw Normal View History

2024-09-18 10:30:10 +08:00
<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';
import mpMixin from '../../libs/mixin/mpMixin.js';
import mixin from '../../libs/mixin/mixin.js';
/**
* Toolbar 工具条
* @description
* @tutorial https://ijry.github.io/uview-plus/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: [mpMixin, 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>