1

ULタグ内にLIタグを構築したいコレクション内の各要素に対して、コレクションを反復処理することにより、kotlinx.htmlを使用してHTMLリストを構築しようとしています。

これは私がしようとしているものです:

fun showProducts(products: List<Product>) {
    document.getElementById(content.id)
        ?.append {
            ol {
                products.forEach {
                    this.li {
                        +it.name
                    }
                }
            }
        }
}

しかし、ブラウザ コンソールに次のエラーが表示されます。

キャッチされていない (約束) TypeError: Closure$products.iterator は関数ではありません

コレクションを繰り返し処理し、関数に渡される各製品の UL タグ内に LI タグを追加するにはどうすればよいですか?

4

1 に答える 1

0

おそらく、 を使用する代わりにproducts.forEach、単純な を使用できますfor (p in products)。したがって、コードは次のようになります。

fun showProducts(products: List<Product>) {
    document.getElementById(content.id)
        ?.append {
            ol {
                for (p in products) {
                    li {
                        +p.name
                    }
                }
            }
        }
}

このリンクを参照してください: https://try.kotlinlang.org/#/Kotlin%20Koans/Builders/Html%20builders/Task.kt

于 2020-07-04T23:11:47.263 に答える