uniapp实现单选组件覆盖选中样式的方法

最近使用uniapp开发,有些组件渲染之后会生成一些标签,需要修改生成标签的样式,下面通过实例代码讲解uniapp实现单选组件覆盖选中样式的方法,感兴趣的朋友一起看看吧

uniapp实现单选组件覆盖选中样式

uniapp实现单选组件覆盖选中样式的方法

完整代码:

<!-- 是否选择组件: trueOfFalseChooseBtn -->
<template>
    <view class="is-true-body">
        <view class="btn-con" :class="isTrue ? 'btn-con-active' : ''" @click="clickBtn(true)">
            <text>是</text>
        </view>
        <view class="btn-con" :class="isTrue ? '' : 'btn-con-active'" @click="clickBtn(false)">
            <text>否</text>
        </view>
    </view>
</template>
<script>
    export default {
        props: {
            value: {
                type: Boolean,
                default: true,
            },
        },
        watch: {
            isTrue(nv) {
                this.$emit('input', nv)
            }
        },
        data() {
            return {
                isTrue: this.value,
            }
        },
        methods: {
            clickBtn(e) {
                this.isTrue = e;
            }
        }
    }
</script>
<style lang="scss" scoped>
    .is-true-body {
        width: 100%;
        display: flex;
        justify-content: space-between;
        .btn-con {
            flex: 1;
            height: 40px;
            border-radius: 10px;
            text-align: center;
            line-height: 40px;
            position: relative;
            border: 1px solid rgba(255, 255, 255, 0);
        }
        .btn-con-active {
            border: 1px solid $uni-color-primary;
        }
        // 左上角三角形
        .btn-con-active::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 0;
            height: 0;
            border-top: 28px solid $uni-color-primary;
            border-right: 30px solid rgba(255, 255, 255, 1);
            border-radius: 8px 0 0 0;
        }
        // 左上角勾勾图片
        .btn-con-active::before {
            content: url('@/static/images/icon/gg.svg');
            position: absolute;
            top: -12px;
            left: 3px;
            width: 10px;
            height: 10px;
            z-index: 999;
        }
    }
</style>

补充:

修改uniapp组件默认样式

最近使用uniapp开发,有些组件渲染之后会生成一些标签,需要修改生成标签的样式。比如

<uni-data-picker > 等组件,自定义类名还是加重权限均无法覆盖原有样式,解决办法如下:

style标签上加scoped,同时类名前加/deep/ 穿透,即可覆盖原有样式

/deep/ .input-value-border{
    border: none;
}

到此这篇关于uniapp实现单选组件覆盖选中样式的文章就介绍到这了,更多相关uniapp内容请搜索站长课堂以前的文章或继续浏览下面的相关文章希望大家以后多多支持站长课堂!

声明:本站所有信息内容均由用户自行发表,该内容观点仅代表用户本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。Email:tellusa@foxmail.com

给TA打赏
共{{data.count}}人
人已打赏
JS教程

JS实现页面长时间不操作退出到登录页面的示例代码

2024-5-10 21:38:21

JS教程

axios处理重复请求的方法小结

2024-5-10 23:45:31

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
有新私信 私信列表
搜索