【山东大学创新实训】VCRS-前端设计与开发(3)

已经对一些基本的按钮,下拉框,文本等组件做了基本的改进和自定义,在基础的实现上添加了一些功能和美化,接下来继续完成剩余组件的改进。

card组件的改进

首先对vuetify组件中的v-card组件进行改进,主要从以下几个方面进行。

  • 自定义类型样式
  • 添加图像插槽
  • 增加一个卡片头部的插槽
  • 增加卡片主体和页脚插槽

自定义类型样式

:class="[type && `card-${type}`]"

这个类绑定允许根据type属性的值动态添加不同的类名,例如card-primarycard-secondary等,从而实现不同类型卡片的样式自定义。

添加图像插槽

<div class="card-image" v-if="$slots.image">
  <slot name="image"></slot>
</div>
<div class="card-image" v-if="$slots['image-bottom']">
  <slot name="image-bottom"></slot>
</div>

添加了两个图像插槽,分别在卡片顶部和底部插入图像。这使得开发者可以灵活地在卡片的不同位置插入图像内容。 

添加一个卡片头部的插槽

<div class="card-header" :class="isRTL ? 'text-right' : 'text-left'" v-if="$slots.header || title">
  <slot name="header">
    <h5 class="card-category" v-if="subTitle">{{ subTitle }}</h5>
    <h2 class="card-title">
      <i v-if="icon" class="tim-icons" :class="icon"></i>{{ title }}
    </h2>
  </slot>
</div>

提供了一个灵活的卡片头部插槽,可以通过具名插槽来自定义卡片头部的内容。同时,内置支持title和subTitle属性,并可选地在标题前添加一个图标。

增加卡片主体和页脚插槽

<div class="card-body" v-if="$slots.default">
  <slot></slot>
</div>
<div class="card-footer text-left" v-if="$slots.footer">
  <slot name="footer"></slot>
</div>

保持了卡片主体和页脚插槽,使得开发者可以分别定义卡片的主体和页脚内容。

自定义输入组件

对input组件进行以下改进

  • 输入组样式
  • 标签插槽
  • 左侧添加组件插槽
  • 右侧添加组件插槽
  • 帮助文本插槽

输入组样式

:class="{
  'input-group': hasIcon,
  'input-group-focus': focused,
}"

使用动态类绑定,根据是否有图标和是否聚焦,添加相应的类input-groupinput-group-focus。这样可以动态地改变组件的样式。

标签插槽

<slot name="label">
  <label v-if="label" class="control-label">
    {{ label }}
  </label>
</slot>

提供一个具名插槽label,允许自定义标签内容。如果没有插槽内容且有label属性,则使用默认的label标签。

左侧添加组件插槽

<slot name="addonLeft">
  <span v-if="addonLeftIcon" class="input-group-prepend">
    <div class="input-group-text">
      <i :class="addonLeftIcon"></i>
    </div>
  </span>
</slot>

提供一个具名插槽addonLeft,允许在输入框左侧添加附加组件。如果没有插槽内容且有addonLeftIcon属性,则使用默认的图标附加组件。

右侧添加组件插槽

<slot name="addonRight">
  <span v-if="addonRightIcon" class="input-group-append">
    <div class="input-group-text">
      <i :class="addonRightIcon"></i>
    </div>
  </span>
</slot>

提供一个具名插槽addonRight,允许在输入框右侧添加附加组件。如果没有插槽内容且有addonRightIcon属性,则使用默认的图标附加组件。

帮助文本插槽

<slot name="helperText"></slot>

提供一个具名插槽helperText,允许在输入框下方添加帮助文本。 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值