checker.vue 2.6 KB
Newer Older
C
christlala 已提交
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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
<template>
  <cube-page type="checker-view" title="Checker">
    <template slot="content">
      <p>default usage</p>
      <br>
      <cube-checker
        v-model="checkboxCheckerList"
        :options="checkboxOptions" />
      <br>
      <p>checker value : {{checkboxCheckerList}}</p>
      <br><br>

      <p>type: radio</p>
      <br>
      <cube-checker
        v-model="checkerValue"
        :options="radioOptions"
        type="radio" />
      <br>
      <p>checker value : {{checkerValue}}</p>
      <br><br>

      <p>use slot</p>
      <br>
      <cube-checker
        v-model="checkerValue"
        :options="radioOptions"
        type="radio">
        <cube-checker-item
          v-for="item in radioOptions"
          :key="item.value"
          :option="item">
          <span class="orange"><i class="cubeic-alert"></i>{{item.text}}</span>
        </cube-checker-item>
      </cube-checker>
      <br>
      <p>checker value : {{checkerValue}}</p>
      <br><br>

      <p>set min and max</p>
      <br>
      <cube-checker
        v-model="defaultCheckerList"
        :options="checkboxOptions"
        :min="1"
        :max="2"/>
      <br>
      <p>checker value : {{defaultCheckerList}}  (min: 1 max: 2)</p>
      <br><br>


    </template>
  </cube-page>
</template>

<script type="text/ecmascript-6">
  import CubePage from '../components/cube-page.vue'

  export default {
    data() {
      return {
        checkerValue: '',
        radioOptions: [
          {
            value: 0,
            text: 'AAAAA'
          },
          {
            value: 1,
            text: 'BBBBB'
          }
        ],
        checkboxCheckerList: [],
        checkboxOptions: [
          {
            value: 1,
            text: 'red'
          },
          {
            value: 2,
            text: 'yellow'
          },
          {
            value: 3,
            text: 'blue'
          },
          {
            value: 4,
            text: 'green'
          }
        ],
        defaultCheckerList: [3]
      }
    },
    components: {
      CubePage
    },
    methods: {
      radioClick(value) {
        console.log(value)
        this.radioCheckerList = [value]
      }
    }
  }
</script>

<style lang="stylus" rel="stylesheet/stylus">
  .checker-group-view
    .content
      >
        *
          margin: 10px 0
  .checker-item
    display: inline-block
    vertical-align: top
    text-align: center
    padding: 8px 10px
    margin-right: 10px
    color: #fff
    border-radius: 4px
    position: relative
    background: #fc9153
    &:active
      background: #e8864c
  .orange
    font-weight: 700
    color: #ff8000
</style>