Prima di tutto, installare il pacchetto SemanticUI. Con JSPM eseguire questa riga per installarlo da Github:
jspm install semantic-ui=github:Semantic-Org/Semantic-UI
Installerà anche jQuery come dipendenza. Dopodiché sarai in grado di importare i plugin e gli stili jQuery di SemantinUI nel tuo modello di visualizzazione. View-modello può essere qualcosa di simile, allora:
import {semanticUI} from 'semantic-ui';
import states from './states-list';
export class States {
constructor() {
this.states = states; // or load states with http-client, etc.
}
attached() {
$(this.statesSelect).dropdown().on('change', e => {
this.stateSelected = e.target.value;
});
}
}
e quindi si può rendere modello con la lista Uniti:
<template>
<p>Selected: ${stateSelected}</p>
<select ref="statesSelect" value.bind="stateSelected" class="ui search dropdown">
<option value="">State</option>
<option value="${state.code}"
model.bind="state.name"
repeat.for="state of states">${state.name}</option>
</select>
</template>
paio di note. È necessario fornire l'attributo ref
per fare riferimento a HTMLElement dal modello di visualizzazione, in questo modo non è necessario codificare i selettori CSS in VM.
Sembra che Aurelia non rilevi automaticamente il valore corretto dopo che il menu a discesa Semantica personalizzato cambia selezione. In questo caso è possibile aggiornare semplicemente il modello manualmente con l'evento onchange.
Demo:http://plnkr.co/edit/vJcR7n?p=preview
Ho scritto un blog su di creazione di elementi personalizzati per il confezionamento di quadri css qui: http://davismj.me/blog/semantic-custom-element/ –