首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果从服务器加载现有数据,离子更改图标颜色更改将失败

如果从服务器加载现有数据,离子更改图标颜色更改将失败
EN

Stack Overflow用户
提问于 2021-07-12 13:49:16
回答 1查看 29关注 0票数 0

对于这个主题很抱歉,不确定如何恰当地描述它。

我对特定的内容有一个评级系统。评等页面以模式显示。用户第一次对内容进行评分时,一切都正常。如果用户没有刷新来自服务器的数据,他们可以返回到相同的评论/模式并编辑他们的评论-包括更改评级,从而改变星星的颜色(1到5星)。

但是,如果用户刷新数据或第一次打开应用程序,从服务器拉取数据,则打开的模式会显示其先前条目的所有正确评级和评论-但如果用户想要更改之前为其指定的星级(首先对2进行评级,然后在新的服务器数据加载后,将评级更改为4),则星级上的颜色不会改变,即使从函数中记录的数据显示的值为4....visually没有更改,它仍然只显示两个颜色的星级

我打印出控制台消息,因为它迭代通过星/评级颜色函数,和控制台消息显示正确的颜色是assigned....but的实际颜色没有改变。

相关CSS:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.reviewColor {
  color: lightgray ;
}

模式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<ion-modal-view class="modalReviews">
  <ion-header-bar>
    <div class="headerBar">
      <div class="headerBarDiv">PRODUCT REVIEW</div>
      <button type="button" class="button button-block button-small-custom headerBarButton" ng-click="closeReviews()"> X </button>
    </div>    
  </ion-header-bar>

  <ion-content>
  <div id="reviewWrapper">
    <div ng-if="doReview == 1" id="doReview" class="prodSection prodReviewCard">
      <div ng-if="prod.reviews.userReviewDate != 0">
        Last review submitted on: {{prod.reviews.userReviewDate}}
      </div>
      <div class="" style="text-align:center;">
        <i class="ion-ios-star reviewColor ratingSize" id="Rating_{{prod.ceID}}_1" ng-click="reviewRating('Rating',prod.ceID,1);" ng-style="1 <= prod.reviews.userRating && {'color' : eColors.orange}"></i>
        <i class="ion-ios-star reviewColor ratingSize" id="Rating_{{prod.ceID}}_2" ng-click="reviewRating('Rating',prod.ceID,2);" ng-style="2 <= prod.reviews.userRating && {'color' : eColors.orange}"></i>
        <i class="ion-ios-star reviewColor ratingSize" id="Rating_{{prod.ceID}}_3" ng-click="reviewRating('Rating',prod.ceID,3);" ng-style="3 <= prod.reviews.userRating && {'color' : eColors.orange}"></i>
        <i class="ion-ios-star reviewColor ratingSize" id="Rating_{{prod.ceID}}_4" ng-click="reviewRating('Rating',prod.ceID,4);" ng-style="4 <= prod.reviews.userRating && {'color' : eColors.orange}"></i>
        <i class="ion-ios-star reviewColor ratingSize" id="Rating_{{prod.ceID}}_5" ng-click="reviewRating('Rating',prod.ceID,5);" ng-style="5 <= prod.reviews.userRating && {'color' : eColors.orange}"></i>
      </div>
      <div style="margin-top:10px;">
        <textarea style="border:1px solid lightgray;width:100%;height:100px;" maxlength="255" ng-model="userReview" id="userReview">{{prod.reviews.userReview}}</textarea>
      </div>
      <div style="margin-top:20px;">
        <input type="checkbox" id="userAnon" ng-model="userAnon" ng-true-value="'{{userDisplayName}}'" ng-false-value="'Anonymous'" style="margin-left:25px;margin-right:5px;vertical-align:bottom;width:20px;height:20px;" ng-checked="prod.reviews.userAnon != 'Anonymous'"></input>Display '{{userDisplayName}}' with review? 
      </div>

      <div style="margin-top:20px;">
        <button type="button" class="button button-block button-large-custom" ng-click="reviewSubmit();">
          Submit Review
        </button>
      </div>
      <div style="margin-top:15px;color:{{reviewColor}};">{{reviewMsg}}</div>
    </div>
  </div>
</ion-content>

控制器函数用于直观地更改星形颜色:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  $scope.reviewRating = function(idName,ID,rating) {
    for (var i=1;i<=5;i++) {
      var tName = idName+ "_" +ID+ "_" +i ;
      console.log(tName) ;
      var star = document.getElementById(tName) ;
      if (i <= rating) {
        console.log("Orange") ;
        star.style.color = eColors.orange + " !important" ;      
      } else {
        console.log("Gray") ;
        star.style.color = "lightgray !important" ;
      }
    }
    $scope.userRating = rating ;
    console.log("new rating: " +$scope.userRating) ;
  }

