2015-03-03 2 views
0

Я хочу расширить компонент Textarea Ember. Поэтому я создал файл drop-files-textarea.js в app/components с этим содержанием:Компонент не использует шаблон

import Ember from 'ember'; 

export default Ember.TextArea.extend({ 

// here comes the new behaviour 
}) 

Теперь я хотел бы добавить что-то это шаблон. Поэтому я создал файл с именем drop-files-textarea.js в app/templates/components с этим содержанием:

{{yield}} 
<p>added text</p> 

Этот шаблон никогда не используется, хотя. The Ember Inspector показывает мне, что он использует встроенный шаблон.

Что я делаю неправильно?

ответ

1

используется шаблон, но вы ничего не увидите, так как компонент TextArea использует тэгу: «» текстовое поле, чтобы обернуть компонент в текстовое поле элемента HTML, так что вы получите:

<textarea> 
    <p>added text</p> 
    aaaa 
</textarea> 

Вы можете для создания нового компонента с использованием компонента textarea внутри или использования свойства value для установки содержимого текстового поля в зависимости от вашего варианта использования.

Вы также можете перезаписать тэгу, но тогда вы не получите текстовую область ...

export default Ember.TextArea.extend({ 
    value: 'Content of the text area' 
}) 
+0

Спасибо за разъяснение. Как это работает: «используйте свойство value для установки содержимого текстового поля» – Hedge

+0

Я добавил пример для этого. Но, как вы видите, это ограничивает вас простой строкой. – enspandi

+0

спасибо, что это отвечает на мой вопрос. Я попытаюсь создать собственный компонент с использованием устаревшего