小程序 uni-app picker-view改变选中行上下边框样式

需求:小程序开发中UI设计稿给的样式如下:

选中的样式中没有上下边框,一般picker-view中选中行都有两条灰色的上下边框,如下:

 那如何修改或者去掉这个border呢?其实这个边框是写在::before,::after伪类上的,只要在这两个样式重写即可。

            <picker-view
                    indicator-style="background: rgba(0, 0, 0, 0.03);height:76rpx;line-height:76rpx;"
                    indicator-class="select-line"
                    class="city-picker"
                    :value="value"
                    @change="bindChange"
                >
                    <picker-view-column class="view-column first">
                        <view
                            v-for="(item, index) in provinceListCol"
                            :key="item.id"
                            :class="value[0] === index ? 'select-item' : ''"
                            class="col-item"
                            >{{ item.name }}</view
                        >
                    </picker-view-column>
                    <picker-view-column class="view-column second">
                        <view
                            v-for="(item, index) in cityListCol"
                            :key="item.id"
                            :class="value[1] === index ? 'select-item' : ''"
                            class="col-item"
                            >{{ item.name }}</view
                        >
                    </picker-view-column>
                </picker-view>

 首先在picker-view上面添加indicator-class="select-line" 设置选择器中间选中框的类名,然后添加样式如下:

// 给中间选中行添加border-radius
::v-deep .view-column.second .select-line {
    border-radius: 0 16rpx 16rpx 0;
}
::v-deep .view-column.first .select-line {
    border-radius: 16rpx 0 0 16rpx;
}

// 修改原有的上下边框颜色
::v-deep .select-line::after {
    border-bottom: 2rpx solid #fff;
}
::v-deep .select-line::before {
    border-top: 2rpx solid #fff;
}

注意:需要在类名前加上deep

最后记录一下vant的Area省市区选择组件中在哪里修改这个选中行上下border

 vant是专门写了一个div然后在div的after伪类上加的border

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值