|
@@ -113,6 +113,7 @@ describe('Select', () => {
|
|
|
<el-option
|
|
|
v-for="item in options"
|
|
|
:label="item.label"
|
|
|
+ :key="item.value"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
@@ -147,6 +148,7 @@ describe('Select', () => {
|
|
|
<el-option
|
|
|
v-for="item in options"
|
|
|
:label="item.label"
|
|
|
+ :key="item.value"
|
|
|
:value="item.value">
|
|
|
<p>{{item.label}} {{item.value}}</p>
|
|
|
</el-option>
|
|
@@ -226,6 +228,7 @@ describe('Select', () => {
|
|
|
<el-option
|
|
|
v-for="item in options"
|
|
|
:label="item.label"
|
|
|
+ :key="item.value"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
@@ -285,6 +288,44 @@ describe('Select', () => {
|
|
|
}, 100);
|
|
|
});
|
|
|
|
|
|
+ it('object typed value', done => {
|
|
|
+ vm = createVue({
|
|
|
+ template: `
|
|
|
+ <div>
|
|
|
+ <el-select v-model="value" value-key="id">
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :label="item.label"
|
|
|
+ :key="item.id"
|
|
|
+ :value="item">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ `,
|
|
|
+
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ options: [{
|
|
|
+ id: 1,
|
|
|
+ label: 'label1'
|
|
|
+ }, {
|
|
|
+ id: 2,
|
|
|
+ label: 'label2'
|
|
|
+ }],
|
|
|
+ value: {
|
|
|
+ id: 1,
|
|
|
+ label: 'label1'
|
|
|
+ }
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }, true);
|
|
|
+ setTimeout(() => {
|
|
|
+ expect(vm.$el.querySelector('.el-input__inner').value).to.equal('label1');
|
|
|
+ expect(vm.$el.querySelector('.el-select-dropdown__item').classList.contains('selected'));
|
|
|
+ done();
|
|
|
+ }, 100);
|
|
|
+ });
|
|
|
+
|
|
|
it('custom el-option template', () => {
|
|
|
vm = createVue({
|
|
|
template: `
|
|
@@ -293,6 +334,7 @@ describe('Select', () => {
|
|
|
<el-option
|
|
|
v-for="item in options"
|
|
|
:label="item.label"
|
|
|
+ :key="item.value"
|
|
|
:value="item.value">
|
|
|
<p>{{item.label}} {{item.value}}</p>
|
|
|
</el-option>
|
|
@@ -320,11 +362,13 @@ describe('Select', () => {
|
|
|
<el-select v-model="value">
|
|
|
<el-option-group
|
|
|
v-for="group in options"
|
|
|
+ :key="group.label"
|
|
|
:disabled="group.disabled"
|
|
|
:label="group.label">
|
|
|
<el-option
|
|
|
v-for="item in group.options"
|
|
|
:label="item.label"
|
|
|
+ :key="item.value"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-option-group>
|
|
@@ -416,6 +460,7 @@ describe('Select', () => {
|
|
|
<el-option
|
|
|
v-for="item in options"
|
|
|
:label="item"
|
|
|
+ :key="item.value"
|
|
|
:value="item"
|
|
|
/>
|
|
|
</el-select>
|
|
@@ -504,6 +549,7 @@ describe('Select', () => {
|
|
|
<el-option
|
|
|
v-for="item in options"
|
|
|
:label="item.label"
|
|
|
+ :key="item.value"
|
|
|
:value="item.value">
|
|
|
<p>{{item.label}} {{item.value}}</p>
|
|
|
</el-option>
|