【踩坑记录:<el-radio>单选按钮v-for里实现每个选择项单独提示】


项目场景:

写vue页面的时候,一般我们加提示直接在每个选项上使用<el-tooltip>来实现提示,但如果我们的单选用的是v-for循环的方式,怎么实现每个选项上提示呢,网上相关搜索基本无果,借此记录一下。


原始样例

tip会出现在整行的中间:

<div>
  <el-form>
    <el-form-item :label="$t('测试')">
      <el-tooltip
         placement="top"
         effect="dark"
         :content="$t('整行中间的的tip~~~~~~~~~~~~~~~~~~~')"
      >
        <el-radio-group v-model="radio">
          <el-radio :label="0">编辑</el-radio>
          <el-radio :label="1">展示</el-radio>
          <el-radio :label="2">禁用</el-radio>
        </el-radio-group>
      </el-tooltip>
    </el-form-item>
  </el-form>
</div>

样式:
在这里插入图片描述

tip出现在每个选项上:

<div>
  <el-form>
    <el-form-item :label="$t('测试')">
      <el-radio-group v-model="radio">
        <el-tooltip
          placement="top"
          effect="dark"
          :content="$t('编辑tip')"
        >
          <el-radio :label="0">编辑</el-radio>
        </el-tooltip>
        <el-tooltip
          placement="top"
          effect="dark"
          :content="$t('展示tip')"
        >
          <el-radio :label="1">展示</el-radio>
        </el-tooltip>
        <el-tooltip
          placement="top"
          effect="dark"
          :content="$t('禁用tip')"
        >
          <el-radio :label="2">禁用</el-radio>
        </el-tooltip>
      </el-radio-group>
    </el-form-item>
  </el-form>
</div>

样式:
在这里插入图片描述


v-for模式:

先上代码:vue

<div>
  <el-form>
    <el-form-item :label="$t('测试')">
      <el-radio-group v-model="radio">
        <el-radio
          v-for="(item, index) in radioSelectOptional"
          :key="index"
          :label="item.value"
        >
          <el-tooltip
            placement="top"
            effect="dark"
            :content="item.tip"
          >
            <span >{{ item.label }} </span>
          </el-tooltip>
        </el-radio>
      </el-radio-group>
    </el-form-item>
  </el-form>
</div>

js:

export const spaceTemplateSelectOptional = [
  {
    value: 0,
    label: i18n.t('编辑'),
    tip: '编辑:~~~~~~~'
  },
  {
    value: 1,
    label: i18n.t('展示'),
    tip: '展示:~~~~~~~'
  },
  {
    value: 2,
    label: i18n.t('禁用'),
    tip: '禁用:~~~~~~~'
  },
];

样式:
在这里插入图片描述


关键点

其中item.label的赋值问题
最终采用<span>,可显示。

说明

文中如有疑问欢迎讨论、指正(抱拳),互相学习,感谢关注。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值