函数控制台消息显示函数正在正确执行,并将正确的值指定为新的$scope.userRating -但同样,在视觉上,没有任何变化,它仍然只显示两颗星被涂成橙色:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Rating_1135_1 = Orange    controllers.js:2705 
Rating_1135_2 = Orange    controllers.js:2705 
Rating_1135_3 = Orange    controllers.js:2705 
Rating_1135_4 = Orange    controllers.js:2705 
Rating_1135_5 = Gray      controllers.js:2708 
new rating: 4             controllers.js:2712

同样,它只是无法工作,无法更改颜色,如果以前的评论/数据是从服务器加载的,如果不存在,它仍然可以正常工作,甚至保存评论,让modal...and稍后返回以更改评论-它仍然有效。只有当用户刷新数据或从服务器获取新数据,并且审阅已经存在时,才会出现这种情况。

EN

回答 1

Stack Overflow用户

发布于 2021-07-13 07:14:08

问题是在设置样式属性(star.style.color = 'lightgray !important';)时不能添加!important

理想情况下,您应该给它一个类,并赋予类样式声明更高的特异性,这样它就可以覆盖没有!important.reviewColor

另一种选择是删除内联!important,因为它被认为是不好的做法,只需设置没有它的样式(只要您在另一个样式规则中没有!important,因为内联样式具有更高的优先级)。

如果您确实需要在内联样式中设置!important,您可以使用element.style.setProperty并在第三个参数中设置priority

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
star.style.setProperty('color', 'lightgray', 'important');
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68348520

