Ionic 4的“ ios”模式下列表项的详细箭头

时间:2019-03-06 20:57:35

标签: ionic-framework ionic4

使用最新版本的Ionic,解决了列表项的一个小问题。根据{{​​1}}的文档,对于ion-item属性:

  

如果为true,则详细箭头将出现在项目上。除非模式为ios且存在href,onclick或button属性,否则默认为false。

我正在使用默认值,并且在detail上可以正常使用,但是当我使用href时,它在“ ios”模式下不会显示。代码是:

(click)

我在做一些错误操作以使其与点击处理程序一起使用吗?

1 个答案:

答案 0 :(得分:1)

我查看了源代码,它似乎是Ionic(v 4.1.0)的一个错误。这来自源代码,看来如果模式设置为“ ios”且为isClickable,则会显示详细信息箭头。

isClickable()似乎是不正确的,因为它没有考虑“ onClick”,而只是查找href以及按钮attr设置为true。如果将button设置为true或通过了href,我会在ios模式下看到箭头。

 private isClickable(): boolean {
    return (this.href !== undefined || this.button);
  }

然后在设置showDetail布尔值(以显示箭头)的第153行的render方法中:

const clickable = this.isClickable();
    const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div' as any;
    const attrs = TagType === 'button' ? { type } : { href };
    const showDetail = detail !== undefined ? detail : mode === 'ios' && clickable;

参考:

https://github.com/ionic-team/ionic/blob/master/core/src/components/item/item.tsx