实现效果

如图,我想实现二维码的图片可以根据不同状态进行disabled的切换,本来是用两个img实现的,但是img还需要设置图片不可点击,虽然css使用cursor:no-drop也能实现,后来突然想到button就默认支持disabled呀,我只用把这个二维码的图片设置为button的自定义图标,我就可以使用buttondisabled去控制是否可以点击了
在这里插入图片描述

代码实现

buttonicon属性自定义一个图标名称,这个自定义的图标名称会默认添加到buttoni标签的class上,我们只需要设置i标签的样式就可以了
在这里插入图片描述

     <el-button
       slot="reference"
       type="text"
       icon="el-icon-my-qr-code"
       :class="        //控制显示图标的颜色
         hasIncludeHttpText(row)
           ? 'qr-code-icon-default'
           : 'qr-code-icon-disabled'
       "
       :disabled="!hasIncludeHttpText(row)"   
     ></el-button>

设置样式需要注意加/deep/,因为这些样式不是在当前组件的,所以不加/deep/设置是没有用的,当然如果不加scoped就不用加/deep/

.qr-code-icon-default {
  /deep/ .el-icon-my-qr-code {
    background: url('~@home/assets/images/qr-code-icon.svg') no-repeat;
  }
}
.qr-code-icon-disabled {
  /deep/ .el-icon-my-qr-code {
    background: url('~@home/assets/images/disabled-qr-code-icon.svg') no-repeat;
  }
}
/deep/.el-icon-my-qr-code {
  font-size: 16px;
  background-size: cover;
}
/deep/ .el-icon-my-qr-code:before {
  content: '替';
  font-size: 16px;
  visibility: hidden;
}
GitHub 加速计划 / eleme / element
13
1
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:1 天前 )
c345bb45 1 年前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 1 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