javascript - 在苗条中选择元素占位符?
问题描述
我正在尝试为 select 元素添加一个占位符,当我为第一个选项添加属性时,我看到selected
的只是一个空白区域。
<select>
{#if placeholder}
<option value="" disabled selected>{placeholder}</option>
{/if}
{#each options as option}
<option value={option.value}>
{option.label || option.text}
</option>
{/each}
</select>
解决方案
选择的初始值与占位符的空字符串不同,这就是默认不选择的原因。确保在初始化时将选择值绑定到与占位符匹配的变量,如下所示:
<script>
let placeholder = 'hello world';
let options = [{
label: "Option 1",
value: "option1"
}, {
label: "Option 2",
value: "option2"
}, {
label: "Option 3",
value: "option3"
}];
let selectedValue = "";
</script>
<select bind:value={selectedValue}>
{#if placeholder}
<option value="" disabled selected>{placeholder}</option>
{/if}
{#each options as option}
<option value={option.value}>
{option.label || option.text}
</option>
{/each}
</select>
工作 REPL:https ://svelte.dev/repl/e1c7d9b804414f2d888b96b3e812a5c7?version=3.43.0
推荐阅读
- php - Codeigniter 模型自动加载不适用于 MY_Loader 类
- ruby - 命名和调用 Procs 是否有特殊规则?
- css - CSS 旋转在 div 周围创建不需要的边框
- python - 当我运行 Google AIY 程序时出现错误
- php - 查找具有重复键值的元素并使用 PHP 添加新键
- ruby-on-rails - 如何在 ruby on rails 应用程序中添加 404 错误页面?
- vue.js - 使用Webpack在Vue SFC组件中导入SCSS文件而不重复
- android - Asynctask 未使用 AsyncTask.SERIAL_EXECUTOR 串行执行
- dart - 在底部工作表中点击项目时显示小吃栏
- django - django:模型的@property 函数的测试用例