javascript - 先自动选择
问题描述
解决方案
在关于如何在异步加载时选择第一个选项的评论中回答更新的问题。加载数据后,将 的值设置为Form
选项数组中的第一项(克隆以避免改变它),而不是手动操作输入 DOM。
例如:
<select v-model="Form.ProductID" id="ProductID" name="ProductID" v-if="options">
<option v-for="option in options" :key="option.ProductID" :value="option.ProductID">
{{ option.ProductID }}
</option>
</select>
setup() {
const options = ref(null);
const Form = ref(null);
axios.get('...').then(response => {
options.value = response.data;
Form.value = { ...options.value[0] }; // Clone and select first option
});
return { options, Form }
}
有一个延迟它v-if
的<select>
渲染,直到数据准备好。
这是一个演示:
const { createApp, ref } = Vue;
const app = createApp({
setup() {
const options = ref(null);
const Form = ref(null);
axios.get('https://jsonplaceholder.typicode.com/posts').then(response => {
options.value = response.data;
Form.value = { ...options.value[0] }; // Clone and select first option
});
return { options, Form }
}
});
app.mount("#app");
<div id="app">
<select v-model="Form.id" id="ProductID" name="ProductID" v-if="options">
<option v-for="option in options" :key="option.id" :value="option.id">
{{ option.id }}
</option>
</select>
</div>
<script src="https://unpkg.com/vue@next"></script>
<script src="https://unpkg.com/axios"></script>
推荐阅读
- node-fhir-server-core - 如何在具有本地存储的 Web 应用程序中使用 node-fhir-server-core?
- asp.net-mvc - IIS Express 不会在 Visual Studio 2019 中重新启动
- javascript - 如何在javascript中使用chaspaymentech加密
- android - 在 Fragment 上实现为构造函数参数
- jquery - 将 json 文件中的数据加载到引导表中
- apache-flink - Flink Kinesis 连接器未满负荷使用来自 Kinesis Data Streams 的消息
- javascript - 有没有办法以对象格式查看/记录 javascript 函数?
- c++ - 使用 SDL_CreateTextureFromSurface() 时程序崩溃
- c++ - cvCeil() 比标准库快吗?
- sql-server - 在表值函数中将参数传递给 OpenQuery 中的查询?