块级按钮

    1.suit-button {
    2    &.is-block{
    3        display: block;
    4        width: 100%;
    5        margin-left: 0;
    6    }
    7}
    1<script lang="ts" setup>
    2import { useNamespace } from "@suit-ui/hooks";
    3defineOptions({
    4  name: "SuitButton",
    5});
    6const ns = useNamespace("button");
    7
    8const props = defineProps({
    9  type: {
    10    type: String,
    11    default: "default",
    12  },
    13  round: {
    14    type: Boolean,
    15    default: false,
    16  },
    17  disabled: {
    18    type: Boolean,
    19    default: false,
    20  },
    21  text: {
    22    type: Boolean,
    23    default: false,
    24  },
    25  link: {
    26    type: Boolean,
    27    default: false,
    28  },
    29  border: {
    30    type: Boolean,
    31    default: false,
    32  },
    33  dashed: {
    34    type: Boolean,
    35    default: false,
    36  },
    37  block: {
    38    type: Boolean,
    39    default: false,
    40  },
    41});
    42</script>
    43
    44<template>
    45  <button
    46    :class="[
    47      ns.b(),
    48      ns.m(type),
    49      ns.is('round', round),
    50      ns.is('disabled', disabled),
    51      ns.is('text', text),
    52      ns.is('link', link),
    53      ns.is('border', border),
    54      ns.is('dashed', dashed),
    55      ns.is('block', block),
    56    ]"
    57  >
    58    <span>
    59      <slot v-if="$slots.default"></slot>
    60    </span>
    61  </button>
    62</template>
    1<template>
    2  <div>
    3    <suit-button>默认</suit-button>
    4    <suit-button type="primary" block>主要</suit-button>
    5    <suit-button type="success" disabled>成功</suit-button>
    6    <suit-button type="warning" link>警告</suit-button>
    7    <suit-button type="error" text>错误</suit-button>
    8  </div>
    9</template>

    :::