2015-02-03 7 views
5

Czy istnieje sposób określenia pomocnika opcji w schemacie? Próbowałem:Autoformowanie: czy mogę określić pomocnika opcji w schemacie?

Schema

{ 
    favoriteColor: { 
    type: String, 
    autoform: { 
     options: "colorOptions" 
    } 
    } 
} 

Ale to nie wydają się działać.

Poniższa technika działa poprawnie wyświetlać select z opcji w postaci:

Schema

{ 
    favoriteColor: { 
    type: String 
    } 
} 

Helper

Template.myFormTemplate.helpers({ 
    colorOptions: function() { 
    return Colors.find().map(function (c) { 
     return {label: c.name, value: c._id}; 
    }); 
    } 
}); 

Szablon

{{> afQuickField name="favoriteColor" options=colorOptions}} 

W moim rzeczywistym schemacie mam tablicę obiektów, aw każdym obiekcie muszę wybrać element z innej kolekcji. Kiedy używasz afArrayField, nie możesz już ustawiać opcji w szablonie, tak jak to zrobiłem w powyższym szablonie (ponieważ jest to tablica obiektów, a jeden element w obiekcie mógłby odsyłać pomocnika).

Czy mogę tylko zapytać bazę danych podczas definiowania schematu? To chyba sprawi, że nie będzie reaktywny, prawda?

Odpowiedz

5
{ 
    favoriteColor: { 
    type: String, 
    autoform: { 
     options: function() { 
    return Colors.find().map(function (c) { 
     return {label: c.name, value: c._id}; 
    }); 
    } 
    } 
    } 
} 

Wstawienie funkcji pomocnika bezpośrednio do schematu będzie działać. Robię coś podobnego i jest reaktywna.

+0

Używam również tej funkcji, ale moje opcje nie są wyświetlane. Rejestrowanie tej samej funkcji w konsoli po moim schemacie pokazuje wartości, których oczekuję od bazy danych. Myśli? –

+0

@RandyHall upewnij się, że subskrybujesz dane, które pobierasz dla opcji. – Wes

Powiązane problemy