在微信界面,动态显示一个<view>应该如何操作?
发布于 5 年前 作者 kyan 14221 次浏览 来自 问答

<view bind:tap=“editTask” class=‘operation_img’>

<image src=’…/…/image/edit.jpg’ ></image>

</view>

.operation_img{

height: 15px;

width:15px;

float: right;

margin-right: 5px;

display: none;

}

editTask:function(e){

    //如何在这里设置图片的显示呢?

}

10 回复

你的这个场景描述还是不太清楚,批量隐藏所有还是批量隐藏部分呢?

我要批量操作图片呢?这样子太麻烦,而且有个弊端。

<image style=“display:{{‘task_’+ index}}”>

在页面的data中设置task_0=‘block’,会发现{{}}里面的运算变成了字符串运算,无法取值。

只能设置{{}}里面的固定变量名,才会去取值

不是自定义组件,微信自己做的类似js的东西,用来增强wxml的表现能力。我也没用过,但是感觉wxs可能适用于这个场景

这个应该类似于按钮权限吧,是不是可以考虑通过wxs来做?

自定义组件吗?还没有接触这个,所以不太懂啊,待我去研究一下

class啊,然后事件里用setdata控制这个样式

如图示,所有的x要实现随意隐藏和显示

我的解决办法

<view wx:for-items="{{task}}" wx:key="{{item.index}}">

<view id=‘compont_{{index}}’ class=“task_item” bind:longpress=“updateOrDelete”>

<checkbox value="{{index}}" />{{item.value}}

<view class=‘score_time’>

<text>10/2</text>

</view>

<image src=’…/…/image/edit.jpg’ class="{{item.isdisplay?‘operation_img’:‘operation_img_hide’}}" bind:tap=“addContent”></image>

<image src=’…/…/image/delete.jpg’ class="{{item.isdisplay?‘operation_img’:‘operation_img_hide’}}" bind:tap=“deleteContent”></image>

</view>

</view>

updateOrDelete:function(e){

var id = e.target.id.split("_")[1] - 0;

if (front_id !== -1){

this.data.task[front_id].isdisplay = false;

}

this.data.task[id].isdisplay=true;

front_id = id;

this.setData({task:this.data.task});

}

在自定义变量task中添加一个属性,完美解决,显示的问题

怎么加?

image 里加样式

回到顶部