javascript - 如何将所选选项与 Svelte 中的属性绑定
问题描述
我有一个苗条的组件,我想将选定的输入与声明的属性连接起来。我的问题是所选状态值与“航班计划”中声明的属性“状态”的绑定不起作用。
选项来自属性问题:准时,延迟,取消有人可以帮我吗?
这是我的代码(它是创建表单的组件,例如创建航班计划):
<script>
import axios from "axios";
import { onMount } from "svelte";
export let params = {};
let flightschedule = {
timeofdeparture: "",
flightnumber: "",
gatenumber: "",
status: "",
privatejetline_id: null,
};
let questions = [
{ text: "on-time" },
{ text: "delayed" },
{ text: "cancelled" },
];
let selected;
let privatejetline_ids = [];
onMount(() => {
getPrivateJetLineIds();
selected = params.status;
});
function getPrivateJetLineIds() {
axios
.get("http://localhost:8080/flights/privatejetline")
.then((response) => {
privatejetline_ids = [];
for (let privatejetline of response.data) {
privatejetline_ids.push(privatejetline.id);
}
flightschedule.privatejetline_id = privatejetline_ids[0];
});
}
function addFlightSchedule() {
axios
.post("http://localhost:8080/flights/flightschedule", flightschedule)
.then((response) => {
alert("Flight Schedule added");
console.log(response.data);
})
.catch((error) => {
console.log(error);
alert(error);
});
}
</script>
<div class="mb-3">
<label for="" class="form-label">Status</label>
<select bind:value={flightschedule.status} class="from-select">
<option value="" disabled>-- Select Status --</option>
{#each questions as question}
<option value={selected} selected={selected===flightschedule.status}>{question.text}</option>
{/each}
</select>
</div>
解决方案
实际上,不需要selected
变量,只需绑定flightschedule.status
. 尝试在 REPL 中关注。
<script>
let flightschedule = {
timeofdeparture: "",
flightnumber: "",
gatenumber: "",
status: "",
privatejetline_id: null,
};
let questions = [
{ text: "on-time" },
{ text: "delayed" },
{ text: "cancelled" },
];
$: console.log('---->', flightschedule.status)
</script>
<div class="mb-3">
<label for="" class="form-label">Status</label>
<select bind:value={flightschedule.status} class="from-select">
<option value="" disabled>-- Select Status --</option>
{#each questions as question}
<option value={question.text}>{question.text}</option>
{/each}
</select>
</div>
推荐阅读
- php - 运行自定义帖子类型的查询时,为什么“>”会在 wordpress 中关闭我的 php 查询?
- excel - 如何根据百分比对学生的排名进行排名
- python - 以编程方式递归查找所有正在使用的函数
- google-colaboratory - 在 Google Colaboratory 机器上打开端口
- docker-compose - 我将springboot jar文件构建到镜像中,但是当我运行它时,我无法连接mysql
- azure - azure - 使用 DB 自动缩放 VM
- javascript - 如何在 vuetify 和 typescript 中以编程方式聚焦 v-textarea?
- jquery - 在表格视图 ASP.NET MVC 中显示从 AJAX 请求到控制器的动态数据
- python - 将置信区间计算为分位数
- python - DataFrame detect when one column becomes bigger than another