记uniapp总动态:style无法用带参数的computed属性问题

问题描述:

v-for里面的组件呢,我要根据不同的item配置不同的style,于是有了这样的写法

javascript 复制代码
<template>
    <view class="weeks-item" v-for="(day,dayIndex) in item" :key="dayIndex">
					
		<view :style="bgStyle(day)" >
			{{ day. extraInfo.info}}
		</view>
	</view>
</template>
<script>
    export default{
        computed:{
            bgStyle:function(){
				return (day)=>{
					if(day.extraInfo){
						return `background-color:${day.extraInfo.data.bgColor}`
					}else{
						return ''
					}
				}
			}}
    }
</script>

然后一运行 ,就给报错

👉🏻 ☞ 解决办法:
javascript 复制代码
<template>
    <view class="uni-calendar__weeks-item" 
        v-for="(day,dayIndex) in styledItems(item)" :key="dayIndex">
						
	    <view class="daylayer-custom">
		    <view :style="day.dynamicStyle" >
			    {{ day. extraInfo.info}}
		    </view>
	    </view>
    </view>
</template>
<script>
    export default{
        computed:{
            styledItems:function(){
				return (item)=>{
					return item.map(day => ({
						...day,
						dynamicStyle: this.getDynamicStyle(day)
					}));
				}
			}
        },
        methods: {
            getDynamicStyle(day) {
				if(day.extraInfo){
						return `background-color:${day.extraInfo.data.bgColor}`
						
					}
				return ''
			},

        }
    }
</script>

这样,就可以了,主要修改思路就是把style作为day元素的一个属性,然后动态style绑定这个属性即可。

小感悟:写代码不要太固执,打不过就加入,主打一个曲线救国。

相关推荐
我命由我1234528 分钟前
React - 验证 Diffing 算法、key 的作用
javascript·算法·react.js·前端框架·html·html5·js
@PHARAOH2 小时前
HOW - Kratos 入门实践(二)- 概念学习
前端·微服务·go
We་ct6 小时前
LeetCode 77. 组合:DFS回溯+剪枝,高效求解组合问题
开发语言·前端·算法·leetcode·typescript·深度优先·剪枝
KerwinChou_CN6 小时前
什么是流式输出,后端怎么生成,前端怎么渲染
前端
爱上妖精的尾巴7 小时前
8-18 WPS JS宏 正则表达式-边界匹配
开发语言·javascript·正则表达式·wps·jsa
爱上妖精的尾巴7 小时前
8-20 WPS JS宏 正则表达式-懒惰匹配
服务器·前端·javascript
网络点点滴7 小时前
组件通信props方式
前端·javascript·vue.js
二十雨辰7 小时前
[小结]-线上Bug监控
前端·bug
前端技术7 小时前
【鸿蒙实战】从零打造智能物联网家居控制系统:HarmonyOS Next分布式能力的完美诠释
java·前端·人工智能·分布式·物联网·前端框架·harmonyos
CHU7290357 小时前
指尖践行环保——旧衣服回收小程序前端功能玩法详解
前端·小程序