详解elementUI中的el-switch开关组件
·
在element ui中el-switch开关组件具有先改变开关值再传值的特点。(先改后传)
比如:
<el-switch v-model="scope.row.open" :active-value="1" :inactive-value="0" @change="handleTuningMode1(scope.row)"></el-switch>
如果此时开关是开着的,也就是说open值是"1",那么当我们触发change事件的时候,传过去的open值是关闭的“0”值。
elementUI switch组件:
- 无click事件,想要二次确认后再进行状态更改;
- 使用change事件会先更新状态再传值,不好用;
解决办法
- 添加@click.native.prevent方法
给vue组件绑定事件时候,必须加上native ,否则会认为监听的是来自Item组件自定义的事件;
prevent 是用来阻止默认的 ,相当于原生的event.preventDefault(); - 与此同时需要打开disabled属性
是因为不加disabled会出现调用两次的非理想状态
<el-switch v-model="scope.row.open" :active-value="1" :inactive-value="0" @click.native.prevent="handleTuningMode(scope.row)" disabled></el-switch>
disabled样式问题
在设置disabled后开关会有鼠标禁用的样式及透明度的变化,我们需要做修改;
<style>
/* 修改elementUI-switch组件 disabled样式 */
.el-switch.is-disabled {
opacity: 1;
}
.el-switch.is-disabled .el-switch__core, .el-switch.is-disabled .el-switch__label {
cursor: pointer !important;
}
</style>
不建议在写有scoped的style标签里修改,是因为scoped表示它的样式作用于当下的模块,很好的实现了样式私有化的目的
<style lang="less" scoped>
</style>
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)