Skip to content

XtfTagGroupItem

组件说明

xtf-tag-group-itemxtf-tag-group 插槽模式的条目注册组件,可将任意卡片或图文内容纳入分组选中、删除和排序逻辑。它必须嵌套在 xtf-tag-group 中使用。


基础用法

1. 默认标签条目

vue
<template>
  <xtf-tag-group v-model="selected">
    <xtf-tag-group-item value="new" text="新品优先"
  /></xtf-tag-group>
</template>
<script>
export default {
  data() {
    return { selected: [] }
  }
}
</script>

2. 单项外观覆盖

vue
<template>
  <xtf-tag-group v-model="selected" closable>
    <xtf-tag-group-item
      value="sale"
      text="限时折扣"
      theme="danger"
      variant="soft"
      icon="local_offer"
  /></xtf-tag-group>
</template>
<script>
export default {
  data() {
    return { selected: ['sale'] }
  }
}
</script>

3. 自定义卡片插槽

插槽提供 itemstateselectedtoggleremove

vue
<template>
  <xtf-tag-group v-model="selected" closable>
    <xtf-tag-group-item value="express" text="极速配送">
      <template #default="p">
        <xtf-card @click="p.toggle">
          <xtf-text :text="p.selected ? '极速配送已启用' : '选择极速配送'" /><xtf-button
            size="xs"
            label="删除"
            @click.stop="p.remove" /></xtf-card></template>
</xtf-tag-group-item>
  </xtf-tag-group>
</template>
<script>
export default {
  data() {
    return { selected: [] }
  }
}
</script>

全部属性

属性类型默认值作用描述适用范围
valueString | Number | Booleanundefined条目业务值推荐设置
nameString | Number | Booleanundefinedvalue 的兼容值兼容数据
itemKeyString | Numberundefined条目唯一身份,空时使用值重复值场景
textString''默认标签文字非自定义插槽
labelString''text 的兼容显示字段兼容数据
themeString''标签主题覆盖组默认值
colorString''标签颜色自定义品牌色
variantString''标签变体覆盖组默认值
shapeString''标签形状覆盖组默认值
sizeString''标签尺寸覆盖组默认值
iconString''标签图标默认标签模式
disabledBooleanfalse禁用本项不可用条目
checkableBooleanundefined覆盖组的可选状态单项不可选
closableBooleanundefined覆盖组的可删除状态单项可删除
customClassString''包装节点类名自定义布局
customStyleString | Object''包装节点样式自定义布局

插槽

插槽名称作用域参数说明
默认插槽{ item, state, selected, toggle, remove }替换默认 xtf-tag,并通过作用域方法复用组内选择和删除逻辑。

事件

组件源码未定义 emits。点击、选择和删除会委托给所属 xtf-tag-group,请在组组件上监听 tag-clickchangedelete 等事件。


方法

1. toggle() — 切换当前条目选中状态

无参数,返回 void;通常直接使用插槽中的 toggle

vue
<template>
  <xtf-tag-group>
    <xtf-tag-group-item ref="item" value="a">
      <template #default="p"> <xtf-button label="切换" @click="p.toggle" /></template>
</xtf-tag-group-item>
  </xtf-tag-group>
</template>
<script>
export default {}
</script>

2. remove() — 删除当前条目

无参数,返回 void;仅在所属组允许删除时有效。

js
this.$refs.item.remove()

主题说明

  • 默认渲染继承 xtf-tag 的主题变量与 themevariantshapesize 属性。
  • 选中状态会添加 xtf-tag-group-item--selected 类名。
  • 通过插槽可完全自定义内容视觉,同时复用所属 xtf-tag-group 的交互状态。

MIT Licensed