微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Bootstrap Vue:如何呈现字符串数组的自定义文本字段?

如何解决Bootstrap Vue:如何呈现字符串数组的自定义文本字段?

我正在为日期数组渲染一个复选框组。目前,一切正常,但是我想格式化呈现的文本。

<b-form-checkBox-group
    id="checkBox-group-1"
    v-model="my_dates"
    :options="options"
    name="flavour-1"
    :text-field="formattedDate(date)"
    stacked>
</b-form-checkBox-group>

每个复选框的标签2020-09-08

我想做的是让每个复选框呈现如下内容Friday,September 8th,2020

以下是我的.vue文件的示例:

// later...

data: {
    options: ['2020-09-08','2020-09-10']
},methods:{
    formattedDate(date) {
        return moment(date).format('dddd,MMMM Do,YYYY');
    },}

如何以人类友好的方式设置文本格式?谢谢您的任何建议!

解决方法

默认情况下,复选框组件使用valuetext属性(如果存在),仅使用纯字符串。

请参见https://bootstrap-vue.org/docs/components/form-checkbox#checkbox-group-options-array

您可以做的是构造一个计算属性以反映这一点

computed: {
  formattedOptions: ({ options }) => options.map(value => ({
    value,text: moment(date).format('dddd,MMMM Do,YYYY')
  })
}

然后在options道具中使用它

<b-form-checkbox-group
  id="checkbox-group-1"
  v-model="my_dates"
  :options="formattedOptions"
  name="flavour-1"
  stacked
></b-form-checkbox-group>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。