要在一个表单里设置一个输入组合:选择药品(使用select下拉框)+输入药品数量(input),select下拉框中的药品名信息来自下面这个接口返回的drugName "data": [ { "id": -493924350, "orderId": 64, "drugId": 1, "drugName": "999感冒灵", "drugNumber": 1 }, { "id": 1, "orderId": 64, "drugId": 2, "drugName": "云南白药", "drugNumber": 2 } ]同时这个输入组合要能够动态新增,点击新增按钮可以新增选择药品和输入药品数量,每新增一行后面都有个删除按钮,点击删除按钮可以删除这一行的组合。关于药品和下拉框中的信息zaidata中这样定义drugs: [ { key:1, id: "", drugName: "", drugNumber: "", }, ], drugOptions: [],请写出相应的代码和方法
时间: 2024-02-14 15:27:29 浏览: 133
你可以使用Vue.js来实现该表单。首先,你需要在Vue实例中定义一个data对象来存储药品和下拉框的信息。同时,你还需要定义一些方法来新增和删除药品输入组合。下面是一个示例代码:
```html
<template>
<div>
<div v-for="(drug, index) in drugs" :key="drug.key">
<select v-model="drug.drugName">
<option v-for="option in drugOptions" :value="option.drugName">{{ option.drugName }}</option>
</select>
<input type="number" v-model="drug.drugNumber">
<button @click="removeDrug(index)">删除</button>
</div>
<button @click="addDrug">新增</button>
</div>
</template>
<script>
export default {
data() {
return {
drugs: [
{
key: 1,
drugName: "",
drugNumber: ""
}
],
drugOptions: [
{
id: -493924350,
orderId: 64,
drugId: 1,
drugName: "999感冒灵",
drugNumber: 1
},
{
id: 1,
orderId: 64,
drugId: 2,
drugName: "云南白药",
drugNumber: 2
}
]
};
},
methods: {
addDrug() {
const newKey = this.drugs.length + 1;
this.drugs.push({
key: newKey,
drugName: "",
drugNumber: ""
});
},
removeDrug(index) {
this.drugs.splice(index, 1);
}
}
};
</script>
```
在上面的代码中,我们使用`v-for`指令来遍历`drugs`数组,创建药品输入组合。下拉框中的选项通过`v-for`指令从`drugOptions`数组中动态生成。新增按钮通过调用`addDrug`方法来添加新的药品输入组合,删除按钮则调用`removeDrug`方法来删除指定的药品输入组合。
请注意,上述代码只涉及前端实现,你可能需要在提交表单时处理数据并将其发送到后端进行保存。此外,你还可以根据需要对表单进行样式调整和布局优化。
阅读全文