ember.js 在使用数据表列的计算函数中使用Ember Controller中的Moment.js

bvpmtnay  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(166)

我想知道是否可以将日期格式MM-DD-YYYY应用于Ember路由的控制器内的数据表列数组的valuePath
我的controller.js

columns: computed(function() {
    return A([{
            valuePath: 'firstName',
            label: get(this, 'i18n').t('page.firstName'),
            cellClassNames: 'cell-valign-middle',
            sortable: true,
        }, {
            valuePath: "lastName",
            label: get(this, 'i18n').t('page.lastName'),
            cellClassNames: 'cell-valign-middle',
            sortable: true,
        }, {
            valuePath: "dateOfBirth",
            label: get(this, 'i18n').t('page.dateOfBirth'),
            cellClassNames: 'cell-valign-middle',
            sortable: false,
        },
    ]);
}),

template.hbs

{{#data-table 
  columns=columns 
  models=model 
  sort=sort 
  isLoading=isLoadingModels 
  responsive=true}}
{{/data-table}}

我的目标是使用moment.jsdateOfBirthvaluePath转换为MMDDYYYY的日期格式。
我试过moment("dateOfBirth").format("MMDDYYYY"),但没有成功。

o8x7eapl

o8x7eapl1#

理想情况下,在每一列的配置中都有一个'format'属性,这样就可以定义一个format方法。
另一种方法是由于表将查询模型的属性'valuePath',您可以在模型中直接计算以返回格式化的日期。

  • 模型/用户.js*
formatted: Ember.computed('dateOfBirth', function () {
    const dateOfBirth = this.get('dateOfBirth');
    return moment(dateOfBirth).format('MMDDYYYY')
  })

我不确定你使用的是哪一个表格插件。如果你能在这里发布它,我可以深入了解更多文档。

相关问题