浏览代码

Dropdown: Allow any type from items' `command` prop

Hugo 8 年之前
父节点
当前提交
fb99bc90b1
共有 2 个文件被更改,包括 10 次插入4 次删除
  1. 1 1
      packages/dropdown/src/dropdown-item.vue
  2. 9 3
      test/unit/specs/dropdown.spec.js

+ 1 - 1
packages/dropdown/src/dropdown-item.vue

@@ -19,7 +19,7 @@
     mixins: [Emitter],
 
     props: {
-      command: String,
+      command: null,
       disabled: Boolean,
       divided: Boolean
     },

+ 9 - 3
test/unit/specs/dropdown.spec.js

@@ -40,6 +40,7 @@ describe('Dropdown', () => {
     }, 400);
   });
   it('menu click', done => {
+    const myCommandObject = { name: 'CommandC' };
     vm = createVue({
       template: `
         <el-dropdown ref="dropdown">
@@ -49,12 +50,17 @@ describe('Dropdown', () => {
           <el-dropdown-menu slot="dropdown">
             <el-dropdown-item command="a">黄金糕</el-dropdown-item>
             <el-dropdown-item command="b">狮子头</el-dropdown-item>
-            <el-dropdown-item ref="commandC" command="c">螺蛳粉</el-dropdown-item>
+            <el-dropdown-item ref="commandC" :command="myCommandObject">螺蛳粉</el-dropdown-item>
             <el-dropdown-item command="d">双皮奶</el-dropdown-item>
             <el-dropdown-item command="e">蚵仔煎</el-dropdown-item>
           </el-dropdown-menu>
         </el-dropdown>
-      `
+      `,
+      data() {
+        return {
+          myCommandObject
+        };
+      }
     }, true);
     let dropdown = vm.$refs.dropdown;
     let dropdownElm = dropdown.$el;
@@ -68,7 +74,7 @@ describe('Dropdown', () => {
       vm.$refs.commandC.$el.click();
       setTimeout(_ => {
         expect(dropdown.visible).to.not.true;
-        expect(callback.calledWith('c')).to.be.true;
+        expect(callback.calledWith(myCommandObject)).to.be.true;
         destroyVM(vm);
         done();
       }, 300);