javascript - 类绑定始终处于活动状态
问题描述
我有一个小问题,我根本无法弄清楚。active
选择职业时,我正在尝试激活类。你能帮我找出我的错误吗?我的目标类是image-rect
.
<div
v-for="(profession, index) in professions"
:key="index"
>
<div
class="profession-btn"
:class="(selected === index) ? 'active' : ''"
@click="toggleProfession(index, profession)"
>
<div class="wrapper">
<div
class="image-rect"
:class="(selected === index) ? 'active' : ''"
>
<img :src="profession.icon">
</div>
</div>
<div
class="profession-name"
:style="[selected === index ? { opacity: 1 } : { opacity: 0.3 }]"
>
{{ profession.name }}
</div>
</div>
</div>
脚本
export default {
props: {
professions: {
type: Array,
default: () => []
},
selectedProfession: {
type: Object,
default: () => {}
}
},
data: () => ({
checked: false,
selected: 0
}),
updated() {
console.log('selectedProfession', this.selectedProfession)
if (this.selectedProfession) {
this.selected = this.professions.findIndex(profession => profession.name === this.selectedProfession.name)
}
},
methods: {
toggleProfession(index, profession) {
this.checked = !this.checked
this.selected = index
const price = this.checked ? profession.price : 0
const name = this.checked ? profession.name : ''
this.$parent.getProfession(price, name)
}
}
}
CSS
.image-rect {
width: 40px;
height: 40px;
background-color: white;
padding: 0px;
border-radius: 10px;
margin: 0 auto;
}
.image-rect.active {
background-color: #ef793c;
}
解决方案
推荐阅读
- swift - Xcode 项目模板和 Swift 包依赖项
- python - Python 中 else 语句的语法
- amadeus - Amadeus API - 在 LIVE 模式下使用“origin”的“Flight Inspiration Search”API 出现问题
- python - CDK elbv2.ApplicationLoadBalancer.add_security_group 不起作用
- ios - didFinishPickingMediaWithInfo 没有在 Xcode 12 中调用
- jsp - Displaytag 的 ExcelView 甚至可以工作吗?获取纯字符串的非 Excel 输出
- javascript - Ajax 请求中未定义变量
- reactjs - 如何使用 axios 和回调从外部文件调用 api 并在反应中传递参数
- fullcalendar - FullLCalendar 5:每个事件源的不同颜色不会显示在月视图中
- javascript - 将获取的数据推送到对象数组