【发布时间】:2020-02-02 19:26:23
【问题描述】:
我正在尝试仅使用来自数据库的 BadgeCode 自动填充文本框,并使用依赖的下拉列表选择值。我对此很陌生。如果有人能帮助我摆脱这个问题,我将不胜感激。谢谢。
这是我的 HTML 代码
<form @submit.prevent="editMode ? updateemployee() : createemployee()">
<div class="modal-body">
<div class="form-group">
<select
name="company_id"
id="company_id"
:class="{'is-invalid':form.errors.has('company_id')}"
class="form-control"
v-model="form.company_id"
@change="getEmployeesBadgeCode()"
>
<option value selected>Select Company</option>
<option
v-for="Company in Companies.data"
:key="Company.id"
:value="Company.id"
>{{Company.Company}}</option>
</select>
<has-error :form="form" field="company_id"></has-error>
</div>
<div class="form-group">
<input
v-model="form.BadgeCode"
placeholder="Enter BadgeCode"
type="text"
name="BadgeCode"
class="form-control"
:class="{ 'is-invalid': form.errors.has('BadgeCode') }"
/>
<has-error :form="form" field="BadgeCode"></has-error>
</div>
</form>
我的@change="getEmployeesBadgeCode" 方法:
methods: {
getEmployeesBadgeCode: function() {
axios.get("api/getBadgeCode", {
params: { BadgeCode: this.form.BadgeCode}})
.then( function(response) {this.employees = response.data;}.bind(this)
);
}
路线:
Route::get('getBadgeCode','API\EmployeeController@getBadgeCode');
我的 getBadgeCode(){} 方法:
public function getBadgeCode(Request $request)
{$BadgeCode = Employee::where('BadgeCode',$request->BadgeCode)
->orderBy('BadgeCode','desc')->get(); return ['data' => $BadgeCode];
}
我在 Vue 组件中的 data():
data() {
return {
editMode: false,
selectedTicketInvoiceId: false,
Companies: {},
Nationalities: {},
employees: {},
form: new Form({id: "",BadgeCode: "",BadgeType: "",company_id: "",
nationality_id: "",lastname: "",firstname: "",telphonenumber: "",
position: "",supervisorname: "", supervisornumber: "",
issuedate: "",tazker: "", expiredate: "", serialnumber: "" })};
}
【问题讨论】:
-
你能控制台记录 response.data 并与我们分享结果吗?任何控制台错误?
-
你能这样做吗:getEmployeesBadgeCode: function() { axios.get("api/getBadgeCode", { params: { BadgeCode: this.form.BadgeCode}}) .then( function(response) {t his.employees = response.data; console.log(response.data}.bind(this) ); 所以我们可以看到你得到的响应数据。