for循环创建控件点击其中一个是改变其样式

发布于 6 年前作者 kchang15819 次浏览最后编辑 6 年前来自 ask

比如 我用for创建了4个按钮 A、B、C、D 当点击 A 时 A的背景变为红色



<view wx:for=“{{topic.answerLists}}” wx:key=“{{index}}”>


<button>{{item.answer}}</button>


</view>

7 回复
yong59
yong591 楼6 年前

差不多吧  只是用了for 如果用这个方法 就会全部都改变所以想问的是 怎么做的 改变当前点击的那一个

<view  wx:for="{{topic.answerLists}}" wx:key="{{index}}">
     <button id="answer{{item.answer_id}}"
    class='{{isChecked}}'
      data-topic_id="{{topic.topic_id}}" data-answer="{{item.answer}}"
       bindtap="respond">{{item.answer}}</button>
     
    </view>
taoxiong
taoxiong2 楼6 年前

如果是固定的,你可以通过判断这个键是不是A的键

<button wx.if=‘键==A’     background-color=‘{{变量}}’  事件=‘事件’>A</buttonn>

<button wx.if=‘键!=A’     background-color=‘{{变量}}’  事件=‘事件’>A</buttonn>

你可以试一下这个

lei01
lei013 楼6 年前

有一个数据id是

gyin
gyin4 楼6 年前

能直接打死值吗,不要用for

gang50
gang505 楼6 年前

不能这是从后台得到的数据

dingna
dingna6 楼6 年前

从后台来的就有点麻烦了,你能获取到它的键吧,他的键是不是固定死的

xiulan82
xiulan827 楼4 年前

如果我没理解错你的意思你是想这样

<button background-color=‘{{变量}}’  事件=‘事件’>A</buttonn>

事件:function(){

this.setData({

变量名: “值”

})

}

你是要这样吗?