switch.uvue 2.4 KB
Newer Older
H
hdx 已提交
1
<template>
2 3
  <view>
    <view class="uni-padding-wrap uni-common-mt">
H
hdx 已提交
4
      <view class="uni-title">默认样式</view>
lizhongyi_'s avatar
lizhongyi_ 已提交
5
      <view class="flex-row">
H
hdx 已提交
6
        <switch class="switch-checked" :checked="checked" @change="switch1Change" />
H
hdx 已提交
7
        <switch @change="switch2Change" />
H
hdx 已提交
8 9 10 11 12
      </view>
      <view class="uni-title">暗黑样式</view>
      <view class="flex-row">
        <switch id="darkChecked" background-color="#1f1f1f" activeBackgroundColor="#007aff" foreColor="#f0f0f0" activeForeColor="#ffffff" :checked="checked" />
        <switch id="dark" background-color="#1f1f1f" activeBackgroundColor="#007aff" foreColor="#f0f0f0" activeForeColor="#ffffff" />
H
hdx 已提交
13
      </view>
H
hdx 已提交
14 15 16 17 18
      <view class="uni-title">禁用样式</view>
      <view class="flex-row">
        <switch class="switch-checked" :checked="checked" :disabled="true" />
        <switch :disabled="true" />
      </view>
H
hdx 已提交
19 20
      <view class="uni-title">不同颜色和尺寸的switch</view>
      <view class="flex-row">
H
hdx 已提交
21 22
        <switch class="switch-color-checked" :color="color" style="transform:scale(0.7)" :checked="true" />
        <switch class="switch-color" :color="color" style="transform:scale(0.7)" />
H
hdx 已提交
23 24 25 26
      </view>
      <view class="uni-title">推荐展示样式</view>
    </view>
    <view class="uni-list">
27
      <view class="uni-list-cell uni-list-cell-padding">
H
hdx 已提交
28 29 30
        <view class="uni-list-cell-db">开启中</view>
        <switch :checked="true" />
      </view>
31
      <view class="uni-list-cell uni-list-cell-padding">
H
hdx 已提交
32 33 34 35 36 37 38
        <view class="uni-list-cell-db">关闭</view>
        <switch />
      </view>
    </view>
  </view>
</template>

Y
yurj26 已提交
39
<script lang="uts">
H
hdx 已提交
40 41 42
  export default {
    data() {
      return {
H
hdx 已提交
43 44 45
        title: 'switch 开关',
        checked: true,
        color: '#FFCC33',
46 47
        clickCheckedValue: true,
        testVerifyEvent: false,
H
hdx 已提交
48 49 50
      }
    },
    methods: {
H
hdx 已提交
51
      switch1Change: function (e : UniSwitchChangeEvent) {
H
hdx 已提交
52
        this.clickCheckedValue = e.detail.value
H
hdx 已提交
53
        console.log('switch1 发生 change 事件,携带值为', e.detail.value)
54 55 56

        // 仅测试
        this.testVerifyEvent = (e.type == 'change' && (e.target?.tagName ?? '') == "SWITCH")
H
hdx 已提交
57
      },
H
hdx 已提交
58
      switch2Change: function (e : UniSwitchChangeEvent) {
H
hdx 已提交
59 60 61 62 63 64 65 66 67 68
        console.log('switch2 发生 change 事件,携带值为', e.detail.value)
      }
    }
  }
</script>

<style>
  .flex-row {
    flex-direction: row;
  }
69
</style>