123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- <template>
- <view>
- <cu-custom bgColor="bg-gradual-blue" :isBack="true"><block slot="backText">返回</block><block slot="content"> 按钮 / 设计</block></cu-custom>
- <view class="padding-xl">
- <view class="box bg-white text-center radius">
- <button class="cu-btn" :class="[border?bordersize?'lines-' + color:'line-' + color:'bg-'+ color,round?'round':'',size,shadow?'shadow':'']">我是一个按钮</button>
- </view>
- <view class="padding text-center">
- class="cu-btn <text v-if="color">{{' '}} {{border?bordersize?'lines-' + color:'line-' + color:'bg-'+ color}} {{round?'round':''}} {{size}} {{shadow?'shadow':''}}</text>"
- </view>
- </view>
- <view class="cu-form-group margin-top" @tap="showModal" data-target="ColorModal">
- <view class="title">选择颜色</view>
- <view class="padding solid radius shadow-blur" :class="'bg-'+color"></view>
- </view>
- <view class="cu-form-group">
- <view class="title">是否圆角</view>
- <switch @change="SetRound" class="blue" :class="round?'checked':''"></switch>
- </view>
- <view class="cu-form-group">
- <view class="title">选择尺寸</view>
- <radio-group @change="SetSize">
- <label class="margin-left-sm">
- <radio class="blue radio" value="sm"></radio>
- <text class="margin-left-sm"> 小</text>
- </label>
- <label class="margin-left-sm">
- <radio class="blue radio" value="" checked></radio>
- <text class="margin-left-sm"> 中</text>
- </label>
- <label class="margin-left-sm">
- <radio class="blue radio" value="lg"></radio>
- <text class="margin-left-sm"> 大</text>
- </label>
- </radio-group>
- </view>
- <view class="cu-form-group">
- <view class="title">是否添加阴影</view>
- <switch @change="SetShadow" :class="shadow?'checked':''"></switch>
- </view>
- <view class="cu-form-group">
- <view class="title">是否镂空</view>
- <switch @change="SetBorder" :class="border?'checked':''"></switch>
- </view>
- <view class="cu-form-group" v-if="border">
- <view class="title">边框大小</view>
- <radio-group @change="SetBorderSize">
- <label class="margin-left-sm">
- <radio class="blue radio" value="" checked></radio>
- <text class="margin-left-sm"> 小</text>
- </label>
- <label class="margin-left-sm">
- <radio class="blue radio" value="s"></radio>
- <text class="margin-left-sm"> 大</text>
- </label>
- </radio-group>
- </view>
- <view class="cu-modal" :class="modalName=='ColorModal'?'show':''">
- <view class="cu-dialog">
- <view class="cu-bar justify-end solid-bottom">
- <view class="content">选择颜色</view>
- <view class="action" @tap="hideModal">
- <text class="cuIcon-close text-red"></text>
- </view>
- </view>
- <view class="grid col-5 padding">
- <view class="padding-xs" v-for="(item,index) in ColorList" :key="index" @tap="SetColor" :data-color="item.name" v-if="item.name!='white'">
- <view class="padding-tb radius" :class="'bg-' + item.name"> {{item.title}} </view>
- </view>
- </view>
- </view>
- </view>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- ColorList: this.ColorList,
- modalName: '',
- round: false,
- size: '',
- color: 'red',
- shadow: false,
- border: false,
- bordersize: ''
- };
- },
- methods: {
- showModal(e) {
- this.modalName = e.currentTarget.dataset.target
- },
- hideModal(e) {
- this.modalName = null
- },
- SetRound(e) {
- this.round = e.detail.value
- },
- SetSize(e) {
- this.size = e.detail.value
- },
- SetColor(e) {
- this.color = e.currentTarget.dataset.color;
- this.modalName = null
- },
- SetShadow(e) {
- this.shadow = e.detail.value
- },
- SetBorder(e) {
- this.border = e.detail.value
- if (!e.detail.value) {
- this.bordersize = false
- }
- },
- SetBorderSize(e) {
- this.bordersize = e.detail.value
- }
- }
- }
- </script>
- <style>
- .box {
- display: flex;
- align-items: center;
- justify-content: center;
- height: 100px;
- }
- </style>
|