javascript - 如何根据vue js选择的另一个选择选项更改选择选项
问题描述
我想使用它,但在 Vue Version 中制作它时遇到了麻烦。我已经在 Vuejs.org 阅读了 Vue 的纪录片,但这并不能帮助我将此脚本迁移到 vue 版本
结构 HTML
<select id="type">
<option value="item1">item1</option>
<option value="item2">item2</option>
<option value="item3">item3</option>
</select>
<select id="size">
<option value="">-- select one -- </option>
</select>
JS
$(document).ready(function() {
$("#type").change(function() {
var val = $(this).val();
if (val == "item1") {
$("#size").html("<option value='test'>item1: test 1</option><option value='test2'>item1: test 2</option>");
} else if (val == "item2") {
$("#size").html("<option value='test'>item2: test 1</option><option value='test2'>item2: test 2</option>");
} else if (val == "item3") {
$("#size").html("<option value='test'>item3: test 1</option><option value='test2'>item3: test 2</option>");
}
});
});
解决方案
这是一个如何做的例子:https ://codepen.io/antoniandre/pen/OJJQMGN?editors=1010
JS
new Vue({
el: '#app',
data: () => ({
selection1: null,
optionsList: ''
}),
methods: {
changeSelect2 () {
switch (this.selection1) {
case 'item1':
this.optionsList = '<option value="test">item1: test 1</option><option value="test2">item1: test 2</option>'
break;
case 'item2':
this.optionsList = '<option value="test">item2: test 1</option><option value="test2">item2: test 2</option>'
break;
case 'item3':
this.optionsList = '<option value="test">item3: test 1</option><option value="test2">item3: test 2</option>'
break;
}
}
}
})
HTML
<div id="app">
<select @change="changeSelect2" v-model="selection1">
<option value="item1">item1</option>
<option value="item2">item2</option>
<option value="item3">item3</option>
</select>
<select v-html="optionsList"></select>
</div>
但这肯定不是最干净的方法,我只是按原样转换了您的示例。为了使它更好,这些选项可能应该在一个列表中。
以下是一些入门和理解的教程:
- 包含 Vue 库
- 永远不要操纵 DOM(除非别无选择),Vue 是数据驱动的
- 监听 DOM 元素上的 DOM 事件
@eventName
- 把你的函数放在
methods
里面,你的varsdata
总是这样 - 该
v-model
属性是一种两种绑定,并在选择列表选定选项更改时触发要自动更改的变量,这称为“反应性”。 - 如果您只想保留其文本值而不是 HTML,请将您的变量放在 HTML 内
v-html
的 HTML 或小胡子中。{{ }}
- 遵循一些教程
推荐阅读
- javascript - 如何在模态中传递参数 id?
- c# - 如何在 C# 中将 Json 数组转换为字符串数组
- powershell - Powershell - 附加文件名,查找和替换,输出到目录
- java - 程序因 insertData 上的“D/ADB_SERVICES:因为 is_eof=1 而关闭”而崩溃
- php - 在 PHP 7 中对关联数组进行排序
- java - Java - 随机团队与列表中的数字
- time-series - 时间序列数据库中的指标
- android - 删除项目后仍存在于回收视图中
- regex - 在 bash 中使用正则表达式重命名文件
- javascript - 理解匿名函数在javascript代码中的作用