【uniapp】uniapp开发小程序定制uni-collapse(折叠面板)

需求

最近在做小程序,有一个类似折叠面板的ui控件,效果大概是这样
在这里插入图片描述

代码

因为项目使用的是uniapp,所以打算去找uniapp的扩展组件,果然给我找到了这个叫uni-collapse的组件(链接:uni-collapse
在这里插入图片描述

但是因为跟我们预期效果差别还是挺大的,所以就开始了我们的定制
在这个定制过程中,去掉了uni-collapse自带的伪类所带来的两条分割线和背景色,给uni-collapse-item外部套上圆弧边框,去掉了uni-collapse-item自带的分割线,定制了标题文字样式,代码如下

<view class="rules-box">
   <uni-collapse class="rules">
        <view class="rules-item">
            <uni-collapse-item :show-animation="true" :title-border="none" :border="none" title="优惠券详情">
                <view class="rules-content">
                    <view class="sub-title">有效日期:</view>
                    <view class="sub-text">默认开启组件动画,使用动画效果折叠内容会有一个从上到下的动画。</view>
                    <view class="sub-title">使用须知:</view>
                    <view class="sub-text">默认开启组件动画,使用动画效果折叠内容会有一个从上到下的动画。</view>
                </view>
            </uni-collapse-item>
        </view>
    </uni-collapse>
</view>
.rules-box {
   width: 100%;
    padding: 20rpx 30rpx 230rpx;
    box-sizing: border-box;
    border-bottom: none;
    border-radius: 20rpx;
    .rules{
        /deep/ .uni-collapse {
            background-color: transparent;
            &::after,
            &::before{
                content: '';
                height: 0rpx;
            }
        }

        .rules-item {
            width: 100%;
            padding: 30rpx;
            box-sizing: border-box;
            // box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.05);
            border-radius: 20rpx;
            margin-bottom: 20rpx;
            background: #ffffff;
            overflow: hidden;

            /deep/ .uni-collapse-cell {
                &::after,
                &::before{
                    content: '';
                    height: 0rpx;
                }
            }
            /deep/ .uni-collapse-cell--open {
                background: #ffffff;
            }
            /deep/ .uni-collapse-cell__title {
                padding: 0;
                margin-bottom: 30rpx;
            }
            /deep/ .uni-collapse-cell__title-text {
                color: var(--unnamed, #333);
                font-family: PingFang SC;
                font-size: 28rpx;
                font-style: normal;
                font-weight: 600;
                line-height: normal;
                letter-spacing: 0.14px;
                text-transform: uppercase;
            }

            .rules-content {
                border-top: 1px solid #ebeef5;
                .sub-title{
                    color: #333;
                    font-family: PingFang SC;
                    font-size: 28rpx;
                    font-style: normal;
                    font-weight: 600;
                    line-height: normal;
                    letter-spacing: 0.14px;
                    text-transform: uppercase;
                    padding-top: 24rpx;
                }
                .sub-text {
                    font-weight: 400;
                    font-size: 24rpx;
                    line-height: 24rpx;
                    color: #a8a9ad;
                    padding-top: 12rpx;
                }
            }

        }
    }
}

最后效果

大功告成,效果如下
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于uniapp开发微信小程序实现uni-forms-item表单界面以及表单验证,你可以按照以下步骤进行操作: 1. 首先,确保已经安装了uni-forms插件。你可以在uni-app的插件市场中搜索并安装该插件。 2. 在需要使用表单的页面中,引入uni-forms组件,并注册: ```vue <template> <view> <uni-forms ref="forms"> <uni-forms-item label="姓名" name="name" rules="required" placeholder="请输入姓名"></uni-forms-item> <uni-forms-item label="手机号" name="phone" rules="required|phone" placeholder="请输入手机号"></uni-forms-item> <!-- 其他表单项 --> </uni-forms> <view @click="submitForm">提交</view> </view> </template> <script> import uniForms from '@/components/uni-forms/uni-forms.vue' import uniFormsItem from '@/components/uni-forms/uni-forms-item.vue' export default { components: { uniForms, uniFormsItem }, methods: { submitForm() { this.$refs.forms.validate((valid, errors) => { if (valid) { // 表单验证通过,执行提交逻辑 // 可以通过 this.$refs.forms.model 获取表单数据 } else { // 表单验证不通过,处理错误信息 console.log(errors) } }) } } } </script> ``` 3. 在表单项中,可以使用`label`属性设置标签显示的文本,`name`属性设置表单项的名称,`rules`属性设置表单项的验证规则,`placeholder`属性设置表单项的占位符。 4. 在点击提交按钮时,通过`this.$refs.forms.validate`方法进行表单验证。验证结果通过回调函数返回,如果验证通过,可以执行提交逻辑;如果验证失败,可以获取错误信息进行处理。 5. 在uni-forms-item组件中,可以使用内置的验证规则,如`required`表示必填项,`phone`表示手机号格式验证等。 这样,你就可以在uniapp开发微信小程序中实现uni-forms-item表单界面以及表单验证了。记得在需要使用表单的页面引入uni-forms组件和uni-forms-item组件,并根据需求配置表单项和验证规则。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值