Перенос значений перечисления из модели в компонент - PullRequest
0 голосов
/ 19 января 2020

Я пытаюсь получить значение из модели enum, но не знаю, как это сделать: / Я трачу много времени на это, но все же не могу решить эту проблему.

Код моей модели:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const taskSchema = new Schema ({
  title: {
    type: String,
    required: true,
  },
  priority: {
    type: String,
    enum: ['low', 'medium', 'height'],
    default: 'low',
  },
  progress: {
    type: String,
    enum: ['0%', '10%', '20%', '30%', '40%', '50%', '60%', '70%', '80%', '90%', '100%'],
    default: '0%',
  },
});

module.exports = mongoose.model('Task', taskSchema);

Мой компонент:

<select
 :value="task.priority">
 <option :value="task.priority" disabled>{{task.priority}}</option>
 <option value="low">Low</option>
 <option value="medium">Medium</option>
 <option value="height">Height</option>
</select>

Script:
export default {
  props: {
    task: {
      type: Object,
      required: true,
      priority: ['low', 'medium', 'height']
    },
  }
}

Я попробовал что-то подобное, но я хочу иметь только одну опцию где я выбираю значения .. например, у меня есть «среднее» значение в «проекте / задаче или других», и я открываю его для редактирования, поэтому у меня будут дубликаты «средних» значений, потому что во время создания я выбираю «средний».

Я пытался использовать директиву v-for для задачи, но я не получил никаких результатов.

1 Ответ

0 голосов
/ 19 января 2020

Вы не можете установить :value="task.priority", потому что task.priority - это массив. Вы должны выбрать одно из значений (низкое, среднее или высокое). Вот как я работаю с select:

<select name="name" class="form-control" v-model="field">
    <option v-for="option in param.options" :value="option.value">{{$t(option.option)}}</option>
</select>

Как вы можете видеть, я сохраняю значение моего select в field свойстве data. Также вы можете проверить документы о работе с select https://vuejs.org/v2/guide/forms.html#Select.

...