复制
相关文章
python pandas分组统计
利用panda便捷的对日志分组统计: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/11/14 下午6:27 # @Author : wz # @Email : 277215243@qq.com # @File : testpanda.py # @web : https://www.bthlt.com import pandas ''' 2017-10-30 20:21:06.626735|27024|5
葫芦
2019/04/17
1.2K0
如何理解和使用Python中的列表
Python有6个序列的内置类型,但最常见的是列表和元组。今天我们就来讲讲列表。
小土豆Yuki
2020/06/15
7K0
python 连续值分组统计
python 连续值分组统计
Java架构师必看
2021/08/10
1.4K0
python 连续值分组统计
python中列表的使用
情景:列表应该是数据处理时经常使用到一种数据类型,可以有序、组合的操作值存储,是很实用的函数。。。这是最后一篇整理的笔记,发现排版很浪费时间,也得不到交流,还是用类似onenote写笔记的方式快。
py3study
2020/01/14
5.3K0
Java8使用Stream流实现List列表的查询、统计、排序、分组
Java8提供了Stream(流)处理集合的关键抽象概念,它可以对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。Stream API 借助于同样新出现的Lambda表达式,极大的提高编程效率和程序可读性。
全栈程序员站长
2022/11/08
10.8K0
Java8使用Stream流实现List列表的查询、统计、排序、分组
解决嵌套布局中列表条目显示不全问题
自定义View重写onMeasure方法 @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { //此处是代码的关键 //MeasureSpec.AT_MOST的意思就是wrap_content //Integer.MAX_VALUE >> 2 是使用最大值的意思,也就表示的无边界模式 //Integer.MAX_VALUE >
longzeqiu
2019/08/15
1.7K0
python中如何import不同层级的模块 python中如何import不同层级的模块
main.py为主文件,model.py是我们要引入的文件,则直接import model或from model import *即可。
尾尾部落
2018/09/04
4.8K0
Python 列表元素分组,比如 [1,
# 生成一个1到20的列表 a=[x for x in range(1,21)] # 把a列表切片,并赋值给b列表,x为0到20且步长为3的列表,在这里具体为[0,3,6,9,12,15,18] # 把x带入,b列表为[a[0:0+3],a[3:3+3]……[a[18:18+3] b=[a[x:x+3] for x in range(0,20,3)] print(a) print(b) 输出为 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1
py3study
2020/01/19
1K0
使用Python按另一个列表对子列表进行分组
在 Python 中,我们可以使用各种方法按另一个列表对子列表进行分组,例如使用字典和使用 itertools.groupby() 函数,使用嵌套列表推导。在分析大型数据集和数据分类时,按另一个列表对子列表进行分组非常有用。它还用于文本分析和自然语言处理。在本文中,我们将探讨在 Python 中按另一个列表对子列表进行分组的不同方法,并了解它们的实现。
很酷的站长
2023/08/11
4530
使用Python按另一个列表对子列表进行分组
14.不同条目的listview
分类界面 整个项目的逻辑就是这样的 CategoryInfo public class CategoryInfo { private String title; private String u
六月的雨
2018/05/14
6210
7.5.1 创建条目列表示例
7.5.1 创建条目列表示例 #include <QApplication> #include <QTabWidget> #include <QLineEdit> #include <QSpinBox> #include <QFormLayout> #include <QListWidget> #include <QLabel> int main(int argc, char *argv[]) { QApplication a(argc, argv); /*创建QListWidget*/ QLis
DS小龙哥
2022/01/12
6590
7.5.1 创建条目列表示例
列表元素分组
有这样一种场景,有三个列表a、b、c。我们想要把每一个列表中的第一个元素取出来分为一组,第二元素取出来分为一组、第三个元素取出来分为一组,以此类推。该怎么做呢?你可以自己想一想,再来看下面的实现过程。
TalkPython
2019/05/24
1.1K0
Python3中列表的使用
列表操作常用操作包含以下方法: 1、list.append(obj):在列表末尾添加新的对象 2、list.count(obj):统计某个元素在列表中出现的次数 3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) 4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置 5、list.insert(index, obj):将对象插入列表 6、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 7、list.remove(obj):移除列表中某个值的第一个匹配项 8、list.reverse():反向列表中元素 9、list.sort([func]):对原列表进行排序
py3study
2020/01/03
2.7K0
Python中的groupby分组
这个是groupby的最常见操作,根据某一列的内容分为不同的维度进行拆解,将同一维度的再进行聚合
全栈程序员站长
2022/09/01
2K0
Python中的groupby分组
【Python】列表 List ① ( 数据容器简介 | 列表 List 定义语法 | 列表中存储类型相同的元素 | 列表中存储类型不同的元素 | 列表嵌套 )
Python 中的 数据容器 数据类型 可以 存放多个数据 , 每个数据都称为 元素 , 容器 的 元素 类型可以是任意类型 ;
韩曙亮
2023/10/11
2820
【Python】列表 List ① ( 数据容器简介 | 列表 List 定义语法 | 列表中存储类型相同的元素 | 列表中存储类型不同的元素 | 列表嵌套 )
Mysql——分组统计
 💟💟前言 🥇作者简介:友友们大家好,我是你们的小王同学😗😗 🥈个人主页:小王同学🚗 🥉 系列专栏:牛客刷题专栏📖 📑 推荐一款非常火的面试、刷题神器👉牛客刷题 今天给大家带来的系列是:Mysql——分组统计 mysql 刷题 系列 牛客网 牛客网里面有非常多得面试真题 包含 java sql c++等多种语言实现  select语句🎪 使用group   by子句对列进行分组【先创建测试表】 select column1 column2 column3 .....from  ta
王同学要努力
2022/12/21
5.2K0
Mysql——分组统计
Python中如何进行数据分组
数据分组 根据数据分析对象的特征,按照一定的数值指标,把数据分析对象划分为不同的区间进行研究,以揭示其内在联系和规律性。 cut 函数: cut(series,bins,right=True,labels=NULL) ① series  需要分组的数据 ② bins    分组的划分数组 ③ right   分组的时候,右边是否闭合,默认为闭合True ④ labels  分组的自定义标签,可以不自定义 import pandas data = pandas.read_csv( 'D:\\PDA\
Erin
2018/01/09
3.2K0
python 中如何查找列表长度
In this article, we will be unveiling techniques to find the length of a Python list. Finding the length actually means fetching the count of data elements in an iterable.
用户8418197
2022/01/09
2.7K0
awk分组求和分组统计次数
如果第一列相同,则根据第一列来分组,分别打印第二列和第三列的和 如果第一列相同,则根据第一列来分组,分别打印第二列和第三列的和 分组求和 image.png 以第一列 为变量名  第一列为变量,将相同第一列的第二列数据进行累加打印出和. image.png image.png 以第一列和第二列为变量名, 将相同第一列、第二列的第三列数据进行累加打印出和 image.png image.png
用户8639654
2021/08/10
1.9K0
点击加载更多

相似问题

统计字典中的不同条目

12

统计python列表字典中最流行的条目

39

如何在python的字典列表中合并属于同一key的条目?

20

如何统计分组列表中的金额总和?

122

如何统计csv文件python中的条目和频率?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文