1

**在此处输入图片描述** 我可以知道如何禁用除步骤 2,3 和 4 之外的复选框的其余部分吗?这些复选框是来自复选框组件的链接。我将复选框组件链接到列propertyName:“active”的路由中。下面是部分路由代码。

export default Route.extend({
    model() {
        let results = {
            workflow: {
                columns: [
                    {
                        "propertyName": "step",
                        "title": "Step",
                        editable: false
                    },
                    {
                        "propertyName": "workflowName",
                        "title": "Workflow Name",
                    },
                    {
                        "propertyName": "preferredName",
                        "title": "Your Company Preferred Name",
                    },
                    {
                        "propertyName": "active",
                        "title": "Active",
                        component: "adk-workflow-select-row",
                        editable: false
                    },
                    {
                        title: "Edit",
                        component: "edit-row",
                        editable: false
                    }],
                rows: [
                    {
                        step: '0',
                        workflowName: 'New',
                        preferredName: '新',
                    },
                    {
                        step: '1',
                        workflowName: 'Budget Approval',
                        preferredName: '预算批准',
                    },
                    {
                        step: '2',
                        workflowName: 'Creative',
                        preferredName: '创作的',
                    },
                    {
                        step: '3',
                        workflowName: 'Visualize',
                        preferredName: '想象',
                    },
                    {
                        step: '4',
                        workflowName: 'Implementation',
                        preferredName: '履行',
                    },
                    {
                        step: '5',
                        workflowName: 'In Play',
                        preferredName: '活性',
                    },
                    {
                        step: '6',
                        workflowName: 'Completed',
                        preferredName: '已完成',
                    },
                    {
                        step: '7',
                        workflowName: 'Canceled',
                        preferredName: '取消',
                    },
                ]
            },

这是作为复选框组件的 adk-workflow-select-row。下面的代码是我如何呈现复选框。这将启用所有复选框。但我只需要启用步骤 2,3 和 4 复选框。

{{#paper-checkbox value=isSelected onChange=(action "clickOnRow" index record)}}{{/paper-checkbox}}
4

1 回答 1

1

您的问题有点难以回答,因为您没有显示相关的模板代码。

通常,您以某种方式在模板中调用您的复选框,您可以将其包装在{{#if. 您的代码非常通用,但我猜这可能在您的edit-row组件中。所以像这样:

{{#if some condition}}
  {{#paper-checkbox value=isSelected onChange=(action "clickOnRow" index record)}}{{/paper-checkbox}}
{{/if}}

现在重要的问题是使用什么条件。这取决于你到底想要什么。你想如何配置它?你想保持一个全局数组以某种方式说明哪些步骤在你的复选框中有这样的复选框rows吗?

{
  step: '2',
  workflowName: 'Creative',
  preferredName: '创作的',
  showCheckbox: true,
},

根据这一点,你想要的可能是这样的:

{{#if record.showCheckbox}}
  {{#paper-checkbox value=isSelected onChange=(action "clickOnRow" index record)}}{{/paper-checkbox}}
{{/if}}

通常,如果您是 ember 新手,我强烈建议您首先尝试了解事情在不太通用的情况下是如何工作的。像您这样的通用解决方案可能很棒,但很快就会变得非常复杂。

于 2019-11-26T22:55:31.660 回答