boolean-data.vue 1005 字节
Newer Older
Y
yurj26 已提交
1
<script lang="uts">
2
  export default {
3
    emits: ['change'],
4 5 6 7 8
    props: {
      title: {
        type: String,
        default: ''
      },
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
9 10 11 12
      disabled: {
        type: Boolean,
        default: false
      },
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
      defaultValue: {
        type: Boolean,
        default: false
      }
    },
    data() {
      return {
        _checked: false
      }
    },
    created() {
      this._checked = this.defaultValue
    },
    methods: {
      // @ts-ignore
H
hdx 已提交
28
      _change(e : UniSwitchChangeEvent) {
29 30 31 32 33
        this._checked = e.detail.value;
        this.$emit('change', this._checked)
      }
    }
  }
34 35 36
</script>

<template>
37 38
  <view class="button-data-main uni-flex">
    <view class="uni-title" style="width:80%">{{ title }}</view>
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
39
    <switch :checked="_checked" :disabled="disabled" @change="_change" />
40
  </view>
41 42
</template>

43
<style>
44 45 46 47
  .button-data-main {
    justify-content: space-between;
    padding: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
H
hdx 已提交
48
    align-items: center;
49 50
  }
</style>