最终目标是让我的用户输入文本(通过按","或输入)变成标签,类似于屏幕截图
enter image description here

标签只是我想要实现的数据表单的一部分 .
我尝试了 AutoCompleteInline 编辑器,其中包含DataForm附带的 autoCompleteDisplayMode="tokens" . 如果我提供带有一些字符串的 valueProvider ,并且我开始输入并选择一个条目 - 它会正确变成令牌 .
但是,我想让我的用户添加新标签(例如,不是 valueProvider 中的条目成员) . 我试图在"from"属性上监听事件(验证,验证,提交,提交),但是当我输入时它们似乎没有在dataform属性上触发 - 它们只在我从valueProvider中选择 existing 项时触发 .
我的想法是以编程方式将 Token 对象(如果可能的话)附加到文本字段以响应"comma-char entered"事件 . 这是我最终结果的最佳方法,如果是,我怎样才能使它工作?

<df:RadDataForm id="dataform" source="{{ booking }}" row="0"
                        propertyCommit="onPropertyCommit"
                        propertyCommitted="onPropertyCommitted"
                        propertyValidate="onPropertyValidate"
                        propertyValidated="onPropertyValidated">

            <df:RadDataForm.properties>
                <df:EntityProperty name="from" displayName="From:" index="0" autoCompleteDisplayMode="tokens"
                                   valuesProvider="{{ fromProviders }}">

                    <df:EntityProperty.editor>
                        <df:PropertyEditor type="AutoCompleteInline"/>
                    </df:EntityProperty.editor>
                </df:EntityProperty>

                <df:EntityProperty name="to" displayName="To:" index="1" autoCompleteDisplayMode="plain"
                                   valuesProvider="New York, Washington, Los Angeles">
                    <df:EntityProperty.editor>
                        <df:PropertyEditor type="AutoCompleteInline"/>
                    </df:EntityProperty.editor>
                </df:EntityProperty>
                <df:EntityProperty name="year" displayName="year:" index="2">

                    <df:EntityProperty.editor>
                        <df:PropertyEditor type="Text"/>
                    </df:EntityProperty.editor>
                </df:EntityProperty>

            </df:RadDataForm.properties>
        </df:RadDataForm>

code behind

let page: Page;
let booking = {
    from: '',
    to:'',
    year:"2"
};
let dataform;

export function navigatingTo(args: EventData) {
    page = <Page> args.object;    
    page.bindingContext = {"booking": booking, "fromProviders": ["asd"]};

    dataform = page.getViewById<RadDataForm>("dataform");
}
export function onPropertyCommit(arg: DataFormEventData) {
    console.log("onPropertyCommit");
}
export function onPropertyCommitted(arg: DataFormEventData) {
    console.log("onPropertyCommitted");
}
export function propertyValidate(arg){
    console.log('propertyValidate')
}
export function onPropertyValidated(arg){
    console.log('propertyValidated')
}