网站建设详细步骤,网站做戒酒通知书,深圳龙华区属于哪个区,cmd iis网站在Vue中我们有时候会碰到一些需求#xff0c;就是在点击某个按钮的时候#xff0c;我们执行别的操作#xff0c;但是我们希望点击别的操作的时候#xff0c;让我们之前点击的按钮进行处于高亮状态。
个人在处理业务的时候#xff0c;测试说#xff0c;当用户选择某个按钮…在Vue中我们有时候会碰到一些需求就是在点击某个按钮的时候我们执行别的操作但是我们希望点击别的操作的时候让我们之前点击的按钮进行处于高亮状态。
个人在处理业务的时候测试说当用户选择某个按钮的时候在执行别的操作且别的操作执行完毕之后返回的时候按钮不在高亮了叫我处理一下。
在处理这个需求的时候我使用过几种方式分别在本篇进行讲解。
第一种使用Vue的v-bind:class绑定样式类进行
templatebutton v-bind:classbuttonClasses点击我/button
/templatescript
export default {data() {return {isHighlighted: false}},computed: {buttonClasses() {return {highlight: this.isHighlighted}}}
}
/scriptstyle
.highlight {background-color: yellow;
}
/style这种方式我们采用计算属性来绑定样式类当我们的计算属性buttonClasses返回一个对象的时候这个对象包含highlight样式类当isHighlighted的值为ture的时候这个对象将会被应用到按钮上从而进行高亮显示。
element ui中使el-button组件的type属性来实现按钮的高亮效果
templateel-button typeprimary :class{ is-active: isActive } clicktoggleActive点击我/el-button
/templatescript
export default {data() {return {isActive: false}},methods: {toggleActive() {this.isActive !this.isActive;}}
}
/scriptstyle
.is-active {background-color: yellow;
}
/style如上代码。我们可以通过ELement Ui的el-button组件并通过type属性设置按钮的类型为primary ,然后我们使用:class绑定语法来动态绑定按钮的样式类当isActive的值为ture的时候按钮会应用is-active样式类从而高亮显示。通过点击按钮我们可以知道toggleActive方法来切换isActive的值从而实现按钮的高亮和取消高亮的效果。
实现Element UI的按钮在状态值不发生更改时保持选择的默认样式
使用:class绑定语法结合条件判断来动态绑定按钮的样式类
templateel-button :class{ is-active: isActive || isDefaultActive } clicktoggleActive点击我/el-button
/templatescript
export default {data() {return {isActive: false,isDefaultActive: false}},methods: {toggleActive() {this.isActive !this.isActive;}},mounted() {// 在组件挂载后将默认状态设置为选中this.isDefaultActive true;}
}
/scriptstyle
.is-active {background-color: yellow;
}
/style我们使用:class绑定语法来动态绑定按钮的样式类。除了根据isActive的值来判断是否应用is-active样式类外我们还添加了isDefaultActive作为默认状态的标志位。
在组件挂载后我们将isDefaultActive设置为true从而在初始状态下保持按钮的默认选择样式。当点击按钮时isActive的值会发生改变从而触发样式类的变化。
通过这种方式即使状态值不发生更改按钮也会保持默认选择样式除非用户点击按钮改变了状态值。
修改按钮的边框
我的需求是将 将Element UI按钮的边框颜色设置为灰色故而采用了CSS样式来覆盖默认的边框样式。
templateel-button :class{ is-active: isActive || isDefaultActive } clicktoggleActive点击我/el-button
/templatescript
export default {data() {return {isActive: false,isDefaultActive: false}},methods: {toggleActive() {this.isActive !this.isActive;}},mounted() {// 在组件挂载后将默认状态设置为选中this.isDefaultActive true;}
}
/scriptstyle
.is-active {background-color: yellow;border-color: gray; /* 设置边框颜色为灰色 */
}
/style