Zum Hauptinhalt springen

cardTemplate

Beschreibung

Optional. Erzeugt und wendet eine benutzerdefinierte HTML-Vorlage für die Karte an.

Verwendung

function cardTemplate ({ cardFields, selected, dragging, cardShape }){
return "HTML template of the card";
};

Parameter

Die Callback-Funktion erhält ein Objekt mit folgenden Eigenschaften:

  • cardFields - enthält die Daten der Karte
  • selected - gibt an, ob die Karte ausgewählt ist
  • dragging - gibt an, ob die Karte gerade gezogen wird
  • cardShape - das Konfigurationsobjekt der Karte
important

Um ein Kontextmenü zur Karten-Vorlage hinzuzufügen, fügen Sie ein benutzerdefiniertes Symbol im Markup ein und verwenden Sie das Attribut data-menu-id=${cardFields.id}, wie im folgenden Beispiel gezeigt.

Beispiel

const cardTemplate = ({ cardFields, selected, dragging, cardShape }) => {
const { label, color, id } = cardFields;
if (selected) {
return `
<div className="custom-card" style={{padding: '20px'}}>
<div className="status-color" style={{background: '${color}'}}></div>
<div data-menu-id=${id} >
<i className="wxi-dots-v"></i>
</div>
Selected:${label}
</div>
`;
}
return `
<div className="custom-card" style={{padding: '20px'}}>
<div className="status-color" style={{background: '${color}'}}></div>
<div data-menu-id=${id} >
<i className="wxi-dots-v"></i>
</div>
${label}
</div>
`;
}

new kanban.Kanban("#root", {
cards,
columns,
cardTemplate: kanban.template(card => cardTemplate(card)),
// other parameters
});

Änderungsprotokoll: Unterstützung für Kontextmenüs wurde in Version 1.4 eingeführt

Verwandte Artikel: Anpassung

Verwandte Beispiel: Kanban. Custom card