ReferansBileşenler

product_cards

Tek bir ürün kartı veya bunlardan oluşan bir şerit.

Satın alınacak şeyler, satın alınacak şeyler şeklinde gösterilir. product_cards, her ögeye gerçek bir görsel, tablo rakamlarıyla bir fiyat ve isteğe bağlı tek bir rozet verir; bu rozet, karta ikinci kez bakmaya değer kılan nedendir.

Tek bir öge, solda tek bir kart olarak işlenir. İki veya daha fazlası, sayfanın kendi sol kenarından başlayarak tümü en yüksek kartın yüksekliğinde olan yatay bir şeride dönüşür.

chips: Flutter 0.44.0 / Web 0.21.0 sürümünden bu yana, başlığın altında en fazla dört kısa bilgi (“3+1”, “120 m²”).

Çok satanAero Glide 2Volt / beyaz★★★★★★★★★★4.7 (1,284)$129
Court LowBone deri★★★★★★★★★★4.2 (96)$95
Trail CircuitArduvaz / yosun$149

Ekran görüntüsü değildir; tarayıcınızda SDK'nın kendi boyut ve renkleriyle canlı olarak çizilir.

Flutter SDK ve Web SDK ile, her ikisi de 0.1.0 sürümünden itibaren yerel olarak render edilir.

Ne zaman kullanılmamalıdır

Sipariş geçmişi veya görselin ikincil planda kaldığı başka herhangi bir durum için kullanmayın. item_list daha yoğundur ve daha hızlı okunur.

Bir aboneliğin katmanlarını karşılaştırmak için kullanmayın; bu bir comparison bileşenidir. Tek bir ürünün fotoğraf galerisi olarak da kullanmayın; bu bir media_gallery bileşenidir.

Props

Her blok ayrıca type ve 1 ila 300 karakterlik zorunlu bir fallback_text taşır.

PropTürZorunluKısıtlamalar
itemsarrayEvet1 ila 10 öğe.
items[].titlestringEvet1 ila 120 karakter.
items[].subtitlestringHayırEn fazla 200 karakter.
items[].pricestringHayırEn fazla 30 karakter. Para birimi simgesi dahil, sizin tarafınızdan biçimlendirilmiş.
items[].image_urlstringHayırYalnızca https.
items[].badgestringHayırEn fazla 30 karakter. Bu bloğun tek vurgu işareti.
items[].ratingnumberHayır0 ila 5. Yıldız olarak çizilir. Değerlendirme buraya metin olarak badge içine değil, sayı olarak girilir.
items[].rating_countintegerHayır0 ila 100.000.000. rating değerinin kaç değerlendirmenin ortalaması olduğu. Yıldızlarla birlikte çizilir.
items[].imagesstring[]HayırEn fazla 6 metin dizesi.
items[].actionactionHayır{ kind: "reply", text } veya { kind: "open_url", url } veya { kind: "navigate", route } veya { kind: "call", phone } veya { kind: "copy", text } veya { kind: "add_to_calendar", title, starts_at }. Bkz. Actions. Bir yanıt sayfasında her kart kendi detayını açar ve buradaki bir reply, o detayın yanıtladığı sorudur; bir open_url ise bunun yerine bağlantıyı açar. Bir detay sayfasında belirtilmezse karta dokunulamaz.
items[].chipsstring[]HayırHer biri 1 ila 20 karakter en fazla 4 metin dizesi.

Ağ üzerinde

{
  "id": "blk_04",
  "type": "product_cards",
  "fallback_text": "Three running shoes under $150.",
  "props": {
    "items": [
      {
        "title": "Aero Glide 2",
        "subtitle": "Road, neutral",
        "price": "$129",
        "badge": "Best seller",
        "image_url": "https://cdn.example.com/aero-glide-2.jpg",
        "action": {
          "kind": "reply",
          "text": "Add Aero Glide 2 in size 43"
        }
      },
      {
        "title": "Court Low",
        "subtitle": "Everyday, leather",
        "price": "$95",
        "image_url": "https://cdn.example.com/court-low.jpg",
        "action": {
          "kind": "reply",
          "text": "Add Court Low in size 42"
        }
      },
      {
        "title": "Trail Circuit",
        "subtitle": "Trail, waterproof",
        "price": "$149",
        "image_url": "https://cdn.example.com/trail-circuit.jpg"
      }
    ]
  }
}

Etkileşim

Bir yanıt sayfasında dokunulduğunda kartın detayı açılır: görsellerini (image_url ve images), adını ve fiyatını aynı anda, ardından detay ulaştıkça içeriği gösteren bir alt sayfa (sheet). İlk aksiyonu mikrofonun yanında belirir ve alt sayfayı kapatmak sayfayı eski haline getirir. action değeri open_url olan bir kart ise bunun yerine bağlantıyı uygulama içi bir tarayıcıda veya RendelConfig.onOpenUrl aracılığıyla açar; yalnızca https. Derlemenin bildirdiği her aksiyon türü geçerlidir (bkz. Actions).

Şerit yatay olarak kayar; sayfalandırma yapmaz ve okları yoktur, çünkü telefonda sağ kenardaki kesik kart yönlendirici unsurdur (affordance).

Durumlar

DurumSDK'nın çizdiği içerik
YükleniyorGerçek kart genişliğinde bir şerit içinde kart şeklinde iki yer tutucu.
BoşBoş bir items dizisi, bu blok kendi kapsayıcısını taşımadığından, fallback_text değerini altlık olmadan yalın biçimde işler.
Görsel eksikGörsel alanı, bozuk görsel simgesi içeren gömme bir dikdörtgen barındırır; kartın geri kalanı normal şekilde işlenir.

Erişilebilirlik

fallback_text, ögeleri tek tek listelemek yerine kümeyi adlandırmalıdır: “150 $ altındaki üç koşu ayakkabısı.” Fiyatlar her kartın kendi etiketinden okunur.