搜索

首页  >  问答  >  正文

android - weex 的list 有选中事件么

如题,我想实现点击一个cell 那个cell就变色与其他的cell区分开 而且是单选 或者说list该怎么根据index来获取cell对象

phpcn_u1582phpcn_u15822774 天前674

全部回复(2)我来回复

  • 滿天的星座

    滿天的星座2017-05-16 13:30:43

    在css中使用 active伪类

    <template>
      <p>
        <list class="list">
          <cell
            v-for="(v,i) in rows"
            append="tree"
            :index="i"
            :key="i"
            class="row">
            <p class="item">
              <text class="item-title">row {{v.id}}</text>
            </p>
          </cell>
        </list>
    </text>
      </p>
    </template>
    
    <style scoped>
      .list {
        height:850px
      }
      .count {
        font-size: 48px;
        margin:10px;
      }
      .indicator {
        height: 40px;
        width: 40px;
        color:#45b5f0;
      }
      .row {
        width: 750px;
      }
      .item {
        justify-content: center;
        border-bottom-width: 2px;
        border-bottom-color: #c0c0c0;
        height: 100px;
        padding:20px;
      }
      .item:active {
         background-color: #00BDFF;
       }
      .item-title {
      }
    </style>

    具体参考http://weex.apache.org/cn/ref...

    回复
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:30:43

    要实现类似单选的效果,大概可以这么做:
    通过当前行的selected字段来判断是否被选中,从而改变background-color
    Dom结构如下:

    <list>
    <cell v-for="(item,index) in listData" v-bind:style="{'background-color':(item.selected?'#dddddd':'#ffffff')}" @click="onSelected(item,index)">
    <p>
    <text>{{item.text}}</text>
    </p>
    </cell>
    </list>

    js结构如下:

    data: {
        "listData": [
                    {'text': '开发者头条', selected: false},
                    {'text': '腾讯新闻', selected: false},
                    {'text': '搜狐娱乐', selected: false},
                    {'text': '优酷视频', selected: false}
                ]
    },
    methods:{
        "onSelected":function(item,index){
             if (item.selected) {
               this.listData[index].selected = false;
             } else {
               this.listData[index].selected = true;
             }
        }
    }

    希望能够帮到你

    回复
    0
  • 取消回复