radio.uvue 3.1 KB
Newer Older
Y
init  
yurj26 已提交
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
<template>
    <view>
        <page-head :title="title"></page-head>
        <view class="uni-padding-wrap">
            <view class="uni-title uni-common-mt">
                <text class="uni-title-text">
                    默认样式
                </text>
            </view>
            <view class="uni-flex uni-row">
                <radio value="r1" :checked="true" style="margin-right: 30rpx;">选中</radio>
                <radio value="r2">未选中</radio>
            </view>
        </view>
        <view class="uni-padding-wrap">
            <view class="uni-title uni-common-mt">
                <text class="uni-title-text">
                    不同颜色和尺寸的radio
                </text>
            </view>
            <view class="uni-flex uni-row">
                <radio value="r1" :checked="true" color="#FFCC33" style="transform:scale(0.7); margin-right: 30rpx;">选中
                </radio>
                <radio value="r2" color="#FFCC33" style="transform:scale(0.7)">未选中</radio>
            </view>
        </view>
        <view class="uni-padding-wrap">
            <view class="uni-title uni-common-mt">
                <text class="uni-title-text">
                    推荐展示样式
                </text>
            </view>
        </view>
        <view class="uni-list">
            <radio-group @change="radioChange">
                <view class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in items" :key="item.value">
                    <view>
                        <radio :value="item.value" :checked="index === current">{{item.name}}</radio>
                    </view>
                </view>
            </radio-group>
        </view>
    </view>
</template>
<script lang="ts">
    type ItemType = {
        value : string,
        name : string,
    }
    export default {
        data() {
            return {
                title: 'radio 单选框',
                items: [{
                    value: 'USA',
                    name: '美国'
                },
                {
                    value: 'CHN',
                    name: '中国'
                },
                {
                    value: 'BRA',
                    name: '巴西'
                },
                {
                    value: 'JPN',
                    name: '日本'
                },
                {
                    value: 'ENG',
                    name: '英国'
                },
                {
                    value: 'FRA',
                    name: '法国'
                },
                ] as ItemType[],
                current: 0
            }
        },
        methods: {
            radioChange(e : string) {
                for (let i = 0; i < this.items.length; i++) {
                    if (this.items[i].value === e) {
                        this.current = i;
                        break;
                    }
                }
            }
        }
    }
</script>

<style>
    .uni-list-cell {
        justify-content: flex-start
    }
</style>