封装组件之--抽屉功能内的单选功能
<template>
<div class="drawColumn row-start">
<el-form-item :label="label" class="row-start drawRadio">
<div class="row-start statusArea">
<!-- 启用按钮 -->
<div :class="isyesActive" @click="changeStatus(1)">启用</div>
<!-- 禁用按钮 -->
<div :class="isnoActive" @click="changeStatus(0)">禁用</div>
</div>
</el-form-item>
</div>
</template>
<script>
export default {
data() {
return {
status: "",
isnoActive: "radio no ml33",
isyesActive: "radio yse"
};
},
props: {
label: {
type: String,
default: "加载中..."
},
value: {
default: 1
}
},
methods: {
changeStatus(status) {
this.changeClass(status);
this.status = status;
},
sendStatus() {
this.$emit("sendStatus", this.status);
},
changeClass(status) {
if (status == 0) {
this.isnoActive = "radio no ml33 noActive";
this.isyesActive = "radio yes";
} else {
this.isnoActive = "radio no ml33";
this.isyesActive = "radio yes yesActive";
}
}
},
watch: {
value(val) {
this.changeClass(val);
this.status = val;
}
},
created() {
this.changeClass(this.value);
this.status = this.value;
}
};
</script>
<style lang="scss" scoped>
.radio {
width: 1rem;
height: 0.4rem;
font-size: 0.24rem;
text-align: center;
line-height: 0.4rem;
cursor: pointer;
}
.yes {
color: #099a09;
border: 0.01rem solid #099a09;
&:hover {
color: #fff;
background: #099a09;
}
}
.no {
color: #ba0d0d;
border: 0.01rem solid #ba0d0d;
&:hover {
color: #fff;
background: #ba0d0d;
}
}
.yesActive {
color: #fff;
background: #099a09;
}
.noActive {
color: #fff;
background: #ba0d0d;
}
</style>