<template>
<div style="width: 100%;">
<div v-for="(item, index) in list" :key="index" style="margin:0 0 20px 20px;">
<div>{{item.name}}</div>
<div>{{item.age}}</div>
<el-slider style="width: 80%" v-model="item.value" :marks="item.marks"
@input="getInfo(item.marks, item.value)" show-input>
</el-slider>
</div>
</div>
</template>
<script>
export default {
data() {
return {
list: [],
marks: {
0: '不及格',
60: '及格',
80: '良好',
90: '优秀',
}
}
},
mounted() {
this.cc()
},
methods: {
cc() {
this.list = [{
name: '张三',
age: 18,
value: 0,
}, {
name: '李四',
age: 19,
value: 60,
}, {
name: '王五',
age: 20,
value: 80,
}]
this.list.forEach((item, index) => {
this.$set(item, 'marks', JSON.parse(JSON.stringify(this.marks)))
})
},
getInfo(m, v) {
let d = {}
if (v >= 0 && v < 60) {
d = {
0: {
label: '不及格',
style: {
color: '#1989FA',
fontWeight: 'bold'
},
},
60: '及格',
80: '良好',
90: '优秀',
}
} else if (v >= 60 && v < 80) {
d = {
0: '不及格',
60: {
label: '及格',
style: {
color: '#1989FA',
fontWeight: 'bold'
},
},
80: '良好',
90: '优秀',
}
} else if (v >= 80 && v < 90) {
d = {
0: '不及格',
60: '及格',
80: {
label: '良好',
style: {
color: '#1989FA',
fontWeight: 'bold'
},
},
90: '优秀',
}
} else if (v >= 90 && v <= 100) {
d = {
0: '不及格',
60: '及格',
80: '良好',
90: {
label: '优秀',
style: {
color: '#1989FA',
fontWeight: 'bold'
},
},
}
} else {
d = {
60: '及格',
75: '良好',
85: '优秀',
}
}
this.$set(m, [0], d[0])
this.$set(m, [60], d[60])
this.$set(m, [80], d[80])
this.$set(m, [90], d[90])
}
}
}
</script>
slider 循环动态显示 marks label
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 如果用到多个,要么二次封装一个组件,要么就硬用 我这里没有用封装组件,先尝试一下,有时间在封装 html代码 声明...
- 效果如下: 点击下载查看demo 思路 创建一个view 作为所有内容的父控件, 并且添加到上面一个 label,...
- 前文 [085][汇编语言]课程设计2 :(1)从软盘启动,开机后主界面,列出选项https://www.jian...
- 今天在项目中遇到一个问题,使用createBottomTabNavigator和createStackNaviga...