vue之通过渲染的多个li标签点击选中添加样式,再次点击取消样式。(不需要使用jq)
vue之通过渲染的多个li标签点击选中添加样式,再次点击取消样式。先来描述一下这个需求。动态的渲染后端返回的评分问题,这个评分题的下边可以添加这些标签,这些标签可以多选。然后要实现的就是点击这些标签改变他的背景颜色,再次点击变回原样。首先我们要做的就是让每一个标签都有一个状态,就是让后端以数组对象的形式[{bq:‘第一个标签’,flag:false}]的形式给你返回数据。如果他不想改只给你一个标签
·
vue之通过渲染的多个li标签点击选中添加样式,再次点击取消样式。
先来描述一下这个需求。动态的渲染后端返回的评分问题,这个评分题的下边可以添加这些标签,这些标签可以多选。然后要实现的就是点击这些标签改变他的背景颜色,再次点击变回原样。
首先我们要做的就是让每一个标签都有一个状态,就是让后端以数组对象的形式[{bq:‘第一个标签’,flag:false}]的形式给你返回数据。如果他不想改只给你一个标签数组,你自己生成一个数组对象。我用的就是这种方式。
此时的newArr就是一个数组对象,每一个标签都有了一个初始状态。
在标签上添加点击方法,不要忘了把标签的值和下标传递过来。
遍历标签的flag属性,如果这个标签的初始状态为false,就拿到这个问题的节点b,再拿到当前这个问题下被点击的标签的节点,然后就可以改变他的背景颜色了。
如果你只是单纯的想改变标签的颜色,上图被框起来的两块就不需要写了,那两个部分是为了把选中状态的标签添加到一个空数组,传递给后端的。
好了,这样就完成了多个题目下标签的颜色改变。
更多推荐
已为社区贡献8条内容
所有评论(0)