我已经实现了一个功能来更改复选框的背景颜色,但它使刻度线变成黑色,这是我不想要的,我希望标记仍然是白色,我该如何实现这一点? p>
HTML:-
<div v-for="category in categories" :key="category.id"> <div> <input type="checkbox" class="categoryInput" @change="input()" :true-value="category.id" false-value="0" v-model="currentCategory"/> <label class="form-label">{{category.name}}</label> </div> </div>
这是函数:-
input(){ var color = JSON.parse(localStorage.getItem('coloring') || '[]').CTAButtons let collection = document.getElementsByClassName("categoryInput"); for (let i = 0; i < collection.length; i++) { collection[i].style.accentColor = color } }
这是输出:- 背景更改成功,但刻度线更改为黑色
使用 vue 的优点是构建自定义组件。所以你可以尝试如下所示的方法。
工作StackBlitz
您可能需要根据您的具体要求调整代码。
重要
将以下内容添加到您的index.html标头
默认 HTML 复选框的刻度线颜色由浏览器决定,无法更改。不过,您可以创建自己的自定义复选框并根据需要设置样式。
HTML
CSS
JSFiddle