Filters
约定:下拉菜单格式
- 项目中所有的下拉菜单均采用如下格式
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>
好处:
- 格式统一,维护成本降低
- 写 API 转换层的输出比较统一:从后端拿到下拉菜单的格式可能不统一,但前端对其的format函数输出可以统一
- 调整位置比较简单,比如下拉菜单A 和下拉菜单B 互换位置,只需要把 options 和 label 换了就可以
- handleChange 格式统一:
handleChange = (optionItem) => {}optionItem 的格式永远都是{label, value }格式统一,没有额外的记忆和学习成本