直接使用Element 复选框,效果如下:
最终需要修改成的效果如下:
注意,选中状态、非选中状态时调整了背景色、边框色、可勾选小方框的颜色
复选框HTML代码:
<div class="body-content-checkbox-wrapper">
<el-checkbox-group v-model="formData.settlementSubType">
<!-- 第一个元素的disabled属性设置为了true -->
<el-checkbox label="01" disabled>采购订单</el-checkbox>
<el-checkbox label="02">反算单</el-checkbox>
<el-checkbox label="03">管输单</el-checkbox>
<el-checkbox label="04">其他费用单</el-checkbox>
<el-checkbox label="05">偏差结算单</el-checkbox>
</el-checkbox-group>
</div>
通过修改CSS实现最终效果:
.body-content-checkbox-wrapper {
/* 未选中时的样式 */
/deep/ .el-checkbox {
background: #fff;
padding: 10px 10px;
line-height: 100%;
border-radius: 4px;
margin-right: 10px;
}
/* 选中状态时的样式 */
/deep/ .el-checkbox.is-checked {
background: #EDF6F2;
border: 1px solid #47A87D;
padding: 10px 10px;
border-radius: 4px;
}
/* 选中状态、同时设置了disabled为true的复选框的样式(HTML代码中第一个checkbox的disabled设置为了true */
/deep/ .el-checkbox.is-disabled.is-checked {
padding: 10px 10px;
border-radius: 4px;
}
/* 选中状态、且disabled设置为true的checkbox的文本的样式 */
/deep/.el-checkbox__input.is-disabled+span.el-checkbox__label {
color: #47a87d;
cursor: not-allowed;
}
/* 选中状态、disabled设置为true的复选框,设置其可勾选方框的样式 */
/deep/.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
background-color: #47a87d;
border-color: #47a87d;
}
}