这个vue.js的下拉选择框能否优化一下?

demo在这里:https://jsfiddle.net/m6gb0yzg/
问题:

1、js代码options的数据结构是数组里面每个元素都是对象,能否直接用字符串表示,即像这样:

//如果数据这样表示,html需要怎么做修改?
options1: ['男','女','男女不限'],
options2: ['篮球','足球','羽毛球']

2、js代码methods中的方法是每个对应的,能否只写一个来通用?即:

//能否不用fillIn1、fillIn2单独对应来写,只需一个通用的
fillIn: function (item) {
                //...
            }
阅读 3.1k
1 个回答

修改后的代码
[{'message': 'some str'}]修改成['some str'],对于遍历数据都是一样的(拿到的都是item),前者遍历出来是一个对象(需要按照对象取值的方式获取),后者直接是一个字符串,所以{{item.message}}直接就换成{{item}}

方法要做的事情都是一致的,就是把当前选择的元素的值赋值到文本框中,所以方法可以公用。也是你提到的使用能不能使用公共方法fillIn,我是用js获取当前事件对象,然后通过当前事件作用元素的位置找到文本框,然后获取当前元素注册的item,然后赋值就行了(只是我的一个思路,供参考)。

代码参考上面的jsfiddle

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题