施程浩 发表于 2018-6-8 15:07:43

使用t-foreach循环

本帖最后由 施程浩 于 2018-6-8 15:08 编辑

通过循环可以重复一个HTML块。我们可以用它将任务跟进者的图像添加到任务看板卡中。渲染任务的合作伙伴ID:<t t-foreach="record.message_partner_ids.raw_value" t-as="rec"><t t-esc="rec" />; </t>

t-foreach指令接受一个JavaScript表达式,计算一个重复的集合。多数情况下,这将只是一个多对关系字段的名称。它是用一个t-as指令来设定在循环中用到的每项的名字.下一条使用的t-esc指令根据所所提供的表达式进行计算,本例中只是rec变量,并将在HTML转码时加以渲染。

使用JavaScript函数slice()来限定显示的跟进者的数量,如下所示:t-foreach="record.message_partner_ids.raw_value.slice(0, 3)"

重写跟随者的循环如下:<t t-foreach="record.message_partner_ids.raw_value.slice(0, 3)"   t-as="rec"><img t-att-src="kanban_image('res.partner', 'image_small', rec)" class="oe_avatar" width="24" height="24" /></t>在右页脚添加下一位负责用户的图像。

一些辅助变量也可用,变量名被冠以t-as变量所定义的前缀。本例中,我们使用rec,所以可用的辅助变量如下:rec_index是0开始的循环索引rec_size 集合的元素数量rec_first 循环的第一个元素为真rec_even 偶数索引为真rec_odd奇数索引为真rec_parity奇数或偶数,根据当前代表被遍历对象rec_all的索引rec_value当遍历一个字典时,{键:值},保存值(rec保存键值)例如,我们可以使用以下来避免在我们的ID列表中的逗号:<t t-foreach="record.message_parter_ids.raw_value.slice(0, 3)"   t-as="rec"><t t-esc="rec" /><t t-if="!rec_last">;</t></t>

smlqf1 发表于 2018-9-1 07:43:41

说的不错!











成語   https://www.2so.tw/ 2018年09月01日 成語
中醫感冒    文學百科 https://www.2so.tw/髮型百科   中醫感冒       https://www.2so.tw/祝福語

smlqf1 发表于 2018-9-2 03:30:14

说的不错!











成語   https://www.2so.tw/ 2018年09月02日 成語
中醫感冒    文學百科 https://www.2so.tw/髮型百科   中醫感冒       https://www.2so.tw/祝福語
页: [1]
查看完整版本: 使用t-foreach循环