[组件库][交互] 统一下拉框option-数据结构

58 阅读1分钟

Filters

约定:下拉菜单格式

image

  1. 项目中所有的下拉菜单均采用如下格式
const options = [
  {
    label: string,
    value:
  },
  {
    label: string,
    value:
  },
]

<v-select
    :options="options"
    label="姓名"
    item-text="label" // option.label   在 getValueByPath 中用到
    item-value="value" //  option.value 在 getValueByPath 中用到
 /v-select>

好处:

  1. 格式统一,维护成本降低
  2. 写 API 转换层的输出比较统一:从后端拿到下拉菜单的格式可能不统一,但前端对其的format函数输出可以统一
  3. 调整位置比较简单,比如下拉菜单A 和下拉菜单B 互换位置,只需要把 options 和 label 换了就可以
  4. handleChange 格式统一:handleChange = (optionItem) => {} optionItem 的格式永远都是{label, value } 格式统一,没有额外的记忆和学习成本