效果图如下
template部分的代码
<template>
<div>
<el-radio-group v-model="activeName" size="mini">
<el-radio-button
v-for="(item, index) in activeNames"
:key="item.value"
:label="item.name"
@click.native="order(index, item.name)"
>
{{item.name}}
<i class="el-icon-arrow-down" v-if="item.order"></i>
<i class="el-icon-arrow-up" v-else></i>
</el-radio-button>
</el-radio-group>
</div>
</template>
script部分的代码
export default {
data() {
return {
activeName: "默认",
activeNames: [
{ name: "默认", order: true, value: 0, count: 0 },
{ name: "开始时间", order: true, value: 1, count: 0 },
{ name: "结束时间", order: true, value: 2, count: 0 },
{ name: "标签", order: true, value: 3, count: 0 }
]
};
},
methods: {
cli() {
console.log(111);
},
order(index, name) {
this.activeNames.forEach(item => {
if (item.name.includes(name)) {
item.count = item.count + 0.5;
if (item.count === 1) {
item.order = true;
} else if (item.count === 2) {
item.count = 0;
item.order = false;
}
} else {
item.count = 0;
}
});
}
}
};