1.背景:在公司開發需求中有一個選擇顏色的單選框(黑色,白色),每種顏色選擇后均支持取消選中,可是el-radio標簽不支持取消選中。
2.解決:
方法1:?
<el-radio-group v-model="radioColor"><el-radio :label="'black'" @click.native.prevent="clickitemdataType('black')">黑色</el-radio><el-radio :label="'white'" @click.native.prevent="clickitemdataType('white')">白色</el-radio>
</el-radio-group>clickitemdataType (e) { // e為radio的label值e === this.radioColor ? this.radioColor = '' : this.radioColor = e},
方法2:換checkbox,設置max=1即可
<el-checkbox-group v-model="checkList" :max="1"><el-checkbox label="A"></el-checkbox><el-checkbox label="B"></el-checkbox>
</el-checkbox-group>data () {return {checkList: ['A']}
}
但是用第一個方法會導致樣式錯亂,需要在css中加入
/deep/ .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner {
box-shadow: 0 0 2px 2px #fff !important;
}
這樣就會好了!