gpt4 book ai didi

javascript - Aurelia-dialog 在自定义元素上使用附加焦点

转载 作者:行者123 更新时间:2023-12-03 05:37:41 27 4
gpt4 key购买 nike

我正在尝试将 attach-focus="true" 传递给自定义元素的内部元素之一,以便在 aurelia-dialog 打开时正确的元素将获得焦点。

自定义元素:enum-list.html

<template>
<label class="control-label">${label} DEBUG: ${attach-focus}</label>
<select class="form-control" value.bind="value" attach-focus.bind="attach-focus">
<option if.bind="data" repeat.for="code of data | keys" value="${code}">${data[code]}</option>
</select>
</template>

自定义元素:enum-list.js

import { bindable, bindingMode } from 'aurelia-framework';
export class EnumListCustomElement {
@bindable label;
@bindable data;
@bindable attach-focus; // <-- Maybe the source of the error?
@bindable({ defaultBindingMode: bindingMode.twoWay }) value;
}

对话框模板:edit-locale.html:

<template>
<ai-dialog>
<ai-dialog-header class="modal-header modal-header-success">
<h4 class="modal-title">Edit Locale</h4>
</ai-dialog-header>
<ai-dialog-body>
<form>
<enum-list attach-focus="true" label="Language" data.bind="core.enums.SystemLanguage" value.bind="sch_lang"></enum-list>
<enum-list label="Currency" data.bind="core.enums.CurrencyCode" value.bind="sch_currency"></enum-list>
</form>
</ai-dialog-body>
<ai-dialog-footer>
<button type="button" click.trigger="dialogController.cancel()">Cancel</button>
<button type="button" click.delegate="dialogController.ok()">Save</button>
</ai-dialog-footer>
</ai-dialog>
</template>

实例化(来 self 的 VM js):

this.dialogService.open({ viewModel: EditLocale, model: this.record, lock: true }).then(response => {

如果我从 edit-locale.js 和自定义元素内部的 Attach-focus 中删除破折号,模式对话框会正常加载。但使用破折号时,我收到错误:Uncaught SyntaxError: Unexpected token import。我认为破折号有干扰,但我不知道如何解决它。

我的偏好是修复它,以便自定义控件的实例化具有标准参数 attach-focus="true" (带有破折号),以便它与 INPUT 和 INPUT 等普通元素保持一致选择。

最佳答案

您对错误来源的看法是正确的,您不能有 property-name包含破折号。因为它读作 property - name

aurelia 中有一个约定( link to docs ,搜索破折号大小写),将属性和元素名称从破折号表示法映射到驼峰式表示法,因此,如果在您的模型中,您将可绑定(bind)属性命名为 @bindable attachFocus - 您将能够在 View 中使用它作为attach-focus.bind =“true”。

还要确保您<require>您的 View 中的自定义元素/属性或在配置 aurelia 时使它们全局可用。

关于javascript - Aurelia-dialog 在自定义元素上使用附加焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40662613/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com