1***@qq.com
1***@qq.com
  • 发布:2023-06-27 17:44
  • 更新:2023-06-28 14:26
  • 阅读:231

一个数组,循环多个表格,每个表格中的双数背景色要与每个对象中的主体色一致

分类:uni-app
                       kexm: [{  
                    zhuti: 'rgba(253, 175, 73, 1)',  
                    name: '姓名',  
                    data: [{  
                        date: '6.19-6.20',  
                        bianhao: 'dsjh1234',  
                        state: 1,  
                        shichang: '30分钟'  
                    }, {  
                        date: '6.19-6.20',  
                        bianhao: 'dsjh1234',  
                        state: 0,  
                        shichang: '30分钟'  
                    },}]  
                }, {  
                    zhuti: 'rgba(94, 153, 255, 1)',  
                    name: '性别',  
                    data: [{  
                        date: '6.19-6.20',  
                        bianhao: 'dsjh1234',  
                        state: 1,  
                        shichang: '30分钟'  
                    },]  
                }, {  
                    zhuti: 'rgba(101, 197, 5, 1)',  
                    name: '年龄',  
                    data: [{  
                        date: '6.19-6.20',  
                        bianhao: 'dsjh1234',  
                        state: 1,  
                        shichang: '30分钟'  
                    },]  
                }],
   //html  
<view class="two_item" v-for="(item,index) in kexm" key="index">  
                <view class="ti_top">  
                    <view class="zht" :style="'background-color: '+item.zhuti+';'"></view>  
                    <view class="name">{{item.name}}</view>  
                </view>  
                <view class="ti_bot">  
                    <view class="table-header">  
                        <view class="table-cell">aa</view>  
                        <view class="table-cell">bb</view>  
                        <view class="table-cell">cc</view>  
                        <view class="table-cell">dd</view>  
                    </view>  
                    <view class="table-row" v-for="(items,indexs) in item.data" :key="indexs">  
                        <view class="table-cell">{{items.date}}</view>  
                        <view class="table-cell">{{items.bianhao}}</view>  
                        <view class="table-cell">  
                            <span class='state' v-if="items.state == 1" :style="'background-color: '+item.zhuti+';'">开始</span>  
                            <span class='state' v-if="items.state == 0" :style="'background-color: '+item.zhuti+';'">结束</span>  
                        </view>  
                        <view class="table-cell">{{items.shichang}}</view>  
                    </view>  
                </view>  
            </view>  

//css

/ 表格 /
.table-header {
display: flex;
height: 40px;
align-items: center;
font-size: 30rpx;
font-weight: bold;
}

.table-cell {
flex: 1;
text-align: center;
}

.table-row {
display: flex;
height: 40px;
align-items: center;
}

.state {
display: inline-block;
color: #fff;
padding: 10rpx 30rpx;
border-radius: 20rpx;
text-align: center;
}

/ 表格 /

需要实现的效果

未实现的

2023-06-27 17:44 负责人:无 分享
已邀请:
Diligent_UI

Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

具体要检查渲染后的元素看看背景色有没有生效

  • 1***@qq.com (作者)

    循环是出来了,但是表格双数的颜色没有跟主体色保持一致

    2023-06-27 17:51

  • 1***@qq.com (作者)

    我现在没有思路,如何实现?

    2023-06-27 17:53

  • Diligent_UI

    回复 1***@qq.com: 背景色没有给到一行的dom身上

    2023-06-27 17:56

  • Diligent_UI

    回复 1***@qq.com: 眼瞅着就要下班咯,方便的话可以加我QQ,哈哈,先试试这种方式行不行,主要看控制台上那个background的的那里是不是预期的那样

    2023-06-27 17:59

  • 1***@qq.com (作者)

    回复 Diligent_UI: 所以应该怎么实现呢?我不知道如何把主题色弄到每个表格中的双数行

    2023-06-27 17:59

  • Diligent_UI

    回复 1***@qq.com: 下班了,暂时不能回复了

    2023-06-27 18:02

  • 1***@qq.com (作者)

    回复 Diligent_UI: 那qq号是?

    2023-06-27 18:06

  • Diligent_UI

    回复 Diligent_UI: 看我头衔呀

    2023-06-28 10:46

  • Diligent_UI

    回复 1***@qq.com: 问题咨询请加QQ群:120594820

    2023-06-28 10:48

Diligent_UI

Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

仔细看了一下代码,class为table-row的才是这一行,这个背景色应该给他

  • Diligent_UI

    看看这个呀,把那个背景色代码移到这个class为table-row上面,再检查控制台情况

    2023-06-27 18:01

1***@qq.com

1***@qq.com (作者)

背景色代码移到这个class为table-row上面
出来的是整体变色,而不是双数行变色

  • Diligent_UI

    不知道你这个代码现在怎么写的,已经差不多了,这是缺少判断而已

    2023-06-28 10:47

  • 1***@qq.com (作者)

    回复 Diligent_UI: 那请问是怎么个判断法?

    2023-06-28 14:04

1***@qq.com

1***@qq.com (作者)

现在的代码

  • yangzhuowen

    动态的给table-row加一个css类名,这个类就是根据当前循环项的index改变一下背景色例如,:class="[index%2 == 0?'list-box-item-active1':'list-box-item-active2']" active1就是改变颜色,active2是另一种颜色

    2023-06-28 14:35

  • 1***@qq.com (作者)

    回复 yangzhuowen: 但是active1这个值,是根据数组里边的zhuti字段来弄的,:class写法class名字不就写死了么

    2023-06-28 14:42

  • 1***@qq.com (作者)

    回复 yangzhuowen: :class="[index%2 == 0?'list-box-item-active1':'list-box-item-active2']"这行代码,我理解的是 active1在css里边设置成黑色,active2设置成透明,最终出来的效果是每个表格中的偶数都是黑色,而不是他们各自的主体色

    2023-06-28 14:46

  • yangzhuowen

    回复 1***@qq.com: 偶数格你改成自己想要的色不就行了

    2023-06-28 14:47

  • yangzhuowen

    回复 1***@qq.com: 一个view可以加多个类啊

    2023-06-28 14:48

  • yangzhuowen

    回复 1***@qq.com: 总之就是根据你当前循环项的index,动态的赋一个样式,关键代码就是[index%2 == 0?xxx:xxx]

    2023-06-28 14:49

  • 1***@qq.com (作者)

    回复 yangzhuowen: 这应该不是类名解决的吧

    2023-06-28 14:50

  • yangzhuowen

    回复 1***@qq.com: 我看你不是加的:style吗,根据index动态加这个style就行了

    2023-06-28 14:51

Diligent_UI

Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

问题咨询请加QQ群:120594820,这里太费劲了

要回复问题请先登录注册